Vibe Coding: Great at the Vibes, Lacking in Detail cover image
Vibe Coding

Vibe Coding: Great at the Vibes, Lacking in Detail

Curious about “vibe coding,” I tried using Cursor to build a simple twist on the classic Snake game. The idea was fun, but once the project required real logic like pathfinding and sprite behavior, the limits of AI-assisted coding became clear.

Cursor

Why Vibe Coding Isn’t Quite There Yet

At least for me, vibe coding isn’t an efficient way to build prototypes that require detailed logic or complex interactions.

With the job market being tough right now, I know I should probably be spending most of my time preparing for interviews, submitting applications, or working on my side projects. And to be fair, I was doing that for a while until a few rejections came in and I decided to take a short break. (I did finish polishing my portfolio case studies first.)

Instead of sending out more applications, I started experimenting with Cursor, a coding tool I kept seeing mentioned in job postings alongside terms like “vibe coding” and AI-assisted development. I figured it would be a good chance to see what these tools could actually do.

The Experiment: Building a Game

To test Cursor’s capabilities, I decided to build a small game.

Rather than making a typical clone, I wanted to try a twist on the classic Snake game. Instead of controlling the snake, you play as the bait.

The mechanics were simple:

  • You can move the bait to any tile on the grid.
  • Each move has a 2-second cooldown.
  • If the snake misses the bait, it becomes shorter and faster.
  • The longer the snake goes without catching the bait, the more aggressive it becomes.

The goal was to create tension. As the bait, you’re constantly escaping, waiting for the cooldown to end before making your next move.

Where Cursor Struggled

As I continued prompting Cursor to build and improve the game, a few problems started to appear.

Vibe Coding: Great at the Vibes, Lacking in Detail content image

I wanted the snake to move intelligently, avoiding walls, navigating around its own body, and choosing an efficient path toward the bait. But every time I asked Cursor to add predictive movement or path optimization, it rewrote large parts of the JavaScript and never produced a working solution. Performance also suffered. The game became slow, buggy, and inconsistent. Eventually, I gave up on trying to make the snake smarter.

Vibe Coding: Great at the Vibes, Lacking in Detail content image

I designed corner sprites so the snake would visually turn at corners. But Cursor couldn’t seem to understand when a turn was actually happening. Corner images were applied to straight segments or rotated incorrectly, which broke the visual logic of the snake’s movement.

The Real Limitation

The bigger issue wasn’t just Cursor. It was my own skill limitations.

I don’t have deep JavaScript or mathematical knowledge to manually debug pathfinding algorithms or rewrite the sprite logic myself. I was hoping Cursor could fill that gap.

But if the AI can’t reliably interpret basic tile-based rules, like “only use a corner sprite when the snake changes direction,” then someone without strong programming knowledge ends up stuck. I couldn’t fix the problems myself, and Cursor couldn’t finish the job either.

Maybe the issue is that I’m using the free version. Maybe the technology just isn’t mature yet.

Either way, the experience reminded me of something important: vibe coding can feel impressive at first, but when a project requires precise logic or deeper technical understanding, it still has a long way to go.