Pedro Tamburro is a product designer & design engineer crafting digital products end to end.

A browser pinball built for brand activations: three stages that tell the story of an event night, hand-written physics, 3D art and AI narration, with no engine and no libraries.
Overview
A browser pinball carrying Vira's identity, designed for kiosks, tablets and phones at brand activations. The Main Stage machine has three stages, multiball, skill shot, combos and a final encore. Everything runs on 2D canvas and plain JavaScript, with art rendered in Blender from the game's own geometry and voice lines generated with ElevenLabs.
Details
In motion
Brand activations at events are usually giveaways and photo booths, with the logo on a screen everyone skips. Vira wanted the opposite: people having real fun and walking away linking that fun to the brand.
Game design, art and sound direction, and the code, with Claude Code as an engineering partner and Blender and ElevenLabs producing the assets.
A playable prototype on phone and desktop, published and tested by Vira's partners. It hasn't debuted at an event yet: it's the first piece in a line of activation games.
Vira is an events company with its own ticketing platform. At an event, a brand competes for attention with the stage, the bar and the queue, and the usual activation loses that fight: people grab the giveaway, take the photo and forget whose booth it was. The idea was to make simple, genuinely fun games with the brand inside the game rather than on a splash screen. The first one is a pinball, because anyone understands it in three seconds by watching someone play, a match is short and it makes you want another go.
Keyboard: ← → for the flippers, hold and release space to launch. Touch: tap left or right, hold on the right to launch.
Two stretches of the same match on the Main Stage machine: the first 34 seconds, in which the table goes through all three stages, and the Final Encore. For recording, the game runs on a manual clock with seeded randomness while an automated player works the flippers: the same match replays frame by frame, with no loss of image quality. The real game is in the section above.
Same table, different mood. With each stage gravity goes up, bumpers kick harder and the ball-save window shrinks: ten seconds in the first, seven in the second and four in the third. The stage belongs to the whole game, so losing a ball never sends anyone back to the start.
The first version had a table, flippers and a score, and got old after two matches. Before investing in art, I studied what makes a real pinball machine hold a player and brought to the table whatever fit into a one-minute match.
The game uses no engine and no physics library. The table is described in logical units, in a single file, as walls made of segments and arcs, bumpers, targets, slingshots and flippers, and the simulation advances 480 steps per second, which keeps the ball from tunneling through a moving flipper. Writing the physics by hand made every flaw visible and cheap to fix. One example: the ball used to get stuck in the V between the guide and the flipper, and the fix was to shorten the guide so it ends just above the pivot. A ball that sits still for too long is also detected and put back into play.
The art is rendered in Blender by scripts that read the same table file the physics uses. Move a wall in the game and the render moves with it, so art and collision never drift apart. The game starts by drawing the vector version and swaps to the renders once they finish loading, so it never waits on an image.
Sound effects are synthesized in the browser, with no audio files at all: flipper, bumper, plunger and reward sounds are generated on the fly. The voice lines belong to the DJ and the Producer, two characters from Vira's cast of unicorns, generated with ElevenLabs. The Main Stage has fourteen lines, for start, new stage, multiball, jackpot, ball saved and game over, and only one plays at a time so the DJ doesn't talk over himself in the middle of a multiball.
The menu, with an opening video rendered in Blender in the background and the two machines. The second one, Fila Zero, is still in its first version.
I built the pinball with Claude Code as an engineering partner, in conversation. I brought the idea, the references, the brand vocabulary and the game decisions; the AI wrote the physics, the rules and the art scripts. Blender and ElevenLabs came in as tools inside that same conversation, so the table, sprites, opening video and voice lines came from the same place as the code. What I didn't delegate was playing. Every round of tuning started with me playing and saying what was wrong: the ball that got stuck, the stage that dragged, the flipper that fired along with the plunger on the phone.
In two days the pinball went from idea to a complete browser game, which Vira's partners tested on their phones. It hasn't been to an event yet, and the second machine is still in its first version. The activation line already has its next games sketched: a whack-the-scalper game, a tower of bar cups and a unicorn race on the big screen, where the whole crowd plays from their phones. The same rules apply to all of them: matches of up to one minute, instant restart, the day's leaderboard in plain sight and the brand inside the scenery.