
Just a Pinch
Smart recipe organizer and guided cooking app. Save from links, photos or scratch; cook mode scales servings and suggests swaps. The Recipe Engine behind it is a Supabase-backed pipeline that seeds and serves the catalog.
A living register of every Shift-9 project, followed by the tokens, type, motion and components that keep twelve different voices feeling like one studio.
Each swatch reads the live custom property. The text beside it names the documented value and role. Press any row to copy the token.
Apps, games, product systems and studio infrastructure. This register grows with the work; every new project joins the same source that drives the studio reel.

Smart recipe organizer and guided cooking app. Save from links, photos or scratch; cook mode scales servings and suggests swaps. The Recipe Engine behind it is a Supabase-backed pipeline that seeds and serves the catalog.

Local voice-to-text dictation for Windows. Profiles, custom vocabulary, selected-text commands, history and crash recovery — dictation that stays on your machine.

A children's reading tool that turns practice into play. Built for real kids, tested by real kids.

Point a projector at anything, drag the corners on your phone, and the image warps to fit. Projection mapping with zero jargon.

Arcade basketball in Godot. Arena, broadcast camera, crowd shader bowl and player movement are live; ball physics and the box score are next.


A UE5 plugin suite that lets non-programmers assemble games LEGO-style: socket-matched auto-tiling, one-click destruction, and a tutorial overlay that watches what you do. Blueprint complete; build phase next.

A portable React component workbench with live demos and copyable snippets for teams to bring into their own products. In active development.

Shift-9's production design system: shared interaction, motion and accessibility rules across live products, with each product free to keep its own voice.

The infrastructure behind the studio: Relay for cross-machine state handoff, a 400+ skill control plane governing AI-assisted builds, and claude-eyes, a screen-capture toolkit that gives coding agents vision.


A Windows utility that repairs the Windows 10 Home upgrade bug. Small tool, real problem, done. Windows 11 support is on the roadmap.
The surfaces everything else sits on.
Three steps, not two — a display face, running prose and a mono data label are three different jobs. Ratios are measured against the void: 14.48:1, 10.12:1, 6.96:1. The dim value used to be #64748b, which is 3.75:1 — under the 4.5:1 floor, and it was the value carrying the small mono labels, the worst case for it to fail on.
These were cyan and violet. Together on a dark ground they are the most recognisable colour scheme on the web right now, and reading as “a dark site an AI helped build” is the opposite of what a studio site is for. They are zero-chroma neutrals now: signal is the marker and the emphasis, brighter than the label it sits on; pulse is the secondary, for work that is unresolved, and it is dimmer than the prose on purpose.
The one surface not built on the void. /start is true black with true white and no third colour in the ground at all. The green used to be on the button; it is on the email address now, and the button is pearl grey — so the one chromatic thing on the page is the address you can copy and act on in your own time. Scarcity is still what makes it land. The green also carries every focus ring, sitewide, because that is the one affordance a neutral could not say loudly enough.
Titanium gives the studio and Flow State a reflective neutral. Holofoil belongs to Flow State's standalone F, where one warm spectral material can carry the product identity without tinting the full interface.
A display face, a reading face and a data face. Each specimen is set in the thing it documents.
Duration is chosen by the size of the move: a hover is not an entrance, and an entrance is not a page transition. Every animated component branches on useReducedMotionSafe() and degrades to a complete, readable static state.
Same tokens, same motion contract, same components. What changes is what each room is for — and a system is only worth having if it can say where it is allowed to break.
Importable from any surface. Press a row to copy its import.
These live in the studio app rather than the package. They are built around this site’s own content — its wallpaper, its roster, its front door — and exporting them would mean pretending they are general when they are not.