shipping/JKT — 03:41 GMT+7/48.3 °C CPU/v 07.0 · build 2026.04.20
lat −6.200 · lon 106.816/ntwk · online/open for Q3 '26
/ project no. 03generativetypography lab
receiptsopen source · ★ 4.1k
lattice

lattice.

— short description

a playground for variable fonts. svelte-kit, opentype.js, webgl — all in under 180kb.

00:00
axesshadersexport
open
open sourcemit · svelte-kit
design · engineeringsolo
jun 2025shipped in 6 weeks
stacksvelte-kit · opentype.js · webgl
live4.1k stars · 38 forks
01

context.

variable fonts unlocked a new kind of typography — tight, responsive, continuously interpolated. lattice is a small playground for engineers and designers to see those axes in motion without downloading a desktop app.

180kbtotal payload including the webgl shader compiler.
★ 4.1kstars across a single weekend of launch.
38forks — most of them bringing their own axes.
— approach

every axis, every frame.

lattice uses opentype.js to inspect a font, maps every axis to a ui slider, and hands the result to a tiny webgl shader that renders at 60fps on most phones. no backend. nothing tracked.

lattice
fig. 02
"a small, quiet tool — exactly the kind of thing the web used to make."
— ★ reviewer, github
— outcome

what shipped.

a single-page playground, shipped with 14 preset fonts, a custom-axes sandbox, and an export-to-svg button.

a production-quality demonstration that attention can be settled in public at the unit of the second. still my favorite project of 2024.
— on the record
— team

solo · open source.

devrangga hiswaradesign · engineeringweekend + 3 nights
— screenshots

a tiny tool, logged.

a short archive of the playground at different stages.

lattice
lattice.every axis, mapped to a knob.
lattice axes
axes.
/ inspect · interpolate · export.
lattice shader
shader.
/ ~2kb fragment shader.
lattice export
export.
/ svg with embedded axes.
— responsive

mobile, surprisingly.

shaders respect battery. axes collapse into a single knob on narrower screens.

mobile 1
mobile 2
mobile 3
trace
/ up next — ongoingplayable

trace.

a cli agent that plans, acts, and shows its receipts — so you can watch autonomy happen.

open next case ↗