Project index

File 06 / 06

Gridframe.

A headless CMS with a spreadsheet soul — content modeling marketers actually enjoy.

Year

2022

Role

Engineer

Timeline

4 months

Status

Side project

Stack

RustPostgreSQLGraphQLRedis

01 — Overview

Gridframe treats content like a spreadsheet that grew a conscience — columns with types, rows with workflows, and an API your frontend actually enjoys consuming. Built in Rust for the speed your marketing team will never notice but your bill will.

02 — The challenge

Marketers live in spreadsheets; CMSs live in rigid content-type forms. Every project paid the same tax: engineers modeling content, then re-modeling it, while the marketing team waited and the spreadsheet-of-truth diverged from production.

03 — Approach

  • Built the core in Rust with Postgres as the store — column-typed content models with spreadsheet-grade keyboard interaction
  • Exposed everything through a GraphQL layer whose schema updates live as models change, with typed migrations not vibes
  • Added workflow states per row — draft, review, scheduled, live — so process lives in the data, not in meetings
  • Kept the whole thing headless and self-hostable: one binary, one database, no vendor dashboard required

04 — The outcome

Gridframe powers content for a handful of sites including my own. It remains my favorite proof that choosing boring, fast primitives — Rust, Postgres, one binary — is a feature users can feel.

1Binary deploy
11msMedian API read
5+Sites in production

Next file — 01

Pulse

Analytics platform