Development Recap (2026)
This entry is a continuation of Development Recap (2025). The information in this recap is mainly from the Discord community and from the Play Store publishing history.
10.03.2026
I shared the first small redesign of Damier on Discord:

12.03.2026
I have been working on some streak logic, but it did not work correctly. Streaks on the current day somehow were only updated once a second check-in was performed, even though it should have been calculated on the first check-in.

20.03.2026
This issue happened to me because I launched a new coroutine every time an activity was selected. The old coroutine was not canceled automatically, however. Assigning the coroutine to a Job and canceling that job before reassigning it fixed the issue completely.
07.04.2026
The first alpha version of Damier was published on the Google Play Store. This marked the start of Damier's testing journey.
08.04.2026
A new version of Damier was published on the alpha track. It only contained some minor bug fixes.
11.04.2026
In this release of Damier, I finally added full German localization. The language of the app followed the system's language automatically and was not overridable.
Also, I added a dialog to the activity details screen when checking in. This was planned from the very beginning, but I actually forgot to add it.
14.04.2026
In this release, I fixed an issue with the theming of the check-in dialog when the reference type was set to "Limit".
21.04.2026
I was playing with a widget. I initially planned to create a small waffle-board on the widget, with the name of the activity on the other half of the widget.

It did not work out the way I wanted it to.
24.04.2026
I finished the widget design. I went for a much simpler design, without the waffle-board.

25.04.2026
As you can see, the widget is still not working perfectly. The widget state is simply set to "no activity selected" on check-in sometimes. I fixed the issue later.
I also made clicking anywhere else on the widget open the details page for the selected activity.
30.04.2026
The update released on that day finally brought the home screen widgets. I configured the widgets so that they would realistically update automatically about once an hour, or immediately on check-in through the widget. With this update, I also released statistics for the app. I am still planning to extend the support for statistics to show more information about consistency, for example.
Later that day, several smaller updates followed to fix the text color for the charts, add a title to the statistics dialog, and fix a data integrity issue caused by a Room database update.
07.05.2026
I bought some NFC tags and figured that it would be a nice idea to add the feature to check in through scanning NFC tags. Android resolves NFC tags internally, and any app can tell the system to open itself through deep links. Using this, I released an update that allows users to simply write to an NFC tag. Tapping the tag would automatically check in to the specified activity.
The update also fixed a bug that I had overlooked. The app would crash when started for the first time because the database migration schema contained a field that no longer existed, so it could not run the migration and would instantly crash.
08.05.2026
I had somehow overlooked another issue, so the migration had to be fixed again, this time for good.
10.05.2026
This update lowered the minimum Android version requirement to Android 8 (Oreo). It also added a check-in button to the activity details page for devices where the screen is not high enough to display the bottom bar button. Previously, there was no way to check in to an activity on the details screen for these devices. I also made the statistics dialog scrollable for smaller devices and added a "Cancel" button to the NFC write dialog. Additionally, I added logic so the widget would restore its state after a device reboot.
Later that day, I released another update that brought visual and usability improvements to Damier, including a small legend to indicate the frequency levels and make it easier to interpret your check-in history at a glance. I also refined the streak dialog a little, so it would correctly use singular and plural forms. NFC writing was also improved and now allowed multiple NFC tags to be connected to a single activity (though without a clear indication of how many tags had been connected; a list of connected tags came in a later update).
12.05.2026
In this update, I added onboarding to Damier that would show on the first launch.
13.05.2026

I figured that the layout for adding and editing activities was extremely cluttered, so I started redesigning it.

Instead of using a drop-down menu, I started using a bottom sheet with navigation buttons for the unit groups. This version was a bit strange, though: I hadn't noticed that the unit name ended up more or less centered between the radio button and the unit.

This version of the design fixed that.

And the overhaul made the screen look less cluttered. This redesign also introduced the stepper for changing amount, goal, and limits.
14.05.2026
The redesign went live on Google Play. In addition to the redesign from the 13th of May, an update later that day made menus and forms open as a bottom sheet instead of a pop-up dialog, which felt more native. The stepper was now also used in the check-in dialog, and when writing NFC tags, the writing dialog would automatically close afterward.
19.05.2026
In this update, the redesigned date and time pickers went live, and a loading indicator was added to the home screen widgets while activity data was being fetched, instead of appearing empty.
23.05.2026
After more than two weeks of testing and almost two years of development, Damier was finally able to go live on the Google Play Store for the broader public. Internal testing was finished, and one last update for testing was released. This update only included some UI tweaks and the option to skip onboarding.
24.05.2026
I released the first publicly available version of Damier. It also fixed two bugs: the onboarding screen not showing up correctly on the first launch, and creating or editing activities no longer working due to a bug in the saving system.
26.05.2026
When Google added support for setting the target SDK version to Android 17, I did that and tested everything. In May, Google released a Google Play System update that broke the NFC feature because of changes made to apps targeting Android 17. After two days of thorough debugging, I finally was able to pinpoint the issue and fix it. I only found out about this through Claude, who suggested that I read the NFC basics documentation again.
You can read more about this story in this blog entry.
03.06.2026
To fix the NFC dispatch issue, I released an update on that date.
20.06.2026
Starting on that date, backups from Damier 1.0.x were no longer valid, due to an issue with the backup and import system. I made some compatibility adjustments, and all backups should work for future releases too.
24.06.2026
Since I had bumped the database version, Room tried to migrate from the old version to the new one, but there was no migration path for it. This adjustment was necessary because the backup and import logic relies on the database version to detect how to import the data. By adding a migration that does nothing, the issue was resolved.
25.06.2026
I added an update history into the app. It's a changelog for those who are interested in reading about past changes and milestones. I also re-added the logic for showing the longest streaks and added the feature to undo check-ins via a snackbar. Damier now also supports changing the language independently of the system language, and I switched the app over to Tabler Icons.