Andrej Karpathy Said Vibe Code — I Made It My Career

I was sitting cross-legged on my bed in my Berlin apartment, scrolling X at 11pm on a Thursday in February 2025, when Andrej Karpathy's post appeared in my feed. A former director of AI at Tesla, one of the most respected names in machine learning, casually describing a new way of coding: "I just see things, say things, run things, and copy paste things, and it mostly works." He called it vibe coding. He was half-joking — describing the experience of building software by feel, by intent, by conversation with an AI, rather than by writing syntax from memory.

I read it three times. My hands went still on the phone screen. The room was cold — I had forgotten to turn the heater on again — and the only light was the blue glow of the screen on my face. Something in my chest recognized those words before my brain processed them. The way you hear a song in a foreign country and your body responds before you translate the lyrics.

He was describing what I had been trying to do for months. Failing at, mostly. But trying.

Before the Tweet

Six months before Karpathy's post, I was stuck in the worst professional rut of my life.

KINS — the wellness hotel brand I had built from a healing center in Bali into a growing network of properties — needed software. Not a website. We had a website. It needed systems: booking management, guest intake forms, payment processing, follow-up sequences, therapist scheduling. The kind of operational infrastructure that scales a service business from "I can personally handle every guest" to "this runs without me in the room."

I could not build any of it. I could envision it — I knew exactly what the systems should do, how the data should flow, what the guest experience should feel like at every touchpoint. But the gap between vision and implementation was a wall I could not climb.

I tried no-code tools first. Bubble, Webflow, Zapier, Airtable, Notion databases linked to Make.com automations. I spent three months building a booking system in Bubble. It was slow, ugly, and broke every time I tried to add a conditional flow. The experience was like building furniture with oven mitts on — I could see the shape of what I wanted, but my tools kept sliding off the material.

Then I tried hiring. A freelance developer on Upwork. $4,500 for a booking system MVP. The developer was competent but the communication gap was enormous. I would describe what I wanted. He would build something adjacent to what I wanted. I would explain the difference. He would adjust. The feedback loop took days per iteration. After two months, I had a system that was 60% right and a growing suspicion that the remaining 40% would cost twice as much and take twice as long.

I was spending money I did not have on tools that did not work and people who did not understand what I was building. The frustration was physical — a tightness in my jaw, a restlessness in my legs, the specific misery of a person who can see the destination clearly and cannot find the road.

That was my state when I read the tweet.

The First Attempt

The morning after reading Karpathy's post, I signed up for Claude. Not the API — just the chat. I did not even know there was a difference.

My first prompt was embarrassing in hindsight: "I need a booking system for a wellness hotel. Can you build it?" Claude responded with a detailed plan, code snippets, and architecture suggestions. It was like asking someone for directions and receiving a GPS.

But I could not use any of it. The code meant nothing to me. Claude gave me a Node.js server file and I did not know what Node.js was, let alone how to run it. I tried copying the code into a Google Doc. I tried pasting it into the Bubble editor. I closed the laptop and did not open it for three days.

The failure was not technical. It was emotional. The gap between "an AI can write code" and "I can use that code to build something" felt just as wide as the original gap between "I can envision software" and "I can build software." A new tool, the same wall.

What brought me back was stubbornness. The Korean word is 독기 — a kind of venomous determination, the refusal to quit that is less about courage and more about spite. I had built a hotel from nothing in Bali. I had survived things that should have broken me permanently. I was not going to be defeated by a text file I could not understand.

I went back to Claude and typed: "I have never coded anything in my life. I do not know what a terminal is. I want to build a web application. Explain everything like I am smart but have zero technical knowledge."

That prompt changed the trajectory.

The Breakthrough Was Not Technical

Claude walked me through everything. Install Node.js — here is what it is, here is why you need it, here is the link, here is what to click. Open the terminal — here is how to find it on a Mac, here is what the blinking cursor means, here is your first command. Create a folder. Navigate to it. Initialize a project.

Each step took minutes. The total setup took an afternoon. By evening, I had a server running on localhost and a browser window showing "Hello World" in plain text on a white background.

The feeling was not triumph. It was quieter than that. A door opening in a wall I had been pushing against for months. Not swinging open dramatically — cracking, just enough to see light on the other side.

Over the next two weeks, I built the ugliest booking form ever created. Gray background, default fonts, misaligned buttons, a date picker that showed the wrong month. It looked like a government website from 2003. But it worked. A user could select a date, choose a protocol, enter their information, and the data appeared in my Supabase database.

I stared at that database row — a test booking I had made myself, my own name in the guest field — and cried. Not from joy. From the release of months of frustration. The wall had a door and I had walked through it and I was standing on the other side wondering why no one had told me the door existed.

From Experiment to Identity

The booking form was the crack. What followed was the flood.

Within a month, I had rebuilt the KINS inquiry system, replacing the $4,500 freelancer's half-finished work with something I controlled completely. Within two months, I had built the first version of Soulin Social — the content multiplier that would become my first real SaaS product. Within four months, I had shipped three products to production.

But the career transformation was not about the products. It was about a shift in identity that happened so gradually I almost missed it.

I had always defined myself as a non-technical founder. That label carried weight. It meant I needed technical people to build. It meant certain ideas were off-limits because I could not execute them. It meant a permanent dependency on translators — freelancers, agencies, no-code platforms — who stood between my vision and its implementation.

Vibe coding dissolved that label. Not by making me technical — I still cannot open a blank file and write a function from memory. But by making the label irrelevant. When you can describe what you want and have it built in an afternoon, the question of whether you are "technical" loses its meaning. The question becomes: can you build? And the answer, suddenly, was yes.

I started calling myself a vibe coder. At first tentatively — in my bio, in a tweet, in a conversation with a friend who looked confused. Then with more conviction, as the products shipped and the revenue arrived and the evidence accumulated that this was not a phase or a trick but a genuine way of building.

The identity shift mattered more than the skills. A person who believes they cannot build will not attempt to build, no matter what tools are available. A person who believes they can build — even badly, even slowly, even with an AI doing the heavy lifting — will attempt everything. And attempts, iterated enough times, become products.

Soulin members get the full essay library, private group chat, the Soulin OS e-book, and every tool — all for $10/mo. Join Soulin →

Full essay library · Private group chat · Soulin OS e-book · Every tool · $10/mo

The Decisions That Made It a Career

Calling yourself a vibe coder is one thing. Making it your career is another. Three decisions turned the experiment into a livelihood.

Decision one: I stopped hiring developers entirely. This was terrifying. It meant that every technical problem was mine to solve — with Claude, with patience, with trial and error. No safety net. No "let me hand this to someone who knows what they are doing." The upside was total control and zero communication overhead. The downside was 2am debugging sessions and the loneliness of being the only person who understood the system.

I made this decision after calculating the math: I had spent roughly 8,000 euros on freelance developers over the previous year. The results were mediocre. Claude Pro cost 20 euros per month and produced better outcomes in less time. The math was not close.

Decision two: I built in public. I started writing about vibe coding — the process, the mistakes, the numbers. This was uncomfortable because it meant showing work that was imperfect, admitting ignorance that was vast, and claiming an identity that the traditional tech world might dismiss. But building in public did something I did not expect: it attracted other people who were building alone. The writing became a community. The community became an audience. The audience became customers.

Decision three: I treated vibe coding as a craft, not a hack. The word "vibe" makes it sound unserious. Casual. A party trick. I treated it the opposite way. I developed workflows. I created debugging processes. I studied prompting the way a writer studies sentences — not to find the perfect formula, but to develop fluency through practice. I read about architecture, security, deployment — not to become an engineer, but to become a more effective collaborator with the AI that was my engineer.

These three decisions — self-reliance, public building, and craft — turned vibe coding from something I did into something I was.

What Karpathy Got Right (and What He Could Not Have Known)

Karpathy's tweet was about a feeling. The feeling of coding by vibes — intuiting rather than engineering, flowing rather than structuring. He was describing his experience as a world-class ML researcher who happened to be using AI to write code outside his core expertise.

What he could not have known — because his experience is fundamentally different from mine — is what vibe coding means for people who were never in the room to begin with.

For Karpathy, vibe coding is a convenience. A faster way to do something he could already do. For me, it is access. It is the door in the wall. It is the difference between having ideas and being able to build them, between envisioning software and shipping it, between being a founder who needs a technical co-founder and being a founder who needs only a laptop and a Claude subscription.

The gap between those two experiences — convenience versus access — is the gap between a tweet and a career. Karpathy described a vibe. I built a life on it.

That is not a criticism of the tweet. It is an acknowledgment that the same tool means different things to different people, and that the most transformative uses of technology are often invisible to the people who created it. The engineers at Anthropic who built Claude were probably thinking about researchers and developers. They may not have been thinking about a Korean dropout in Berlin who would use their tool to build a hotel booking system, a content engine, and an autonomous SEO agent — and then write about it on the internet as if it were the most natural thing in the world.

But that is what happened. A joke about vibes became my career. Not because the vibes were magic, but because the access was real, and access — for people who have spent their lives being told they cannot build — changes everything.

I still have the tweet bookmarked. I look at it sometimes when the debugging is hard and the loneliness is heavy and the imposter syndrome whispers that a real builder would know what a REST endpoint is without asking Claude. I look at it and I think: he said vibe code. And I did. And here I am.

What is the label you have been carrying — "non-technical," "not a builder," "not qualified" — that might dissolve if you simply started building?


I write about freedom, healing, and building alone. The full archive is at soulin.co.

Related vibe-coding posts