Monthly update, September 2025
These monthly updates may be a bit technical. They’re written for my future self (to remember how I spent the month and to motivate me to do at least something remotely interesting), for friends and colleagues (past and future) to give them an idea of what I’m working on, and, of course, for potential clients of my C++ freelance business and fellow software developers.
The picture shows my workspace.
Projects
NextApp
NextApp is a GTD/productivity application for desktop and mobile.
The work in October was primarely aimed at releasing Beta III, which I released.
Crash in Android
NextApp crashed in Andriod if I built it with Qt 6.9.3 or 6.10. The crash happend just after the main() function handed it's thread over to Qt. It happened because Qt in 6.9.3 started to fetch the intent that started the app, and used it without checking for a null value. My app overrides Qt's QtActivity Java class, and also checks the intent that starts the app. Unfortunately it destroyed it when it was done. So my bad for destroying the intent. Still, Qt should not use objects it fetches without checking for null. This error was hard to track down because I had to debug it on a real phone, and the error was in a quite popular function (it turned out) that calls from C++ to Java. I spent hours in the debugger before I nailed down the root cause.
Moved Flatpak build from GitHub to Jenins locally
First I tried to use the kde runtime for Flatpak. This is the recommended solution for QT apps. However, my app used some Qt stuff that is not available in the kde pack, including Qt's gRPC. I spend several days trying to bult the missing packages by the flatpak builer, but it was not doable. At least not with my current understanding of the builder.
Then I swithed to the general runtime for Flatpak and make a 2 step build where I first build nextapp for linux using statically linked Qt with vcpkg, and then a flatpak using that binary. That worked, but it took some iterations to make it work in Jenkins, and each iteration took from 8 minutes to several hours.
Fixed mac build
I fixed the mac build so signing is done properly. I still don't "notify" the binary, but I don't plan to do that unless I add it to the appstore.
I also added a build of x64 binary for mac to Jenkins, using my aging MacBook Pro. The Arm build remains on GitHub.
Qt 6.10 update
Finally I updated the code to work with Qt 9.10. That was a pleasent surprise. Almost no issues atrall. Currently the Android and Windows build use Qt 6.10 while macOS and Linux use Qt 6.9 - which was the latest version supported by vcpkg at the time of the release.
Vibe Coding an Andriod app
It took more than 2 years to get NextApp to a good state. It's a pretty advanced app, using C++ and Qt, and running on multiple devices with automatic synchronization. The business logic is complex, and the app has rich functionality.
It took me 10 days to
Freelancing
I have put my freelancing on hold for a long time. First, I needed to recover from a pretty damaging burnout. Then I decided to get NextApp into a state where it’s generally usable before I start looking for something new. I turned down a handful of potential clients in the last year.
I have been talking about NextApp to friends and colleagues for a decade, and I don’t want to be that guy who is all talk and no results. I talked a lot about DarkSpeak too, but eventually I decided to put it on hold. It’s just too dangerous to release something like that while living in a Western country. The arrest of Pavel Durov in France proved my concerns right. But there is nothing controversial about NextApp, so I wanted to see it all the way through.
Now I need to create some income again. If you know someone looking for an experienced and quite passionate C++ freelancer, please get in touch!