DEV Community

Cover image for Vibe Coding? Yeah, I've Been Doing It for Two Years
Sergei Vorniches
Sergei Vorniches

Posted on

21 3 2 2 1

Vibe Coding? Yeah, I've Been Doing It for Two Years

Not long ago, I stumbled across the term "vibe coding" and was kinda blown away. Turns out, the way I've been slapping together my apps for the last two years – with minimal hand-written code and maximum automation via neural networks – now has a trendy name. In this post, I'll share my tools for pair programming with AI and some thoughts on where this whole thing is heading.

So, what's the vibe? While some folks are still gawking, others are timidly dipping their toes in, and a third group is furiously bashing it, I'm just sitting here thinking, "Seriously?". From the first day I saw modern neural nets in action, I started using them – not to flood the web with AI-baked memes, but for real work. And now some dude from Tesla's gone and called it "vibe coding".

A little over two years ago, like everyone else, I was fed up with writing the same old boilerplate for projects, dragging code snippets between files, and googling the same thing every week. Back in August 2022, the original GitHub Copilot hit open beta. There was some buzz like "whoa, the future's here", but I tried it and thought, "Meh, just advanced autocomplete". It wasn't great at generating stuff back then, especially if the task went beyond "write a function". Even now, Copilot in VS Code is hands-down the worst tool for coding with AI.

Image descriptionThey started to suspect something

Then, in November of that year, ChatGPT 3.5 dropped. That's when I got seriously impressed. This wasn't just a code generator – it was a legit talking computer.

I scribbled a note back then under the impression:

For me, ChatGPT passed a reverse Turing Test.

In the original Turing Test, a machine has to convince you it's human. With ChatGPT, the answers themselves, their structure, make you feel like you're not just talking to a machine – even though you know damn well it's a neural net.

I burned through request limits non-stop, plugging gaps in my Computer Science knowledge left by skipped uni lectures. An introvert like me, terrified of asking "dumb" questions on Stack Overflow or anywhere else, finally had the perfect way to learn – like interviewing a professor who never gets tired of explaining. The code it wrote back then was garbage, but I kept trying anyway.

At some point, I got sick of copy-pasting file contents into the chat to give it context. So, with the help of that same ChatGPT, I hacked together a simple console tool that "snaps" an entire project into a single text file. Toss that into the chat – bam, the AI instantly sees the structure, files, everything it needs. That was step one.

Then, with ChatGPT 4's release, I realized: with the right tools, coding with AI gets genuinely smooth. Python with its ecosystem, Django as the backbone, Tailwind for UI layouts instead of messing with BEM – it all clicked perfectly into this concept. That's how I started: minimal manual work, maximum "hey, AI, build me a bot".

My first fully AI-written project was WebInsights – a wrapper over the OpenAI API for analyzing JS code, robots.txt, and sitemaps. I even tried launching it as a SaaS, put it on ProductHunt, got some buzz, but eventually shut it down. Traffic was weak, sales were nonexistent, just losses on DigitalOcean server costs. Still, the experience? Priceless. Since then, I've gone full freelance, cranking out parsers, bots, and other stuff on Django, containerizing them with Docker right off the bat. For two years now, I write maybe 10% of the code myself – AI handles the rest.

Prototype and snap2txt – My Vibe Coding Backbone

Over these two years, I've built up my own toolkit that's become the core of my approach. Meet Prototype and snap2txt – two things I don't start a project without.

Prototype: Fast Starts With No Headache

Prototype is my quick-start kit for Django projects in a Docker container. Why Docker over venv? Because it gives full environment isolation and guarantees that whatever runs on my machine will run on a server – be it Railway.app, DigitalOcean, or wherever. Inside, you've got a Dockerfile, docker-compose with basic settings, a helper for the OpenAI API, and a shell script that fires everything up with one command. Clone the repo, name your project, run ./setup.sh – and in a couple seconds, you've got a working Django container on localhost.

snap2txt: Instant Project Context

I built this utility a year and a half ago and use it almost daily. It's dead simple: takes a project, merges all the relevant files into one text file, and skips junk like node_modules or .git via an ignore list similar to .gitignore. There's a whitelist too, if you only want specific files. Then you just tell the AI what to do and roll with it.

How's it work? Say you've got a Django project. Run snap2txt --il, get a project_contents.txt, throw it into Cursor Composer or any AI chat – and the neural net instantly groks the whole structure. Write a prompt, one or two requests – done. Without snap2txt, I'd still be manually drag code chunks around, like an animal.

Why's It Handy?

These tools save a ton of time. Prototype kills the hassle of environment setup, snap2txt cuts the headache of passing context. Toss in Cursor (my favorite since you don't even need to create files) or any chat model like Claude, DeepSeek, or ChatGPT – and you can slap together a working prototype in an hour that'd normally take a week or two. Whip up a Telegram bot, a data parser, or a self-hosted Telegra.ph on markdown in three minutes:

The Future's Coming: AI Codes, We Do What?

All this time, I've been wondering: where's this headed? Two years ago, I couldn't imagine 90% of my project code wouldn't need to be written. Now it's real. And if Zuckerberg's to be believed – promising that by 2025, mid-level code at Facebook will come from AI assistants – we're just getting started.

AI Code – The New Shitcode?

Serious Folks™ are already grumbling that vibe coding's just a fancy way to pile up technical debt. They're not entirely wrong. AI-generated code can sometimes look like "it works, don't ask how". You'll get something, stare at it, and wonder, "Where's the XSS hiding?" Or it runs fine on your machine but crashes on the server because the AI forgot about Debug = True. Left unchecked, it's a ticking time bomb.

But I think that's temporary. Systems are getting smarter. In a couple years, we might not need to dig into the details at all. AI will write, test, and deploy; auto-monitoring will monitor; and coders will turn into operators. You sit, watch the screen, occasionally slap the AI's wrist, and hit the "red button" if shit hits the fan.

What Skills Stick Around?

If we don't need to write code, then what? I reckon the future belongs to those who can ask the right questions. Not "how do I write this function", but "what do I even want to build". Design skills, architecture know-how, breaking tasks into chunks, and explaining them to AI – that's what'll matter. Plus enough basics to spot decent code from trash. Vibe coding isn't about ditching programming; it's about shifting from grunt work to ideas.

A quick aside on "demand". With more programmers around lately, demand for software hasn't dropped – it's grown. What happens when an average coder paired with AI pumps out 10x more software? We'll need even more software. Not 100% sure, but that's the vibe I'm picking up, if you will.

Good or Bad?

Honestly – no clue. Nobody knows. But for me, these two years with AI have been a straight shot of knowledge. I've grown more as a programmer than in the previous eight years combined. All without forums, awkward Q&A site questions – just chatting with a neural net. For an introvert like me, it's perfect. For the industry? Maybe we're heading toward a world where coding's not done by programmers, but by those who can "vibe" with AI. And that's not some far-off future – we're damn near there already.

Heroku

Deploy with ease. Manage efficiently. Scale faster.

Leave the infrastructure headaches to us, while you focus on pushing boundaries, realizing your vision, and making a lasting impression on your users.

Get Started

Top comments (5)

Collapse
 
benr77 profile image
Ben

So you're throwing you app's entire codebase into an AI. What about privacy concerns?

The IP contained in your app is being uploaded into someone else's system. I can't believe a lot of companies would be OK with that.

And what about exposing secrets like your database passwords, email gateway credentials? You talk about an ignore list but the potential for this process to expose sensitive info is pretty high.

Collapse
 
vorniches profile image
Sergei Vorniches

I see here valid, though general, concerns that could arise with a person who has never used neural nets for coding or never read the original post in full. Allow me to address those concerns.

Even if you wish to load an entire codebase as context for the AI, it isn't a good idea – not because of some ephemeral security worries, but simply due to inefficiency. Even if the context size of the neural net you're working with is large enough to handle a project of, say, 100k lines, it won't function well, as it simply can't operate effectively at that scale. I personally recommend working within an active portion of your project containing no more than 1.5-3k lines of code to effectively utilize modern consumer or open-source neural nets. Less is invariably better.

And may God help you if you store essential security details such as database passwords or sensitive credentials directly in code. Please contact a professional for assistance. Never, ever keep your keys or passwords in your code, kids. All other security concerns remain exclusively the developer's responsibility. AI is a tool – much like a code editor or a keyboard – and doesn't have the capability or responsibility to decide on security matters. Such decisions must always be made by a sensible individual in their right mind.

In this post specifically, I'm not arguing for placing large-scale corporate projects into publicly accessible AI models. I am literally sharing my experience of rapid, highly efficient prototype development from scratch using my own automation tools paired with an AI model of the reader's choice. Corporate development using internal AI solutions and open-source models is already happening, as far as I'm aware. The corporate application of AI development isn't merely my imagination – it is exactly what Mark Zuckerberg mentioned they are doing internally at Facebook. Naturally, some companies will remain cautious about adopting AI for a considerable time; history is filled with examples of those who were left behind.

Collapse
 
benr77 profile image
Ben

I take your point about this approach mainly being used for fast prototyping and not formal corporate projects.

Regarding secrets being in the codebase - yes of course what you describe is best practice, but mistakes happen - that's why you have tools in CI pipelines to scan the repo for credentials, so when mistakes do get made, and a secret is accidentally committed, it can be rectified and rotated. I am not aware of any such process for AI prompts - does this kind of thing exist?

Collapse
 
silviu_dusa_b8a3a70cf2342 profile image
Joe DiMaggio • Edited

I have also been doing 'vibe coding' since the times you mention. recently I have tried to do an app using Python for the backend and React for the front. I am versed in Python and a beginner for React. Some of the things are mind boggling, like for example I can give it a screenshot and it is able to create a valid entry screen based on it. And as I progressed along, being in awe for a good part of it, I got to a point where it all blew up. So, I am updating a screen and I see that the info is not rendered in the edit box. And I mention that to the 'copilot'. And what it does it makes it that the information is now retrieved from the back end every nano second or so. And this for one user. So in case of thousands of users the backend would have been overwhelmed with requests. So much for 'vibe coding'. But don't get me wrong, I think 'vibe coding' is great for prototypes and one off or great helpers in case I am stuck. But if I do not know what I am doing it is just going to generate AI slop. No better example than this: Cybernews did research on hundreds of thousands of apps in the App Store and they discovered that a a great amount of them are badly handling the secrets (passwords, keys, logins and so on). And these apps coded by humans. Now imagine unchecked code by AI...

I would take the promises of the Facebook guy and the Anthropic guy with a grain of salt. They all have something to sell. They do not make yet money out of their AI investments.

Collapse
 
nicktesh profile image
Nick Tesh

It seems like a lot of people are still unsure what vibe coding is. I spun up whatisvibecoding.com/ to try and help others.

Image of Timescale

📊 Benchmarking Databases for Real-Time Analytics Applications

Benchmarking Timescale, Clickhouse, Postgres, MySQL, MongoDB, and DuckDB for real-time analytics. Introducing RTABench 🚀

Read full post →

👋 Kindness is contagious

DEV offers a tailored experience (with personalized settings such as dark mode) when you're signed in!

Get Started