Right way to vibe code that actually works

Published: (January 11, 2026 at 08:05 AM EST)
4 min read
Source: Dev.to

Source: Dev.to

šŸ“ Engineering’s Current Situation

You’ve probably heard it a ton of times: software engineers are going to be replaced by AI systems, agents, and tools.

We won’t comment too much on that—no one is clear about it yet. But a few predictions and trends are already happening in the industry:

1ļøāƒ£ Small teams are becoming extremely effective and productive.
2ļøāƒ£ People with agency and intent are being preferred over those who are merely skilled or smart.
3ļøāƒ£ Companies will move even faster than before.
4ļøāƒ£ Software is building itself.

😳 Examples


ā“ Should you use AI or not?

The real question isn’t whether you should use AI, but how you should use it.

A lot of people don’t know whether they are doing vibe coding or AI‑assisted coding. There’s a huge difference between the two.


šŸ“ Usual Way of Vibe Coding

Vibe‑coding workflow generally looks like this:

  1. You have an agentic IDE (e.g., Cursor, Windsurf) or CLI agents (e.g., Claude Code, Gemini CLI).
  2. You put a prompt in the chat window.
  3. Your agent reads the prompt, plans, and then starts generating code.

This method works for very small features or when you’re starting from scratch because:

  • Starting with a fresh context/instance of the agent works for a while.
  • As you keep generating code, the agent drifts from the original intent.
  • Small & simple features can be implemented by most LLMs (Claude, Grok, etc.).

Software engineers meme


šŸ“ When Things Actually Break

When someone starts working on larger codebases, complex features, or end‑to‑end products, agents struggle because:

  • They drift away from the human‑given prompt or intent.
  • Their performance degrades as the context window fills up.
  • They hallucinate with confidence, lacking verification loops.

šŸ‘‰ As a result, users generate thousands of lines of code only to discover that nothing works. Refactoring such a codebase becomes tedious and requires many iterations.

This creates a pseudo‑productivity boost—lots of iterations and headaches.


So, How Should We Vibe‑Code?

Vibe coding meme

No, the picture above does not show how you should code 🤪.

Coding remains a fundamental problem‑solving method where structure wins, even with powerful code‑generation LLMs. Using first principles, the process looks like:

  1. Write a PRD (product/feature requirement document).
  2. Break the PRD into specs.
  3. Create tech docs and then sub‑tasks.
  4. Assign sub‑tasks to your team (or to an inner‑loop LLM).
  5. Verify the implementations.

The inner loop (code generation) solves part of the problem, but something is still missing…


šŸ“ The Outer Loop

Missing pieces that keep LLMs from fully handling coding are:

1ļøāƒ£ Writing a PRD.
2ļøāƒ£ Dividing the PRD into specs.
3ļøāƒ£ Making tech docs and sub‑tasks.
āš ļø Assigning sub‑tasks to the team (or to an inner‑loop LLM).
4ļøāƒ£ Verifying the implementations.

This is where a new field shines: Spec‑Driven Development.

Several products aim to solve spec‑driven development by generating PRDs, planning well, verifying each agent’s code step, and preventing drift from the user’s intent. Notable examples:

  • Traycer
  • Kiro
  • Spec‑kit

My friends are especially obsessed with Traycer because of its intuitive EPIC mode.

Problems Traycer Solves

  • Capturing human intent from a simple prompt.
  • Preventing agents from deviating from that intent.
  • Consuming fewer tokens and avoiding context bloating.
  • Verifying each change so you don’t ship hallucinations with confidence.

Sneak Peek: Traycer AI EPIC Mode

Traycer EPIC mode

Why Traycer AI Is My Partner Nowadays

  • Starts with a simple prompt.
  • Interviews you about the problem statement, tech stack, edge cases, and other high‑level questions.
  • Generates PRDs, specs, tech flows, wireframes, sequence diagrams, and user‑flow diagrams.
  • Breaks the plan into smaller tickets that you can hand over to any AI agent (Claude, Grok, Cursor IDE, etc.).
  • Verifies each generated piece of code.

With a solid outer loop (spec‑driven development) and a reliable inner loop (AI‑assisted code generation), you can finally harness AI without the drift, hallucinations, and endless refactoring.

# Updates & Recent Shipments

Each and every change helps prevent our agents from drifting or deviating in the wrong direction.

## šŸ“ Recently shipped products

- **Building your own Redis**
- **Building my own WhatsApp** – supports semantic search across messages
- And many more projects we’re building and loving in EPIC mode ā¤ļø
Back to Blog

Related posts

Read more Ā»