Why vibe coding isn’t quite there yet
At least for me, vibe coding is not an efficient option for creating prototypes that require detailed interactions
During this tough job market, I know I should be spending my time prepping for interviews, submitting applications, or working on my side hustle when things are quiet. And honestly, I was until I hit a few rejections and decided to pause. (For what it’s worth, I did polish up my portfolio case studies first.)
Instead of diving into more job apps, I decided to try something different. I started messing around with Cursor, a tool I’d heard about from job listings that mention “vibe coding” or AI coding tools like Lovable. I figured, why not test it out?
The experiment: A game built with Cursor
To test Cursor’s limits (and have a little fun), I decided to build a simple game. I didn’t want to create yet another clone of something that already exists, so I flipped the classic Snake game on its head.
Instead of controlling the snake, you play as the bait.
Here’s the twist:
-
You can move the bait to any tile, but there’s a 2-second cooldown each time you do.
-
If the snake misses the bait, it gets shorter and faster. The longer it goes hungry, the more aggressive it becomes.
The idea is to create tension: as the bait, you’re constantly on the run, with just enough time to make your move.
Where Cursor fell apart
As I started prompting Cursor to build and refine the game, the cracks started to show:
-
Pathfinding logic broke down. I wanted the snake to navigate intelligently—avoiding walls, dodging its own body, and finding the optimal path to the bait. But when I asked Cursor for predictive logic or path optimization, it kept overwriting large parts of the JavaScript code and never produced a workable solution. Performance was also a major issue: slow loading, laggy gameplay, and constant errors. After multiple frustrating back-and-forth attempts, I eventually gave up on making the snake “smarter.”
-
Corner sprites were misused. I designed corner images to visually reflect snake turns. But Cursor didn’t understand what “turning” actually meant it kept applying corner images to straight segments or turning them the wrong direction entirely.

The bigger issue: Skill limitations
Here’s the real problem. I don’t have deep JavaScript or math skills to manually debug the pathfinding or correct the sprite logic. I was relying on Cursor to bridge that gap.
But if Cursor can’t understand basic tile-based logic like “only show a corner sprite when the snake turns” then as someone who lack of the deep knowledge of JavaScript, I’m stuck. I can’t fix it myself, and I can’t finish the game the way I envisioned.
Maybe it’s because I’m using the free version of Cursor. Maybe the tech just isn’t there yet. Either way, this was a reminder: vibe coding might feel magical at first, but when it comes to real logic and precision, it still has a long way to go.