GenesisX
GenesisX is an AI storytelling platform for consumer-goods and retail brands. Its team produces mobile experiences — full-screen, swipeable, scene-by-scene sites — for brands such as Coca-Cola, Häagen-Dazs, Oreo and Starbucks. I led development of the internal tool those are made in: a visual editor where a campaign is composed as a set of scenes, wired together by gestures, and published without help from a developer.
Scenes instead of pages
A GenesisX project is not a scrolling page but a set of full-screen scenes, designed against real device frames. A scene is built from layers — images, GIFs, video, rich text, embeds, custom code — and every layer carries three states: in, default and out. So a scene can animate in when it opens and animate out when it closes, and the designer does not need to write any code.
Wiring scenes together
The scenes map
When a campaign has many scenes linked in four directions, a list is hard to follow. The scenes map shows the whole project as a node graph, built on React Flow. Every scene is a node with a live preview. Swipe relations and tap links are drawn as edges in different colours. Each edge leaves its node from the side that matches its direction, so the map shows how a user moves through the experience.
Swipe transitions with a state machine
On a phone, the user drags a transition with a finger. It does not just play like an animation. The runtime handles this with an XState state machine. Its states are active, preparing, transitioning, and then committed or cancelled.
Publishing, export and AI
Architecture
The platform is a TypeScript monorepo: the editor, the API, a public read API, the export service, and a shared domain package whose types and zod schemas are used by both the client and the server.
