Patrik
Wise words of the week
“I have not failed. I’ve just found 10'000 ways that won’t work.” (Thomas Edison)
Journal
Although I really enjoy this project, two things give me nightmares. The first issue is a computational mistake that could damage my reputation, the second is data corruption. Let’s talk about the second one. Because the project is in its early stages, our data schema is not yet stable and changes often.
Many of the features are fairly trivial in nature: can we add new events or make some of the configuration more detailed? For example, adding a flag to select whether the salary is inflation adjusted is fairly simple, but it changes how the data is stored and requires a schema change in the database.
These are deep cuts in the release process. If something breaks and data gets corrupted, I cannot simply roll back my code to the previous version. The data in the database remains corrupted. In the worst case, if everything is completely lost, I need to pull back a backup and tell the customers, “Sorry, I screwed up and lost everything you did in the last X days.”
Right now I follow an extra careful approach: I keep running the old and new database schema versions in parallel till I feel confident switching over. That means we are still writing to the old version of the database schema, so that in case of need I can just revert with minimal data loss (only the new features will be lost).
This makes coding some simple features code-heavy, so I tend to pack all features requiring data migrations into one release. I only handle data-migration releases every second or third release to manage this tedious but necessary process.
How did I use AI this week?
- I did a lot of refactoring. A lot of boilerplate code and trivial changes are done over and over again. I use Cursor as if I had an intern, telling her to make the changes that I will then review.
- Not related to this project, but my wife asked if I could generate invoices for her business. The Swiss standard has the invoice and the payment slip with QR code for the payment. Various services (like our bank) offer this but are usually limited in some way. Out of curiosity, I opened Google AI Studio and entered pretty much what she was asking me, and we iterated twice, mostly polish and moving things around. In less than 15 minutes I had a complete solution to edit the invoice in real time and print it to PDF on demand. I’m impressed.
Marc
The build
Two big wins this week:
- New fiplanner.ch homepage! We replaced our static screenshots with a proper demo video that walks you through the product. It’s night and day: a video product tour communicates so much more than a screenshot ever could.
- Inline documentation is live. We finally replaced our tiny tooltips with proper in-app documentation that’s actually readable and complete. This is the “right-time-right-place” documentation system I mentioned in the last edition, it’s shipped! (well, on Monday ;))
The edge
The uncomfortable thing right now? Time. Again. We have such a clear vision of where we want to take the product — especially around making the UX more gamified — but there are only so many hours in the week. The backlog of ideas keeps growing faster than we can ship. But as we keep reminding ourselves: we’re a Calm company. Not everything needs to happen this sprint.
Note to a friend
OMG moment of the week: a user sent us a screen recording of themselves using FI Planner. Gold. Pure gold. Patrik and I are so deep into the product that we’ve become blind to things that are painfully obvious to a fresh pair of eyes. This one video revealed UX issues we can fix with 3 to 4 micro-changes. Things we would never have caught ourselves.
So here’s my advice to my friend: don’t just ask for email feedback (which is already great). Ask for screen recordings. Watching someone actually use your product is a completely different level of insight. We’re now planning to improve our Scenario section based on exactly this kind of feedback.
Tool of the week
Not AI per se, but worth sharing: I used Screen Studio on Mac to create our product demo video. This thing is a game-changer. What would have cost me either a freelancer or hours of pain with older tools, I got it done in 2 hours for CHF 29. Polished, professional, done.
