Since the summer of 2025, I’ve been building software using various AI tools. It all started with an idea to send precise weather data to my Garmin inReach Messenger. It sounded simple at first, but turned out to be a pretty complex project. Here’s the catch: I can’t actually code—aside from a tiny bit of JavaScript. However, I have a solid grasp of how software is built and have spent my entire career in the software industry.”
Gregor Zwanzig
The Backstory
In the summer of 2025, I tackled the GR 20 in Corsica for the third time. One major risk on the trail during summer is sudden thunderstorms. While Météo-France’s AROME model offers incredibly precise forecast data, there's a catch: large sections of the trail have absolutely no cell service. However, my Garmin inReach Messenger is capable of receiving satellite texts.
So, I devised a plan. I used Claude to build a CustomGPT for ChatGPT that acted as my "Tech Lead," feeding technical requirements into Cursor AI. Cursor then did the heavy lifting, implementing the actual project for me in Python.
Long story short: It worked. It actually worked incredibly well. The weather updates I received every morning and evening were spot-on and saved me from walking straight into several severe thunderstorms.
But getting there was as rocky as the GR 20 itself. Several times, I thought I was right at the finish line—only to realize moments later that the AI had pretty much torched the entire codebase, and even frequent Git commits couldn't always save me. It cost me about two months of my life. I’m guessing an experienced developer could have pulled it off in three weeks with AI, or maybe five weeks without it.
The biggest lesson I learned is that AI is about as smart and enthusiastic as a junior developer. But unlike a human junior, the AI doesn't learn from its mistakes. You have to constantly optimize the processes yourself to keep the AI on the rails. I also learned the hard way that you need to structure your documentation in a highly modular way, ensuring the AI only loads the specific context it needs into its memory—and nothing more.
Those were just my first attempts. Six months have passed since then; I’ve learned a ton, and the software landscape has evolved significantly, too.
You can find the original Weather Email Autobot that got me safely through the GR 20 on GitHub here:
Complete rewrite of and new name: Gregor Zwanzig:
iOS App
Healthy Habits (Lean Health Timer)
The idea struck me while I was using the "Seven" workout app. I used it religiously, but eventually just as a glorified timer, since years of physical therapy had taught me a whole routine of my own exercises. Then Thomas nudged me to get back into Transcendental Meditation. Just like that, the concept for a simple dual-timer app was born (hence the original product name, "Lean Health Timer").
I kicked off development using ChatGPT, which had recently gained the ability to write directly into various IDEs. Things went smoothly, so I kept piling on features. But the real breakthrough happened when I switched over to Claude Code.
Today, the app is packed with features that I personally find exciting and that help me build healthy habits:
- Meditation: 1. An open-ended timer and 2. Various presets for breathwork meditation.
- Workouts: 1. An open-ended timer and 2. Various workout presets.
- Habits Tracker: 1. A "NoAlc" (alcohol-free) tracker, along with several other trackers for good and bad habits.
- Achievements: This is mainly about cementing habits, tracking progress, and celebrating wins. "Streaks" work wonders for me in building consistency. To make sure you don't lose your streak the moment you slip up, you earn "Jokers" that you can play to cover a missed day.
- SmartReminders: I’m particularly proud of this feature. It reminds me in the morning, for example, to log a missed workout, a skipped meditation, or a forgotten entry in the NoAlc log. But here’s the kicker: it only alerts me if I actually haven't done it yet. Otherwise, it would just be annoying every single day.
Link to the product on the Apple App Store:
Lean Health Timer‑App – App Store
Lade Lean Health Timer von HENEMM GmbH im App Store herunter. Sieh dir Screenshots, Bewertungen und Rezensionen, Benutzertipps und weitere Spiele wie Lean…
apps.apple.com
Link to the Code on GitHub:
Fahrtenbuch (HomeAssistant)
Our son is currently the primary driver of our Škoda Enyaq. To keep his energy consumption in check without having to turn every single trip into a debate (I personally stick to my bicycle here in Münster), we struck a deal: he pays a set fee for every percentage point of battery drained.
Now, you could track that manually. Or, you could just whip up a native iOS app that pulls battery data directly via HomeAssistant's Škoda plugin.
The only downside is that it requires the HomeAssistant Cloud. On the flip side, the app works with other EVs as well. All in all, building this app took barely a week.
Link to the product on the Apple App Store:
HomeAssistant EV Fahrtenbuch‑App – App Store
Lade HomeAssistant EV Fahrtenbuch von HENEMM GmbH im App Store herunter. Sieh dir Screenshots, Bewertungen und Rezensionen, Benutzertipps und weitere Spiele wie…
apps.apple.com
Link to the Code on GitHub:
FocusBlox
FocusBlox is my latest creation. Like the others, it was born out of personal necessity—and a bit of self-observation. I often find that by the end of the day, I haven’t tackled the things that actually matter to me; instead, I’ve let myself get swept away by the daily grind.
Sure, I’ve tried various to-do apps. But the issue isn’t that I don't know what needs doing. It’s that I lack the discipline to execute tasks in the right order and actually stick to the allotted time slots (timeboxing).
FocusBlox can sync with Apple Reminders or use its own iCloud-synchronized database. It offers several ways to rapidly capture a train of thought, an idea, or a task. Each day, the user defines specific time slots for focused work and then pulls tasks from a prioritized backlog to fill them.
As soon as a FocusBlox session begins, a dedicated screen pops up with a countdown, encouraging you to work with laser focus within that timebox. Just before the time is up, the app nudges you so you can wrap things up neatly and, if necessary, create a follow-up task.
FocusBlox also features daily and weekly reviews. This is where I can see what I’ve actually accomplished and analyze how much time I’ve invested in different types of activities. For my own life, I’ve defined these categories: Learning, Recharging Personal Energy, Making Money, and Social Time. It’s crucial for me to strike a healthy balance across the week.
Link to the Code on GitHub:
Building My Own Agent OS OpenSpec Framework
My main gripe with AI-assisted software development has always been its inconsistency. Things would go smoothly for long stretches, only to be followed by a sudden nosedive in quality and outcome. Upon closer inspection, the culprits were usually "context" and complexity.
The OpenSpec approach (or Spec-Driven Development) isn’t exactly new, but it’s a game-changer for AI. It helps the model keep only the strictly relevant information in its memory—its context window. By using a system of agents (Agent OS) and hooks, I can finally force Claude Code into sticking to a rigid workflow.
For example, I kick things off with a /user-story, a /feature, or a /bug, which then triggers a specific chain of skills. Hooks prevent the AI from jumping the gun—like starting to modify code before the necessary tests (TDD-RED) are written.
I don’t develop this framework as a standalone project, but rather inside my actual active projects. I then regularly use the Agent OS OpenSpec Framework to update itself based on these improvements, and conversely, propagate those core updates back to the individual projects. Naturally, I don’t do any of this by hand — I let Claude Code handle the heavy lifting.
GitHub: