Skip to content
KP
All posts
May 28, 2026 · 2 min read

Vibe coding shipped 5 projects. Here is what AI did and what I had to own.

Five projects in the bag, all built with AI as a partner. A honest look at what the AI handled, what it could not, and where I had to step in.

vibe-codingaiworkflowgamedev

I do not write every line by hand. I drive direction. Five projects later this is the most honest map I can draw of what changes and what does not.

What AI did

Syntax. Boilerplate. Glue code between libraries I never used before. First-pass component scaffolds. Type definitions that match a JSON I paste in. Refactors that touch 20 files at once. Translating one error message into a working diff. Reading a 800-line PHP repository and giving me three sensible next steps.

For Dragon Island, it generated most of the WordPress-style hook system once I described the shape. For Empire of Choice, it wrote the offline progress math given the timestamps and tier rules. For MU Idle, it ported a Zustand store to React 19 hooks in one pass.

If the task is well defined and bounded, AI ships it faster than I would have.

What AI could not do

Decide. Every project hit moments where the AI offered two reasonable options and zero context to pick. PHP 8 PDO with dblib or sqlsrv? Server actions or REST in Empire of Choice? Capacitor or Tauri for the Android port? AI laid out tradeoffs. I had to read the room (production constraints, my future maintenance budget, what my players actually want) and call it.

It also missed entire categories of bugs that only show up when 200 players hit the same boss at once. Production stress, payment edge cases, MSSQL collation quirks, packet desync in a C++ emulator. The model has no instinct for "this will break under real load." I do, because I have been on the other side of those incidents.

What I had to own

  1. Architecture. AI does not know that Dragon Island has 15 repositories sharing one connection pool. I do. Asking it to scaffold a new repository without that context produced code that compiled but bottlenecked the pool. Two hours to find. Five seconds to fix once I knew.
  2. The "ship vs polish" call. Most AI outputs land at 80%. Pushing them to 95% is where I spend my actual time. The model does not feel when something is good enough.
  3. Domain quirks. MU Online server emulators have decades of patches glued on. Packet encryption, anti-hack, season-specific item structs. Generic AI knowledge does not touch this. I had to feed it the right slices of context, then verify every line against actual server behavior.
  4. The taste. Every UI in the projects below has had me say no to AI suggestions a dozen times. The portfolio you are reading hit version four before it stopped looking generic.

Why this works for me

I was never going to win a syntax-speed race. I am decent at reading large codebases, mapping a problem into the right primitives, and pushing things over the finish line. AI handles the part I was always slowest at. The judgment work stays mine.

Five projects in the bag, three live in production. The method holds.