Claudia vs. Claude: The Vibe Coding Meltdown
I spent six hours arguing with AI about styling. Here's what I learned about building with vibe coding.
I built and shipped a full-stack AI assistant in one week using only Python skills and aggressive prompting. Here’s how vibe coding got me there (and why I yelled at Claude).
As a data scientist, I’m comfortable with Python, but completely lost when it comes to front-end. So, I kept prompting Claude with the “look” I wanted without actually knowing CSS, which I’m convinced stands for “Can’t Style Sh*t”.
I spent six hours going back-and-forth with Claude, watching my styles.css
file swell to 600 lines.
Back in March, Anthropic CEO Dario Amodei predicted that “in three to six months, AI is writing 90% of the code.”
Dario was technically right, Claude did write 100% of my CSS code. He just didn’t mention that I’d spend six hours explaining what “modern and sleek” means.
Let me break it down.
Backend: Why I Thought This Would Be Easy
I was building an AI assistant, a RAG chatbot to search through my writing on Substack and Medium. Building out the backend went pretty smoothly, mostly because I could write and debug Python code (check out this post for more implementation details).
Here’s what I set up:
✔️ Generated vector embeddings via OpenAI
✔️ Stored them in a vector database
✔️ Retrieved relevant text using semantic search
The semantic search pipeline handles 50+ blog posts with sub-second response times for the backend.
Then, I asked Claude to help me with the front-end. What I thought was simple request ended up taking six hours:
“Make the UI modern and sleek.”
Descending into CSS Hell
Here’s an actual exchange with Claude:
Me: "Make the avatar emojis bigger"
Claude: [Generates 150 lines of CSS]
Me: "They're still small"
Claude: [Adds 50
!important
declarations]Me: "Now they're hidden behind the text"
Claude: "Let me provide a nuclear option..."
Four hours after the initial front-end prompt, I had AI-generated CSS that rendered a one-page chatbot finally to my liking.
Then I added suggestion buttons. I thought this would be simple, but I ended up spending an additional two hours on issues around:
State management: tracking which button was clicked
Conditional rendering: hiding buttons after first message
Event handling: triggering a search when clicked
The most frustrating part was every fix introduced three new bugs.
Claude kept spitting out patches that worked but looked wildly inefficient. But it works and is maintainable, so I shipped it.
Progress over perfection!
Tips for Vibe Coding Without Losing Your Mind
After my 6-hour UI-and-button-styling marathon, here’s my vibe coding survival guide:
Time-box visual tweaks
If you’re spending more than 30 minutes on spacing, it’s good enough. Just ship it. Perfection is where prototypes go to die.Commit after EVERY working state
AI loves rewriting entire files.git commit -m "working version"
saved me multiple times so I could revert back to the last working state.Accept the bloat (for now)
Yes, my 600-line CSS file is technical debt. But shipped is better than perfect!Learn just enough to debug
I still can’t write CSS from scratch, but I can now tell when Claude is hallucinating. That’s progress, right?Know when to stop
Nobody cares if the margin is 6rem vs. 6.5rem. Stop obsessing. Your users won’t notice, and you shouldn’t either.
My Final Verdict
Vibe coding is equal parts magic and mayhem.
Was hours of glowing button styling worth it? Absolutely not. But my perfectionist brain refused to let it go.
AI lets backend-heavy folks like me build full-stack apps fast without having to spend months learning front-end frameworks like React. But it also produces technical debt I’ll never want to revisit.
That’s vibe coding: sometimes brilliant, often bloated, and usually impossible to debug if you don’t already understand the language it’s written in. Despite the CSS chaos and yelling at Claude, I shipped a working AI app in a week.
Can AI write 90% of the code? Technically yes… if you’re willing to guide it through with multiple rounds of revisions.
P.S. My chatbot is live at assistant.ds-claudia.com (come admire the neon buttons 🙃)
I love that you told us about actually yelling at Claude! I spent the last several weeks yelling at Claude, ChatGPT, Manus and Mindstudio in my attempts to create my first working agent….. still no luck and still yelling but hopefully getting closer??