Featured project
Driftwood
A static-first CMS that compiles Markdown to a prerendered site and a typed search index in one pass.
- TypeScript
- Bun
- SvelteKit
- SQLite
- FTS5
Driftwood is the toolchain behind sites like this one: point it at a folder of Markdown, get back a prerendered, SEO-clean site and a search index that's ready at build time, with no database on the request path.
The problem
I kept rebuilding the same pipeline for personal sites — read Markdown, parse frontmatter, sanitize, render, generate feeds — and getting it subtly wrong each time (draft posts leaking into feeds, slugs drifting from filenames). I wanted one honest, typed pipeline.
What I built
A Bun-native build step that globs content, validates frontmatter against a schema, renders Markdown with raw HTML disabled and then sanitizes the output, and emits both static routes and an FTS5 index in a single pass. Filenames are the slugs — there's no second source of truth to disagree with. The search index is built once and shipped, so query time never touches a network.
Outcome
Clean Lighthouse scores out of the box and a content workflow that's just editing files in git. The constraint that paid off most: no dynamic surface on the critical path.