Atelier Éclat — a photoreal restoration game inside Snapchat
Most cleaning games fake it with flat images. I wanted the real thing: a muddy collector's object in true real-time 3D, running inside Snapchat with no download.
What I built
• A photoreal workshop scene: real-time 3D objects with clean and dirty materials, studio lighting and a turntable you rotate by hand
• Thumb-anywhere aiming of a brass pressure lance; the water stops at the first surface it hits, splashes and leaves wet, shining areas that dry over time
• Six collector objects for Season 1 (helmet, radio, model coupé, lantern, watering can, mantel clock), unlocked one by one
• Per-part progress to 100%, a hold-to-compare before/after view, English and French, progress saved with Snap storage
• Each object optimized to about 1 MB so the whole season fits Snapchat's 8 MB Web Lens limit
Result
• Published on Snapchat as a public game Lens (October 2026); Season 1 update with all six objects delivered to Snap
• Submitted to the Snap × Lenslist Web Lens Game Challenge
My role: Game design, 3D asset pipeline, gameplay and rendering code, UI/UX, launch film
Stack: three.js, TypeScript, Vite, Blender, Snapchat Web Lens API
Play: https://www.snapchat.com/lens/ae28ccd7037c41589c4b95dbc56241e8
0
16
Runaway Courier — a 3D rooftop runner inside Snapchat
Endless runners are fun for a minute, then they all feel the same. Runaway Courier gives every run a purpose: deliver the parcel before a cop and his bulldog catch you.
What I built
• A 3D rooftop runner across 7 worlds and 21 levels: old town, glass towers, desert kasbahs, forest bridges, snowy peaks, harbour docks and floating sky islands
• Swipe controls built for thumbs: change lanes, jump, slide, with every gesture buffered so nothing feels missed
• A live chase: each mistake brings the cop and his bulldog closer; run out of energy and you are busted
• An economy that keeps players coming back: deliveries, tips and clean-run bonuses fill season earnings and unlock new levels
• English and French, progress saved with Snap storage, the whole game in a 2.7 MB package
Result
• Published on Snapchat as a public game Lens (October 2026), approved by Snap in under an hour
• Submitted to the Snap × Lenslist Web Lens Game Challenge
• Game rules, collisions and missions covered by automated tests
My role: Game design, gameplay and 3D programming, level design, UI/UX, launch film
Stack: three.js, TypeScript, Vite, Vitest, Snapchat Web Lens API
Play: https://www.snapchat.com/lens/f7789876517d46d0912bfc5e68e4e2bf
0
15
Stunt Race — stunt racing with your own Bitmoji at the wheel
Mobile racing games put a stranger behind the wheel. Stunt Race puts the player's own 3D Bitmoji in the driver's seat and on the winner's podium, right inside Snapchat.
What I built
• Level-based stunt racing against five rivals on three tracks: Golden Canyon, Harbor Run and Twilight Skyway
• Traps announced ahead of time (wrecking balls, falling containers, hammers), ramps, and a turbo charged by close calls and overtakes
• Touch controls designed for one-handed play: steering stick, brake and throttle pedals, turbo button
• A podium celebration with the player's Bitmoji, plus a garage of four cars unlocked with the stars earned in every race
• Progress saved with Snap storage and a friends leaderboard ranking total stars
Result
• Published on Snapchat as a public game Lens (October 2026)
• Submitted to the Snap × Lenslist Web Lens Game Challenge
• 3 tracks, 5 rivals and 4 cars in a package under Snapchat's 8 MB limit
My role: Game design, gameplay and 3D programming, UI/UX, publishing, launch film
Stack: three.js, JavaScript, Snapchat Web Lens API (3D Bitmoji, storage, leaderboards)
Play: https://www.snapchat.com/lens/25de44c51400435caabdce9ca66b6a5d
0
13
Tricky Days — Season 1: story puzzles starring your own Bitmoji
Puzzle games rarely feel personal. In Tricky Days the hero is you: the game loads each player's own 3D Bitmoji and drops it into the craziest week of their life.
What I built
• 40 story puzzles across five days, from Monday's mountain of dishes to Friday's party of the year, each with one clever and often absurd solution
• Drag-and-tap gameplay with hints, a timer and a three-star rating per level
• 138 gag cards: every wrong idea plays a funny reaction and joins the player's album
• Bitmoji styles to unlock with stars, a daily "Tricky Day" challenge with streaks, and a friends leaderboard
• A season structure: the finale teases Season 2, designed as an update to the same Lens that keeps every save
Result
• Published on Snapchat as a public game Lens (October 2026)
• Submitted to the Snap × Lenslist Web Lens Game Challenge
• 40 levels, 138 gags and a full season shipped in a package under Snapchat's 8 MB limit
My role: Game design, puzzle and level design, gameplay programming, UI/UX, launch film
Stack: three.js, JavaScript, Snapchat Web Lens API (3D Bitmoji, storage, leaderboards)
Play: https://www.snapchat.com/lens/54db6efe555c49669b26ae92bb129237
0
11
Coast Drive — an endless highway racer inside Snapchat
A racing game has to feel fast within the first second, or players swipe away. Coast Drive drops you on a sunny coastal highway and asks one question: how far can you go?
What I built
• An endless highway racer: hold the pedal, steer with the stick and weave through traffic at up to 320 km/h
• Close calls charge a nitro boost with exhaust flames, so risky driving is rewarded
• Three lives per run, a live speed and distance readout, and a short countdown start
• Best distance saved with Snap storage and a friends leaderboard showing the distance to beat
• Touch-first controls and a full English interface, packaged at 3.2 MB
Result
• Published on Snapchat as a public game Lens (October 2026)
• Submitted to the Snap × Lenslist Web Lens Game Challenge
My role: Game design, gameplay programming, UI, publishing, launch film
Stack: three.js, JavaScript, Snapchat Web Lens API (storage, leaderboards)
Play: https://www.snapchat.com/lens/34a5ed8dffa1449dbcfea83f2bc6ca47
0
12
Basket Rush, an arcade basketball game for Snapchat, built with Lens Studio. 20 seconds on the clock, flick the ball and score as many baskets as you can. What do you think?
1
2
112
101 Darts, a darts duel for Snapchat, built with Lens Studio. Swipe up to throw, count down from 101 and finish exactly on zero. What do you think?