NKESSLING@TERMINALSCREEN WORKOpen to work from Nov 2026RTM 18:16:33 · UTC 16:16
>
FERN ~/work/fern EXPERIMENTAL
FERN★ 612▼ 0.14 commits/day, 40 wkZIG · 2025–26

A small config language with types

Compiles to JSON, checks types, and fails the build before a bad config reaches production.

ROLE
Author
STACK
Zig · WebAssembly
YEARS
2025–26
COMMIT RATE · 40 WEEKS · FERN
0.4 mscompile a 2k-line config
31type errors caught in the first month
48 KBWASM build

README.md · CASE STUDY

Compiles to JSON, checks types, and fails the build before a bad config reaches production.

Compiles to JSON, checks types, and fails the build before a bad config reaches production.

Two outages in one quarter came from a config value with the wrong type. fern is a tiny language with records, unions and exhaustive match that compiles to plain JSON.

Where it runs

A 48 KB WebAssembly build runs in CI and in the editor, so the error shows up where the typo was made.

SCRN WORK · SCREENER6 OF 8 SHOWN

More projects.

Every project opens the same way: problem, fix, numbers.

NOTE WRITING · RESEARCH NOTES8 NOTES

Notes from the work.

Short write-ups of things that broke and how they got fixed. Plain language, real numbers.

EOF END OF PAGE · NKESSLING↑ TOP

Type CONTACT, or just write.

hello@example.com
>

STATUS

Open to work from Nov 2026

Replies within one working day

RTM 18:16:33 · UTC 16:16

COLOPHON

Set in Geist, Geist Mono and Doto.

Charts drawn from commit data, live or demo.

No trackers, no cookies.

Create a free website with Framer, the website builder loved by startups, designers and agencies.