Hello — I'm back.
It's been a while since I posted anything here. The honest reason is that I've been deep in building Mitlesen, the German-reading app I started because learning German on my own was painful and nothing on the market did exactly what I needed. The app is live on Android and iOS, it's a Kotlin Multiplatform codebase, and there are real people using it every day.
This new series of videos — the first of which is above — isn't really about Mitlesen itself. It's about how I'm building it.
Why I'm starting this series
I'm not a backend engineer. I'm not a designer. I'm not a product manager. A year ago that would have stopped me cold. Today, with Claude Code, Claude Design, and a small stack of agents and skills I've put together over time, I get to be all of those things — badly at first, and a little less badly each week.
I want to record that journey while it's happening. Partly for myself, so I can look back in six months and see how it changed. Partly because I haven't seen many people working the way I've ended up working, and I'd love to compare notes with people who are.
What's coming up
Over the next videos I'm going to walk through each piece of the workflow, one at a time.
- The folder structure. The Mitlesen directory holds the docs, the design library, the business plan, the six-month goals, the weekly reviews, the mobile source, the web backend — everything Claude needs to make sensible decisions, all in one place. I'll show how it's organised and how it grew.
- Custom agents and skills. A senior mobile-engineer agent that reviews my code. A startup-advisor agent for strategy questions. Skills for generating stories, normalising text, building dictionaries, running weekly reviews. I'll walk through how each one was built and what it actually does for me.
- Claude Design instead of Figma. I used to open Figma. Now I ask Claude for three home-screen variants and pick the one that lands. I made a promo card to share Mitlesen with friends — including a one-month code — entirely in Claude Design. I'll show the prompts and the back-and-forth.
- Campaign planning. Reddit? Instagram? App Store ads? I'm about to run my first real campaign and I genuinely don't know yet — but I'm working through it with Claude, and I'll share what I decide and why.
- End-to-end verification. "Add this feature and confirm it works end-to-end" — and Claude opens the emulator, clicks through the app, finds the bug, files it with the designer agent, and reports back. That part still feels a little like magic and deserves its own video.
Why Firebase, why KMP, why this stack
Mitlesen is built on Kotlin Multiplatform for Android and iOS, with Firebase as the entire backend — Auth, Firestore, Functions, Storage, the whole thing. The shorter version: I'm not a backend engineer, and Firebase lets me act like one well enough to ship. KMP lets one codebase carry two platforms, which is the only way a tiny team can keep both alive.
I'll get into the trade-offs in a later video. The short answer is: every "shortcut" I picked has cost me something, and I'd still pick it again.
This is a conversation, not a tutorial
I'm sharing because I'm curious how other people are doing this. If you're using Claude Code — or any other AI coding setup — in a way I haven't tried, please tell me. Comment on the video, drop me a line, whatever works.
The tools change every week. A month ago Claude Design didn't exist in my workflow; now I can barely remember how I worked without it. Whatever's in the next video will be slightly out of date by the one after that. That's part of the fun.
See you in the next one.
— Hani