Not by Prompt Alone. What this series is about
· Not by Prompt Alone · episode 1 · Czytaj po polsku
Building an app with a single prompt is no big deal these days. Even a complex one.
You've seen the videos. "I built an app in 10 minutes", "AI wrote me a SaaS over the weekend". They're not lying. All it really takes is access to an AI agent and a few dozen dollars to get something running on your laptop. But that's the easy part. And it kind of annoys me that the whole conversation about AI in software development stops right there.
Because the real craft starts the day after.
Waiting for the model
Ever since the first public version of ChatGPT, I'd been trying to build with AI without touching the code. Later I was one of the early users of Claude Code. Every time it ended the same way: the AI wrote something, I fixed it, it broke my fixes, I took over the keyboard. It was slower than writing everything by hand. And I simply didn't have the time to hand-write a whole app after hours.
So I waited. And waited...
Until November 2025, when Claude Opus 4.5 came out and completely changed the rules of the game. For the first time I had a model whose code I didn't have to fix myself. It wasn't perfect, but it was good enough. That same month I started building Zakupomat, a shopping list for families. December was the most intense month: the first version, a web app and a backend, built just for us at home - Marta fills in the list and I do the shopping. Exactly the way I wanted it!
In January I pushed the code to GitHub. Not out of ambition. I wanted to put the app into production with a convenient way to release it, and there was already so much code that I was honestly afraid of losing it.
Then for half a year I developed it only for us. I didn't know if I'd ever show it to anyone.
The day after
In the summer I decided I wanted to share it. And that's when I found out the difference between "works on my machine" and a product other people can use. For a moment I thought a PWA would be enough... it wasn't.
The app has to be in the App Store and Google Play, so I rewrote it in Kotlin Multiplatform (the freshly released Claude Fable did a great job!), so that Android and iOS share one codebase. Apple's reviewer rejected it, and for a while I had no idea why. The culprit was a single shared HTTP client that starved every other connection. I also found a bug that made a new family see the previous family's shopping list after logging in. CI was green, and production didn't come up, because the tests ran on a different Python version than the server.
And the sneakiest thing of all: after a three-week break I couldn't remember why I'd done something one way and not another. Claudius - that's what we call Claude at the company ;-) - didn't know either. Every session started from scratch.
None of this is in the "app in 10 minutes" video. And these are exactly the things that decide whether you end up with a product or a demo.
The iceberg
Today Zakupomat isn't "an app". It's an ecosystem:
- an Android and iOS app from a single codebase,
- a backend with real-time sync, on my own server, with monitoring,
- a web app,
- a website in three languages,
- automated releases to both stores, including the forms you'd normally fill in by hand in the console,
- project memory (the brain): recorded architecture decisions and written-down failures that the agent reads before it writes a single line.
Code, CI, releases and automations - nearly a hundred percent of it is written by AI. I decide, I check, and I'm responsible for what reaches people. And that's the point: the agent is incredibly productive, but it doesn't carry responsibility. Someone has to know what not to do, when to say "no", and what happens when something breaks on a Saturday night.
What this series will be about
Not how to get started. How to ship, maintain and keep developing your own product.
I'll show real decisions, with the alternatives I rejected. Bugs that reached users and reviewers. What working with an AI agent looks like over more than one session. And how much all of it costs: in time and money.
A few rules I'll stick to:
- AI writes, a human decides and is responsible. I'll also show the moments when I rejected the agent's proposal - and why it was the right call.
- Failures too. I've learned the most from the things that broke.
- Zakupomat stays free. No ads, no selling data, no subscription. The cost of running it can never force me to change that model - and that's a hard architectural constraint, not a statement of intent.
- No feature bloat. The app is close to the point where it doesn't need new features. I won't add them just to have something to write about.
The first weeks follow three threads: how the app went from a prompt to production, how to build a project memory that the agent actually uses, and what production taught me when it hurt.
Why I'm doing this
I run ANSLAN. We help companies solve hard operational problems - the kind that got stuck between the business and IT - using software, automation and AI. We also prepare existing systems for development with AI agents: we rebuild the knowledge about the system and put the documentation, tests and working rules in order.
Zakupomat is my lab. I test the same tools and rules we use with clients on it - only without the client's sign-off and without an NDA, so I can show everything.
If one person after hours can build and maintain an ecosystem like this, imagine what a well-oiled team can do when it's their day job.
And Zakupomat itself? You can just grab it and use it: zakupomat.app. Free, no ads, no selling data, no subscription. Android, iPhone and the browser.
See you next week :-)