02 — Fragrance · Ask
Maison Lumière
Fictional fragrance house
Five questions build a moodboard, and the moodboard picks your signature scent. Live answers from everyone who took it.
Take the surveyFrom sketch to live
Irvan Fahlepi
Senior full-stack developer for games, quizzes and interactive stories, from first sketch to live.
The brief
Four pieces built for the work luxury and beauty houses commission: a game, a survey, a scroll story, and the build behind them. Each is live, tested on real devices, and measured.
01 — Beauty · Play
An unofficial L’Oréal Paris concept. A 30-second colour game with a leaderboard you can’t fake.
Play the game02 — Fragrance · Ask
Fictional fragrance house
Five questions build a moodboard, and the moodboard picks your signature scent. Live answers from everyone who took it.
Take the survey03 — Leather goods · Tell
Fictional leather house
The making of a bag in seven gestures. Cinematic, scroll-driven, and built without an animation library.
Read the story04 — Behind the build · Ship
Analytics · QA · Deploy
Live funnels from the three demos, the device test matrix, and the pipeline that ships every change.
Open the Lab05 — The tool behind the games
My own build tool, and the reason I ship games fast. It turns a brief and a brand kit into a finished, tested game: a 3D game with your assets in a few hours, a 2D mini game in a fraction of that.
Made with Forge · live on PingPlay
Every one built and shipped through the Forge pipeline, from cozy 3D open worlds to two-minute puzzles. Swap the art direction for a brand kit and it becomes a campaign.
Glow Haul Seoul · 3D beauty runner · runs right here
06 — Shipped & live
Not mock-ups. Scroll, and open any of them.








From private repositories
Concept to live in 37 seconds · directed in code
A clickable build within days, so the client reacts to the real thing, not a deck.
Leaderboards, entries and live aggregates, validated on the server and ready for a campaign spike.
Playwright on desktop Chrome, Android and iOS Safari on every push. A failing check blocks the release.
A preview link per change for client review, production on merge, and one-click rollback.
Consent-first GA4 plus a first-party funnel, agreed before launch so the wrap report writes itself.
Built with Claude Code as a pair programmer. Scaffolding, tests and refactors move faster, and I review every line.