I spent $80 and two projects figuring out what Claude Code can do, and what breaks when you skip the fundamentals. This is that story.

Few months ago, my entire feed was Claude Code. Every second post on X and LinkedIn - someone built a SaaS in a weekend, someone's making millions in ARR, someone shipped their entire startup in 48 hours.
I thought it was all bullshit. Marketing. Hype. The same cycle we've seen a hundred times.
But I'm a curious guy. I love to explore, poke, test things until they break. And I had a long-standing app idea collecting dust - a longevity tracker. Personal, useful, something I actually wanted for myself.
So one day I decided: let's see what this thing can actually do.
Quick context on me: I'm not a software engineer. Never have been. But I'm a technical product guy - I understand how systems talk to each other, APIs, databases, AWS services. Not spectacular, but enough to not be completely lost. I've spent 10 years managing product teams, running discovery, writing specs, working with dev teams. I know what it takes to build something properly.
I had zero prep. Just logic, decent communication skills, and a vague idea.
I started with the Claude Code web app, then downloaded the desktop app. Connected a GitHub repo, spun up a free Supabase instance, linked them in the UI, and started prompting.
Two days later I had a working app. Inside my Telegram bot. With Garmin integration. It asked onboarding questions, scored my longevity based on a set of rules and factors, sent me daily insights, and let me log food by text or photo — then told me how good that meal was for longevity.
$40. Two days. My mind was blown.
Then I decided to run it locally. Bit of a struggle. "Hey Claude, can you dockerize the whole app?"
Bum bum bum. Done. Working.
I was shocked.
Then I wanted to make it a mobile app. That's where things got ugly. Dependency management, version mismatches, infinite loops, crashing sessions. The more I pushed, the more it fell apart.
The worst was the food logging bug. Logs were failing. I had no idea why. I spent 4 hours in an infinite loop - asking Claude, Claude fixes it, I test, it fails, I ask again, Claude fixes it, I test, it fails.
The issue? Claude was using old Anthropic model IDs when calling Claude to analyze the food photo.
Hilarious. Also maddening. And here's the thing - if I had zero technical understanding, I would have spun in that loop forever. I only caught it because I knew enough to read logs. That's an important note I'll come back to.
After the first project I actually sat down and learned. Went through Anthropic's courses at skilljar.com. Watched everything. Finally understood how critical CLAUDE.md is, what skills do, why context windows matter, and why the terminal version is way more flexible than the desktop app.
Armed with that, I started Project 2.
I built an operating system for my agency. All the admin and financial work I was doing manually - contracts, time tracking, invoices - automated and nested into one app.
This was cleaner. No ugly bugs. I had my CLAUDE.md from day one. About the same cost - $40.
But then I needed to change some core logic.
I updated it. Tested it. Something was off. Turns out I'd accidentally created duplicate flows - a legacy flow and a new flow running in parallel. Changes were going to the legacy flow, not the new one. Total disaster. The CLAUDE.md file helped, but it didn't save me from the mess I'd walked into.
That's when it hit me.
Shit. This is a communication problem. Garbage in, garbage out. What if there was a layer that cleaned things up before they even got in?
I've been doing this for 10 years - managing stakeholders, running discovery sessions, writing specs that dev teams could actually build from. BA, PM, solution architect, UX designer - that whole dance before a single line of code gets written.
Why the hell wasn't I doing that here?
The assumption kills you. The non-existent problem is why we have AI slop. And the reason people skip discovery now is because it only costs $100 to build something, so why bother?
That's exactly why you should bother. The price of building dropped. The cost of building the wrong thing didn't.
That's how CRISP was born.
CRISP is a BA/PM framework that runs inside Claude. Five phases. It takes your idea, challenges it, stress-tests it, looks at the market landscape, runs a SWOT, maps competitors, defines user personas, scopes features, scores business value.
Every single product thing you always needed before you splashed $40k on an MVP - now done for a couple of bucks, sitting at your terminal.
What used to require a product manager, a BA, a solution architect, a lead dev, a UX designer, and four weeks of work, somewhere around $14,000, you can now run yourself in a focused session.
The spec it produces is something you hand to Claude Code and say: build this. No loose ends. No hallucinations from missing context. No six weeks wasted building the wrong thing.
It bakes in everything I've learned: how to get real insights from stakeholders, how to structure information so Claude can perform at its best, how to define the problem before you touch the stack.
It's open source. Free. Because the methodology shouldn't be locked behind a $14k discovery engagement.
→ github.com/radekamirko/C.R.I.S.P
I've watched this fight from the middle. And both sides are partly right, partly embarrassing themselves.
Engineers: too proud to let go of the boring parts of their job and evolve toward architecture, system design, and code review. The moat isn't gone, but the part of the moat that was just "I know how to talk to machines" is absolutely gone. That was never skill. That was mystery. And mystery just collapsed.
For decades you were untouchable, not because you were the best person in the room, but because you were the only one who spoke machine language. Salaries of doctors, ping pong tables, chocolate fountains, work from anywhere. You had to be courted. Now the machine speaks our language better than you speak machine language.
It's not dangerous. It's just uncomfortable for the people whose identity was the moat.
Vibe coders: stop. Read. Learn the essentials. Learn Git. Learn how infrastructure works. Learn what a client-server relationship is. Learn what variables are and how to protect them. Learn databases. Don't just prompt until you die and wonder why your app is leaking API keys and collapsing in production.
The issue was never the code. The issue was always communication. Structured, clear, contextual communication. We're back to square one. Except now you're not aligning with a dev team. You're aligning with Claude Code. And the rules are the same: assumptions kill. Missing context kills. A vague brief kills.
The tools don't win. The idea wins. Claude is just a tool, and a very good one, but you are still the person who needs to think about what it should do for you.
The PM skills I've spent 10 years building? More valuable than ever. Just applied differently. Instead of aligning a team of 6 people and writing specs for developers, I'm running the same process with Claude.
The spec is still the product. The code is just the implementation.
If you skip discovery because it costs $100 to build something, you'll spend $100 building the wrong thing. That's the trap. That's why we're drowning in AI slop.
Build less. Solve more.
CRISP is live. Open source. Free.
I built it in public, stress-tested it on real projects, and I'm inviting people to run it on their own ideas — including a live experiment where I'm picking 3 problems from my network and running end-to-end CRISP sessions in public.
Serbs are known for their hospitality. Be my guest.
→ github.com/radekamirko/C.R.I.S.P