Blog

Vibe coding: building web mini-games by conducting an orchestra of agents

Luigi's Pizza House was built entirely with vibe coding. Nobody wrote its code by hand: the work was directing AI agents, making design decisions and polishing every UX and UI detail.

October 1, 20267 min readDiego Ramírez Leria

Luigi holding a freshly baked pizza surrounded by the neighbours of his pizzeria in Luigi's Pizza House

Every afternoon, Luigi opens his small neighbourhood pizzeria: four tables, an oven with two slots and six neighbours with tastes of their own. You take the order, place every slice of pepperoni on the dough, make sure nothing burns, then serve and collect the bill.

This is Luigi's Pizza House, a cozy 3D game you can play for free in the browser or download for Windows. It has one unusual feature: it was built entirely with vibe coding. Not a single line of its code was written by hand.

The interesting part is not that an AI generated code. It is how the creator's role changes: you stop playing every instrument and start conducting the orchestra.

What vibe coding is (and what it is not)

Andrej Karpathy coined the term in a post from February 2025: a way of programming where you describe what you want, the AI writes the code and you forget the code even exists. Later that year, Collins named it word of the year.

In practice, the loop is simple: describe, test, observe and ask again. You do not read functions or debug variables. You judge the result the way a player would: is it clear, does it respond well, does it convey what you were aiming for?

What it is not: pressing a button and receiving a finished game. A first prompt produces a prototype. What turns that prototype into something people want to play is hundreds of later decisions, and those decisions are still human.

Luigi's Pizza House: a complete game, without writing code

Luigi's is not a one-button demo. It includes:

  • 13 recipes, from the Margherita to La Festa, with 32 to 50 ingredients placed one by one as 3D pieces.
  • Six neighbours with a memory, who have preferences and never repeat their last order.
  • A two-slot oven that makes you prepare one pizza while another bakes.
  • Fifteen illustrated mishaps that ask you to decide: a rebellious pipe, a power cut, a critic in disguise.
  • A full day with dynamic light from 13:00 to 21:00, upgrades for the pizzeria, a practice mode and autosave.
  • Four languages, subtitles and optional voiced lines.

Luigi's Pizza House prep table with La Festa pizza and hand-placed ingredients

Under the hood run Nuxt, Vue, Babylon.js, Blender and Electron. Directing the project does not require mastering any of them. It requires knowing what experience you want to build and recognising when the result is not there yet.

From programmer to conductor

A conductor does not play the violin while conducting. They set the tempo, the intention and the character of the piece, and they notice the moment something goes out of tune.

Vibe coding feels very similar. You can coordinate several AI agents at once, each with a clear responsibility: one builds a mechanic, another reviews what the first one produced, another plays through the whole flow looking for bugs and another adapts the text for each language.

Your job is to:

  • Write the brief clearly: what you want, who it is for and what is out of scope.
  • Break the project down into pieces an agent can solve without losing context.
  • Compare proposals and keep the one that best fits the overall vision.
  • Say no. Every new feature adds complexity, and someone has to guard against it.

None of this requires technical knowledge. It requires judgement, persistence and a good ear for what sounds off.

Time that used to go into code now goes into design

When you no longer spend hours fighting syntax, that time is free for what the player actually perceives.

Luigi's is full of decisions that have nothing technical about them and change everything. Ingredients never fill themselves in: each piece is placed by hand, because that is where the pleasure of the game lives. Illustrated scenes always show the pizza you actually made, not a generic one. Almost half of the mishaps are good news, so the tone stays cozy.

Illustrated mishap scene in Luigi's Pizza House: a burst pipe soaks Luigi as the plumber arrives

There are small touches that add personality too: Luigi sweeping before opening, warm lamps glowing at dusk, and Biscotto, the cat who naps by the door. None of them is essential for the game to work. All of them make you want to come back.

That is the real shift: the value is no longer in writing the code, but in deciding what is worth building and how it should feel.

UX and UI: where direction shows the most

An agent can create a working interface in minutes. Making it clear, comfortable and enjoyable means looking at it through a player's eyes and asking for changes precisely.

Dining room view in Luigi's Pizza House showing orders, oven status and a button with the next action

Some interface decisions in Luigi's:

  • One main action. A large button suggests the next step, such as taking the order at table 3 or collecting the bill at table 1.
  • Status always in view. Active orders, each order's progress and both oven slots stay on screen.
  • Reversible mistakes. Correct and Undo are always available at the prep table, so getting something wrong carries no penalty.
  • Any device. It works with a mouse or touchscreen, and the keyboard offers shortcuts for those who prefer them.
  • Peace of mind. Autosave lets you resume a half-finished day, and the game tells you so.

End-of-day summary in Luigi's Pizza House with pizzas served, coins earned and available upgrades

The method never changes: play, note where friction appears and describe it precisely. "I don't like it" barely helps an agent. "It takes me too long to find where to collect the bill" gives it a concrete problem to solve.

How to start your own mini-game or web app

Mini-games and simple web apps are the ideal place to begin: limited scope, visible results and immediate feedback when something does not work.

  1. Pick one core mechanic. In Luigi's, it is placing ingredients. If that action is not fun, nothing you add around it will save it.
  2. Write the vision on a single page. Who it is for, what the player should feel and what stays out of the first version.
  3. Ask for something playable as soon as possible, even if it is ugly. Looks can be polished later; pacing, not so much.
  4. Change one thing at a time and ask the agents to keep versions, so you can go back when something breaks.
  5. Let other people play. Watch where they hesitate before asking what they think.
  6. Save time for polish: sound, transitions, copy, empty states and error messages. That is where perceived quality is decided.

Where the limits are

Vibe coding shines in mini-games, prototypes, internal tools and web apps with a clear scope. When payments, personal data or critical systems are involved, add an expert technical review, something we discussed when writing about Turbo-Mailer and SaaS as we knew it.

Transparency matters too. Luigi's page states which parts relied on AI, from development to illustrations, music and voices, and makes clear that nothing is generated while you play. Third-party assets, such as the KayKit characters, are credited.

You can play Luigi's Pizza House for free on itch.io and see how far a vibe-coded project can go today. If you have a mini-game in mind for your brand, an event or a simple web app, tell us about your idea. At Viseni, we can help you turn it into a polished, playable experience with real personality.

Related services