Patrik
Wise words of the week
If you are not embarrassed by the first version of your product, you’ve launched too late. — Reid Hoffman (Founder of LinkedIn)
The best is the enemy of the good. — Voltaire
Journal
Another week of execution. Going through the amazing feedback we got from our early users and adding the missing features.
Our current workflow is very streamlined. Whenever feedback arrives, we enter it in Linear (our issue tracking system). Sometimes there is already an entry for it, and sometimes it’s new and it goes to triage.
Once a week, during our weekly sync-up, we review the high-level progress (are we on track for this release, do we need to move some issues straight into development), and we bucket the issues into three groups: before public launch, fast follow-up after public launch, eventually.

The engineer in me would love to have everything done before the public launch, to have a perfect launch. But the reality is that the product needs to be good enough, not perfect. We can always prioritize features that get in the way of our users based on the feedback we get. And it’s safer to use the feedback to tune our work to be useful.
What would a perfect product be, if nobody uses it? So it’s better to be good enough and useful, rather than perfect but useless.
How did I use AI this week?
If you remember the last few posts, I’ve been heavily using Cursor’s Plan mode. After the initial honeymoon phase where it was better than agent mode, it’s time to rant a bit.
Plan mode is still great. I say what I want and ask the agent to create a plan for what needs to be done. After a few iterations and amendments, the plan is usually in good shape.
At this point, I start executing the plan (usually 3-8 todos). Cursor executes the todo, I review the changes in the code. Sometimes it’s great and I accept it, sometimes I want some amendments.
So, where’s the issue? As usual it’s the human in the loop, the so-called PEBCAK (problem is between chair and keyboard). It comes in two flavors:
Boredom or lack of patience. Executing a step takes 5 to 10 minutes. What should I do during this time? Ideally I could do pushups or take a break. In reality, reading email or surfing is more likely. This means that once the agent is done coding, I have to face a brutal context switch and try to remember what I was doing. Having lost my context, this is when errors and oversights can happen.
Blindness or saturation. Agents are good at creating code. Lots of code. Verbosity is built in. Sometimes it’s “why did you write these 3 identical classes, can you remove the code duplication”. But often it’s the AI just being much more clever than me and covering all possible corner cases and creating 5 times more code than I would write. (Except that sometimes they also check for things that are covered by the code invariant). Sadly my brain doesn’t have 5 times more space for this, and as I review the same problems over and over again, I tend to become blind or saturated and end up ignoring or simply not seeing them.
This became painfully obvious when verifying some code and finding some functions that I had absolutely no recollection of. I just don’t have a solution for these two problems yet.
Marc
The build
This week was quite rich in new customers, as well as uncovering customer needs.
New customers: as of today in our Stripe dashboard, we’ve reached CHF 4'498.92 of Annual Recurring Revenue (yeah! 🎉). It’s quite a feeling to look at this number grow week after week, and even more since we onboard new customers in batches of 20 on a weekly basis now.
To be more precise: yes, it’s cool to see it as an amount of money, I won’t deny. But what’s even more cool for me, is that it’s the best proof demonstrating that we bring concrete value to our FI Planner customers. I’m grateful to have the opportunity to follow such an entrepreneurial journey, so thanks to each one of you.

Customer need: I will repeat myself, but keeping a JTBD mindset in each and every conversation is a goldmine when you’re running a startup. This week, we discovered a need that I didn’t know I wanted myself: the doomsday scenarios.
One customer told us that, in order to be really (really!) reassured that he could unplug from work to be FI, he would need to have doomsday scenarios played out. And the confirmation that they wouldn’t make him bankrupt.
Two examples:
- I become FI. The next month, a COVID-bis doomsday happens…
- Or, I become FI, and the following year I get a disease that needs a CHF 75'000 surgery.
Needless to say, this went directly into our backlog among the top upcoming features ;-)
The edge
After publishing our last Journal entry #8, I realized that the version numbering we shared was creating confusion.
At the moment, we’re in the v0.9 phase (= works for 200 users = scaling up our systems so that everything is automated). But, from a customer PoV, this can sound like:
Hey but wait, you’re still in beta mode? I mean, it should be v1.x else, no?
And that customer would be entirely right!
Because, in a sense, we’re talking about two different things here:
- v0.9 is indeed where we stand, from an internal product roadmap
- But we’re closer to a v1.1 or so, from an external customer PoV
Why? Because, FI Planner is fully functional if you’re using it. It’s just for us, the cofounders, that there are still a few manual tasks that we still have to do by hand (like the synchronization of Kit tags and Stripe payment status).
But that’s cool, because a. I learned something, and b. we could realign today during our weekly session with Patrik.
How will we solve this? By closing v0.9 still in June, and moving forward from v1.0 right afterwards!
Note to a friend
I use Claude Opus 4.8 heavily to support me with customer research and discovery.
But instead of capturing a customer email and throwing it at Claude, asking for an answer, I’ve found a trick that works even better:
- I receive a customer email
- I send Claude a screenshot of it
- I ask Claude to provide me with 3 different analyses/angles (following the JTBD framework)
As a result (compared to just asking for an email draft), I get way more qualitative ideas, and it helps me ensure that my human judgment remains awake all along (vs. being lazy and just copy-pasting/drag-n-dropping things around).
Tool of the week
IBKR’s Claude certified connector! I just plugged it, and played around. It’s a bit limited, as for instance you can’t yet gather things like your annualized performance since inception, but it’s amazing to have this data available from within Claude. I can’t wait for them to add more tooling into it.
And this also sparked new ideas for how FI Planner may evolve in the future, too!
