The Shelf

Built for the fun of it.

Games, a typeface, and experiments. The Record is the work that had a client. This is the other shelf: the things I made because I wanted them to exist. Everything here runs in the browser, and the games play themselves while you look.

09things, so far
  1. 01 Neon RunwayNew Pinball · 2026
    Neon Runway: a neon pinball playfield under a synthwave sunset beside the chrome Neon Runway logo Live

    A 1982 mall-arcade pinball table for two thumbs. Light L-I-V-E, start the Broadcast Jam, spin the static away, sign the wall. Three balls, works offline.

    Play it →
  2. 02 Cluck 'n Chaos Arena · 2026
    Cluck 'n Chaos title card: the candy-temple arena with four chickens beside chunky yellow logo type on licorice black Live

    Four chickens, one candy god, three minutes. Grab eggs, bump rivals to spill theirs, and carry them home to your nest. You against three bots with personalities, in Keno's own art.

    Play it →
  3. 03 VigilNew Typeface · 2026
    V Live

    A softened geometric grotesk for body copy. Eight weights, italics, an outline style. SIL Open Font License, free forever, no email. Ten years on the calendar as MAKE FONT; it shipped September 4, 2026.

    Get it, free →
  4. 04 Vigil IconsNew Icons · 2026
    The words Vigil Icons set in Vigil, white on hot pink, beside six of the icons. Live

    Stroke-first, rounded-corner icons for the things people actually accuse each other of. The first twenty are free, no email and no account. $11 unlocks the other eighty-one as they drop.

    Get 20, free →
  5. 05 Iron Reach Platformer · 2026
    Iron Reach title screen: orange pixel type on a dark industrial backdrop Live

    An original action-platformer built around one mechanic: a detachable, tethered fist that throws, hits, and hooks onto walls to swing across gaps.

    Play it →
  6. 06 Sandlot Sluggers '87 Baseball · 2026
    Sandlot Sluggers '87 title screen: pixel type over a night ballpark Live

    A tribute to the 1987 NES baseball cartridges. Over-the-shoulder pitching duel, four pitch types, hold to swing and tap to bunt.

    Play it →
  7. 07 3D Cube Simulator Simulator · 2026
    A 3D speed cube rendered with soft reflections on a black background Live

    Drag a sticker to turn a face, drag anywhere else to orbit. Scramble it and a Kociemba solver puts it back in about twenty moves.

    Turn it →
  8. 08 The Workbench Experiment · 2026
    T Live

    A paper boombox you can take apart and put back together. Nothing on this page is important. That is the point.

    Take it apart →
  9. 09 Middleware Experiment · 2026
    M Live

    Eleven real incidents, in the words engineering used and the words leadership received. Translates both directions.

    Translate →
Neon Runway: a neon pinball playfield under a synthwave sunset beside the chrome Neon Runway logo Live

01 · Web game · Sep 2026 · New

Neon Runway

A 1982 mall-arcade pinball table for two thumbs. Light L-I-V-E, start the Broadcast Jam, spin the static away, sign the wall. Three balls, works offline.

Built from Keno's pinball kit: every collider is data from a geometry file, nothing traced by hand. The physics runs at 240 Hz in table units so the ball can never tunnel through a flipper; flippers are moving capsules that add their surface velocity at the contact point, which is the whole "flipper feel" problem. A headless harness fuzzed 3,000 balls at every speed and a bot played forty full games before a pixel was drawn, and the harness found the real design bugs: an inlane a ball couldn't fit through, a corner the ball could fall around, a kickout loop. Twelve sound patches in Web Audio, mechanical score reels, a high-score wall with initials. One file, no dependencies.

CanvasPhysicsPinballNo dependenciesOffline
Play it →
Cluck 'n Chaos title card: the candy-temple arena with four chickens beside chunky yellow logo type on licorice black Live

02 · Web game · Sep 2026

Cluck 'n Chaos

Four chickens, one candy god, three minutes. Grab eggs, bump rivals to spill theirs, and carry them home to your nest. You against three bots with personalities, in Keno's own art.

A top-down egg-scramble arena built from a Roblox concept. Every rule is deterministic and legible to a six-year-old: a bump always spills an egg, carrying eggs makes you slower, only your own nest scores. The whole match, the three bot brains and the egg economy were proven in a headless test harness (a 30-seed fuzz, conservation of every egg, no chicken ever stuck in a wall) before any of it was drawn. Feathers unlock trails between matches. One file, no dependencies, works offline.

CanvasKidsBotsNo dependenciesOffline
Play it →
V Live

03 · Typeface · Sep 2026 · New

Vigil

A softened geometric grotesk for body copy. Eight weights, italics, an outline style. SIL Open Font License, free forever, no email. Ten years on the calendar as MAKE FONT; it shipped September 4, 2026.

Derived from Figtree by Erik Kennedy. Rounding is applied by rule: most at exposed terminals, less at structural corners, none where recognition depends on a hard edge. At 16px it reads as a clean sans; at 96px the softness becomes the signature. This page, and this whole site, is set in it.

Type designVariable fontOFLFree
Get it, free →
The words Vigil Icons set in Vigil, white on hot pink, beside six of the icons. Live

04 · Icon set · Sep 2026 · New

Vigil Icons

Stroke-first, rounded-corner icons for the things people actually accuse each other of. The first twenty are free, no email and no account. $11 unlocks the other eighty-one as they drop.

One hundred and one phrases were ranked before anything was drawn — weighted on how sendable each one is, how well the metaphor holds, and whether it survives at 24px. Every icon is a recognizable noun doing exactly one abnormal thing: a lantern with the flame burning downward, a mirror the heart is too big to fit inside, a flag installed backwards on its pole. Same 24 grid and 1.25 stroke as Vigil Regular at text size, so the icons sit on the baseline and match cap height. No fills, and no words inside the frame — if the joke dies at 16px, it gets redrawn.

Icon designDrawingVigilFree tier
Get 20, free →
Iron Reach title screen: orange pixel type on a dark industrial backdrop Live

05 · Web game · Sep 2026

Iron Reach

An original action-platformer built around one mechanic: a detachable, tethered fist that throws, hits, and hooks onto walls to swing across gaps.

Combat and traversal from a single verb — hold to throw the Knuckle, keep holding once it sticks to swing across a gap, release to recall it. Every piece of the physics (the throw, the grapple, ground collision, enemy contact) was proven correct in an automated test harness — including a scripted playthrough that completes the level and a 48-variant timing sweep — before any art was drawn. Two sectors, one enemy, one goal.

CanvasOriginal mechanicNo dependenciesOffline
Play it →
Sandlot Sluggers '87 title screen: pixel type over a night ballpark Live

06 · Web game · Sep 2026

Sandlot Sluggers '87

A tribute to the 1987 NES baseball cartridges. Over-the-shoulder pitching duel, four pitch types, hold to swing and tap to bunt.

Up to four players on one phone, passing it around the way you would a controller. The whole matchup packs into five characters on the URL, so the share card draws a QR anyone can scan to open the same game. One file, no dependencies, no network — it runs offline and it runs off a folder.

Canvas4 playersNo dependenciesOffline
Play it →
A 3D speed cube rendered with soft reflections on a black background Live

07 · Simulator · Aug 2026

3D Cube Simulator

Drag a sticker to turn a face, drag anywhere else to orbit. Scramble it and a Kociemba solver puts it back in about twenty moves.

Three.jsWebGLKociemba solver
Turn it →
T Live

08 · Experiment · Aug 2026

The Workbench

A paper boombox you can take apart and put back together. Nothing on this page is important. That is the point.

InteractivePaperNo score
Take it apart →
M Live

09 · Experiment · Aug 2026

Middleware

Eleven real incidents, in the words engineering used and the words leadership received. Translates both directions.

InteractiveWritingEngineering
Translate →

9 things · more when they're doneSet in Vigil, item 03