I Couldn't Code for 10 Years. Then Everything Changed.
The Gap
I've always known software was for me. The problem was the wall between the idea and the execution — syntax, algorithms, frameworks, the sheer mountain of things you need to learn before you can build anything real. I spent years staring at that wall.
Meanwhile, I was designing cosmetic packaging from concept to mold tooling. Running photo shoots alone with professional equipment. Drawing wireframes for our company's in-house ERP. Coordinating between departments that didn't speak each other's language. I understood systems — I just couldn't write console.log without wanting to throw my laptop.
The Accidental Training
In 2023, our company started building an ERP from scratch. I became the bridge — the only person who understood every department's workflow. For three years I sat in meetings with the dev team, translated business logic into UI mockups, mapped data flows on whiteboards, and fought for features that the actual users needed.
I wasn't coding. But I was learning something harder to teach: how enterprise software should think.
At home, I was running my own server. Docker containers, Discord bots from GitHub, VPN, monitoring. Copy-pasting configs, breaking things, fixing them at 2 AM. Still not really coding — but living inside the terminal.
The Moment
Early 2026, AI-assisted development hit a tipping point. Suddenly, the wall wasn't there anymore. I could describe what I wanted to build — not vaguely, but with the precision of someone who'd spent three years mapping business processes — and actually get working code back.
The first real test was reckless. I told my company I'd build the ERP for their new manufacturing subsidiary. Solo. The same kind of system our dev team had been working on for three years.
83 Database Models Later
The Setuna ERP shipped to production with:
- 83 Prisma models spanning 18 business modules
- Azure AD SSO with session versioning that can force-invalidate every JWT company-wide
- A stock engine handling FEFO/FIFO lot picking with atomic reservation transactions
- 72 granular permission points enforced at middleware level
It went live before the three-year team project did. Not because I'm faster or smarter. Because I'd spent three years inside the business processes it automates. I knew what the warehouse team needed before they asked. I knew which edge cases would break inventory accuracy because I'd watched them happen.
AI wrote the code. I designed the system.
What I Actually Learned
Here's what nobody tells you about vibe coding: the bottleneck was never the code.
When I was wrestling with iRacing's undocumented PKCE auth flow for my sim racing platform, AI hallucinated the token exchange three times. I had to understand OAuth deeply enough to catch the mistakes. When I built a stock engine that handles 8 movement types in a single transaction, AI couldn't design that architecture — it came from watching partial reservations corrupt real inventory.
The pattern is always the same: AI is incredible at writing. Knowing what to write is the entire job.
// This is the real skill gap in 2026
const gap = {
easy: "Generate a Next.js API route",
hard: "Know that your stock engine needs atomic transactions because you've seen what happens when it doesn't",
};The Design Background Nobody Expected
Five years of industrial design gave me something I didn't appreciate until now:
Systems thinking. A packaging pipeline from concept to production is a system. An ERP is a system. The mental model is the same — you map inputs, outputs, dependencies, and failure modes before you touch any tool.
User obsession. When you've designed retail environments and watched real people interact with your work, you develop an allergy to bad UX. That carries over to software.
Visual precision. Most developers can't tell when padding is 2px off. I can. It's a curse and a superpower.
Where This Goes
I'm not pretending I'm a traditional developer. I didn't grind LeetCode. I can't whiteboard a binary tree from memory. What I can do is take a complex real-world domain — manufacturing logistics, competitive racing telemetry, procedural 3D game engines — and turn it into production software that actually works.
The tools changed everything. But tools without taste, domain knowledge, and systems thinking just produce sophisticated garbage.
I'd rather be honest about the process than cosplay as something I'm not.