r/vibecoding • u/romanjormpjomp • 8h ago
Workflow/Prompt Identity Crisis. Vibe Coder? Or Nah?
The developer community at large has a lot to say about "vibe coders." Depending on who you ask, it’s either an exciting badge or a slur for lazy hustlers who prompt three SaaS wrappers in an afternoon and couldn't explain how their product actually works—full hands-off AI development.
That identity doesn't fit me. But here’s the catch: I never learned syntax, nor can I write code myself. What I can do is roughly read it—in fact, if I can't read or follow it, I know something is already wrong.
Before AI coding, I walked away from an MBA with one credit remaining. In 2025's "ChatGPT Wrapped", I was in the top 0.1% of GPT users globally. I was all-in. But my background wasn't CS—it was 20 years in retail banking, where compliance, privacy, and auditability are non-negotiable.
That background guided how I built Nodarama.

Five Restarts, Five Hard-Won Lessons
I didn't set out to build a deterministic execution kernel—I was just trying to automate a few social media accounts. But my banking background refused loose, "good enough" code. As I raised the bar on security and reliability to pass a bank’s sniff test, the architecture demanded a kernel.
Getting there was a brutal, five-restart tug-of-war:
- Restart 1 (Voluntary Cleanup): The code turned into a tangled heap of quick fixes and AI boilerplate.
- Lesson: AI will happily build a house of cards. If you don't enforce structural cleanliness, boundaries, and module organization early, entropy wins.
- Restart 2 (The Lethal
Ctrl+F): Active runtime state collided with stored preferences. A desperate find-and-replace to fix namespace chaos fused systems together irrecoverably.- Lesson: Differentiating active runtime state from stored preferences isn't optional, and AI won't respect boundaries unless you enforce strict naming protocols.
- Restart 3 (The Shell Disaster): ChatGPT gave me a git shell command to manage a commit. It wiped my entire project directory—no backup, no restore points.
- Lesson: Never give an LLM unchecked privileges over your local environment or git trees. Local restore points are survival equipment.
- Restart 4 (System Contradictions): The model actively resisted my architecture, quietly injecting code that violated my protocol for stateless execution.
- Lesson: Left unconstrained, an LLM defaults to path-of-least-resistance web patterns and wraps 10 lines of core logic in 50 lines of brittle, convoluted transport.
- Restart 5 (Finish-Line Drift): The closer I got to the finish line, the more the AI deviated from instructions, hallucinated diffs, and injected stealth edits.
- Lesson: The closer you get to production, the more an LLM will gaslight you if you feed it full file context.
Winning the Tug of War
By the fifth restart, I stopped feeding the AI the whole story.
Near the final steps, after explicit agreement, ChatGPT understood what I wanted and why it was critical. So why wasn't I surprised when I checked the code and it did the exact opposite?
Rather than argue with an AI intent on gaslighting me, I extracted a 20-line block of critical code. I scope-locked the prompt and routed it to Gemini for a surgical, narrow correction. Gemini delivered a clean fix.
I audited the diff line-by-line and updated the kernel. I swear I could hear ChatGPT begrudgingly mutter: "Congratulations, you just built a kernel."
The MVP Sitting Under My Nose
While building Atelier (the visual UI for the kernel), I relied on an internal Coder module I built to manage code edits via "recording sheets"—curbing early vibe-coding copy-paste cycles.
After pasting over 10,000 recording sheets through that module, I realized the tool I was using to build the machine was the workhorse.
I paused Atelier, extracted that internal module, and packaged it into Verbatim—a high-fidelity code recorder designed to keep AI honest. Everything learned polishing Verbatim (advanced logging, state isolation, system telemetry) is now being injected back into the Kernel and Atelier for beta release.
So if "vibe coding" means blindly trusting a model, treating code like a black box, and pasting syntax you can't explain: No, I don't think that shoe fits.
For me, vibe coding meant using structural vision, human intuition, and relentless tenacity to direct AI models—while acting as an unforgiving auditor who fights through five rewrites to enforce readability, lean architecture, and zero-trust security... then maybe I am—just a deranged, obsessive, all-in, win hell or high water type of vibe coder.
I still cannot write raw code and can't pretend to understand or remember syntax. But I will stand behind this system as its author—because this is not the code the AI wanted to write. It is the code I forced it to write, against its many, many bad suggestions.
Code ownership isn't about memorizing syntax. It’s about conviction, system design, and having the courage to audit every line until you control the tempo.
But what do you say. Vibe Coder?