Weekly Indie Log #4
Already the fourth issue of my weekly log where I try to summarise my journey while trying to build a profitable app business.
Let's get started with the good news this week: I reached the awesome milestone of having over 2000 active subscribers. Never would have imagined that 2000 people actively decided to pay me a monthly fee for using one of my apps. Still insane to me and I'm very happy and grateful for this. To everyone reading this: Thanks for supporting me on my journey!
Meeting the PowerSync Team
The week started with a nice dialogue with the PowerSync team. They asked me to provide early feedback to their product and I hope that I could help with describing my use case. Our conversation not only boosted my confidence in integrating their technology into my apps but also got me pretty excited about the release of version 1.0. All in all, a very nice talk and I'm really rooting for them!
Development of HabitKit 1.6.0
I wish I could say that I got a lot of tasks done, but the reality is that I couldn't find the time to make lots of progress this week. Nevertheless, here are a couple of things I got done:
Because a lot of things changed about the underlying data structure of the app (migrated from Isar to Sqlite), I had to write a little migration script for the user settings (theme selection, various display options, ...). While the scripting was straightforward, the actual testing led to a lot of cycles consisting of "uninstall, reinstall old version, tweak user settings, upgrade to the new version, and verify user settings" - repetitive but also necessary to ensure a smooth transition for users.
Deployed the first TestFlight version of this update and tested it for the first time on a real device. My database migration scripts worked fine but I still have to resolve some weird performance issues that suddenly appeared. I'm pretty sure that it's not about the database and need to do some more debugging. I'm sure it's because I render some widgets (especially the consistency graph) too often.
Already found some performance issues regarding a global state object (I'm using Bloc by the way) which caused the complete app to re-render. Fixed it by removing some unnecessary properties and putting them in their state object.
Testing the initial synchronization
Finally found the time to record a video of testing the initial synchronisation (for example when a user switches his phone and logs in to the app for the first time an expects his data to be synced):
Works pretty good and fast! I'm happy with the PowerSync + Supabase setup so far.
Cool new tool: Bezel
Found a cool new tool on Twitter/X: Bezel allows you to plug your iPhone into your MacBook and mirror your phone's screen to your desktop. This could come in handy for recording my apps (because running the app on the simulator in debug mode always feels a little bit laggy). Instantly bought a license (pretty cheap right now because of the launch deal) and I'm excited to try it out in the future.
That's it for this week! See you next Sunday 🙂🚀