why i built this
i look the same things up constantly. tailwind utility names, prisma schema syntax, docker compose keys, typescript utility types. the web has plenty of cheat sheet sites, but most are stale, ad-heavy, or just a single page someone made in 2018 and never updated.
devsheets is the version i wanted: dense, current, no ads, and no account wall. every sheet is one scrollable page with code blocks that copy cleanly. accounts exist for saved sheets, favorites, and progress, but the reference experience stays public.
what’s in it
each sheet covers one technology, organized by section, with code examples and short notes. current categories:
- languages: javascript, typescript, python, rust, go, sql
- frameworks: react, next.js, fastapi, django
- css / ui: css, tailwind, html
- tools: docker, git, npm, bun, prisma, playwright, zod
- systems: apache, nginx, ollama
the whole 79-sheet catalog has now been validated against current docs. sheets can show version badges and validation dates when those values are meaningful.
search works at item level too. queries like git rebase can jump straight to
the matching item inside the Git sheet instead of only returning a sheet card.
stack
next.js 15 # app router, react 19, server components
prisma # postgres schema + queries
tailwind 4 # styling
prismjs # server-rendered syntax highlighting
vercel # hostingsheet content lives in postgres so it can be edited, validated, and synced without a redeploy. there is a dev database and a prod database, with a stable-id sync step in between so favorites and known-item progress survive content updates.
how sheets get built
the writing pipeline is the interesting part. each sheet starts as a topic from the backlog, then runs through a chain of skills:
/create-sheet # research + draft a new sheet from official docs
/audit-sheet # check coverage vs current docs
/validate-sheet # cross-check against the current target version
/sync-prod # sync dev content to prod and revalidate the cachevalidation is now a first-class step, not a cleanup chore. new and existing sheets get checked against official docs, stamped with versions when useful, and synced in a way that preserves stable item IDs.
what’s next
- keep expanding the catalog without dropping the validation bar
- turn more search and progress data into useful dashboard signals
- decide between quiz/practice mode and shareable collections as the next retention feature
- keep accounts useful without making accounts required
the goal is never “the most sheets.” it’s “the sheet you needed, when you needed it, in 10 seconds.”