Life Manager

Life Manager Update: the App has Improved and I’ve lost 20 days of Journaling.

You lose win or you learn, as they say

Good news and bad news, let’s start with the good, right?

I’m glad about the interest some of you have shown in building a similar app for yourselves. So please keep sending me updates on your vibe-coding experiences!

Since the last issue, I’ve integrated my current fitness plan and my sports watch directly into the app. This allows me to feed my training data directly into a Claude-powered training coach. It then has all the keys in hand to generate and adapt my plan based on my performances. I’ve also built a visual overview of the training plan calendar to help me plan my activities. Discussing with that “coach” about my recent runs without any manual entry and watching it adapt my upcoming sessions is probably the most satisfying feature to see come together.

Garmin Dashboard

I’ll slightly adapt the adage “a picture is worth a thousand words” and tell you that a demo website is probably worth a couple hundred words. Yes, you’ve got that right! I’ve deployed a demo version of my Life Manager's current state, with obvious fake data (to avoid oversharing with you guys) that you should be able to access with this link. Quick disclaimer, I’ve taken out most of the actions possible like writing, editing, or calling the APIs, which means you might run into issues with some inputs.

Building that demo version was probably the biggest vibe-coding related learning experience so far: make sure to always keep an updated backup file somewhere, especially when you’re using fake information to create a demo version of your app. Yeah, you guessed it, Claude overwrote my whole database with fake data while creating this demo version, right before I noticed that I did not have an up-to-date backup. I got Claude to write me an apology letter, so we’re good now.

Apology Letter

So yeah, even after a couple hours of fetching different files, changes in history and cache, I ended up losing a lot of data, and most importantly about 20 days of daily journaling (about 500 words every day). I have now created a script that creates a backup of the database every couple days, preventing this sort of error from happening in the future.

With a step back, that database disaster isn’t really Claude being bad at coding, but the result of unclear instructions and lack of safeguard from my side. Vibe coding does lower the barrier to building, but it certainly does not lower the cost of not thinking. Mistakes still happen, and they happen faster and more thoroughly now.


← Back to writing