I Stopped Writing Code. Here's What I Do Instead (Vibe Coding in 2025)
Source: Dev.to
What is Vibe Coding?
The term was coined by Andrej Karpathy (yes, the Tesla AI guy) in early 2025:
“It’s not really coding — I just see stuff, say stuff, run stuff, and copy‑paste stuff, and it mostly works.”
Instead of writing code line‑by‑line, you:
- Describe what you want in plain English
- Let AI generate the code
- Run it and see what happens
- Paste errors back to the AI to fix
That’s the whole workflow.
Why Should You Care?
According to JetBrains’ 2025 developer survey:
- 85 % of developers now use AI tools regularly
- 62 % rely on at least one AI coding assistant
- Developers save 1–8+ hours per week
This isn’t a fad. It’s the new normal.
Free Tools to Start Vibe Coding Today (No Credit Card Needed)
You don’t need to spend a dime to get started. Here are completely free options:
| Tool | What It Does | Why It’s Great |
|---|---|---|
| Cursor | AI‑powered IDE | Free tier with 2 000 completions/month |
| Codeium | Code autocomplete | 100 % free, unlimited, no catch |
| Continue.dev | Open‑source AI assistant | Free forever, works with VS Code |
| Aider | Terminal AI pair programmer | Free & open source |
| Claude.ai | Chat‑based coding help | Free tier available |
| ChatGPT | General AI coding | Free tier available |
| GitHub Copilot | Inline suggestions | Free for students & open‑source maintainers |
My recommendation for beginners: start with Codeium (unlimited free) + Claude.ai (for complex questions). Zero cost, full power.
Paid Tools (When You’re Ready)
Once you’re comfortable, these tools are worth the investment:
| Tool | Cost | Best For |
|---|---|---|
| [Insert paid tool name] | $X/month | Specific use‑case |
But seriously, the free tools are incredibly capable. I used only free tools for my first 6 months of vibe coding.
Real Example: Building a URL Shortener in 10 Minutes
Prompt I gave Claude (free tier):
Create a FastAPI URL shortener with:
POST /shorten– accepts a URL, returns a short codeGET /{code}– redirects to the original URL- SQLite storage
- Rate limiting (10 req/min per IP)
AI‑generated (working) code:
from fastapi import FastAPI, HTTPException, Request
from fastapi.responses import RedirectResponse
from slowapi import Limiter
from slowapi.util import get_remote_address
import sqlite3
import string
import random
app = FastAPI()
limiter = Limiter(key_func=get_remote_address)
def init_db():
conn = sqlite3.connect("urls.db")
conn.execute("""
CREATE TABLE IF NOT EXISTS urls (
code TEXT PRIMARY KEY,
url TEXT NOT NULL
)
""")
return conn
@app.post("/shorten")
@limiter.limit("10/minute")
async def shorten(request: Request, url: str):
conn = init_db()
code = ''.join(random.choices(string.ascii_letters, k=6))
conn.execute("INSERT INTO urls VALUES (?, ?)", (code, url))
conn.commit()
return {"short_url": f"http://localhost:8000/{code}"}
@app.get("/{code}")
async def redirect(code: str):
conn = init_db()
result = conn.execute(
"SELECT url FROM urls WHERE code = ?", (code,)
).fetchone()
if not result:
raise HTTPException(404, "Not found")
return RedirectResponse(result[0])
Ran it. Worked on the first try. 10 minutes including testing. Cost: $0.
The Prompting Secret Nobody Talks About
- Bad prompt: vague, missing constraints
- Good prompt: specific, includes exact requirements (e.g., “Add/delete/toggle todos, LocalStorage persistence, filter: all/active/completed, Tailwind CSS styling, responsive design”)
The difference? Specificity. The more constraints you give, the better the output—think of it like giving directions: “go somewhere nice” vs. “go to the Italian restaurant on 5th Street.”
When Vibe Coding Fails
It’s not magic. It struggles with:
- Complex algorithms – AI may produce O(n²) when O(n) exists
- Security‑critical code – always review auth/crypto manually
- Large codebase refactors – context‑window limits hurt
- Highly custom business logic – AI doesn’t know your domain
I still write code manually for ~30 % of my work. The 70 % automation? A game changer.
How to Start Today (5‑Minute Setup)
Option A: Browser Only (Easiest)
- Go to or
- Describe what you want to build
- Copy the code, run locally
Option B: IDE Integration (Better)
- Install VS Code
- Add the free Codeium extension ()
- Start typing — AI suggests completions
Option C: Full Vibe Coding Setup (Best)
- Install Cursor (free tier)
- Open any project
- Press Cmd+K / Ctrl+K
- Type what you want in English, hit Enter, and watch
Start with small tasks:
- “Add a loading spinner to this button”
- “Convert this function to async/await”
- “Write tests for this module”
Build confidence, then go bigger.
The Future Is Conversational
In five years I believe:
- Junior dev interviews will test prompting skills
- “Vibe coder” will be a real job title
- Writing code manually will feel like writing assembly
Developers who adapt now will have a massive advantage.
Want more developer tutorials?
I write in‑depth guides on AI, Python, and modern development at — practical tutorials from engineers who actually ship products.
What’s your experience with AI coding tools? Drop a comment — I reply to everyone.