Investigations

Fullstack Monorepo

TypeScript December 2025

A pnpm monorepo with a Go/GraphQL backend, React/TypeScript frontend, Storybook component library, and shared design tokens.

This is my reference architecture for how I'd structure a serious fullstack project. It's a pnpm workspaces monorepo with four packages: frontend, playbook (Storybook component library), design-tokens, and shared utilities.

The Go backend uses gqlgen for a GraphQL API with JWT authentication, Chi router, and SQLite. The React frontend has Radix UI components, TanStack React Query, MDX support, and GraphQL code generation for full type safety.

The playbook package is a Storybook component library that documents every component in isolation. Design tokens ensure consistent styling across packages. Playwright handles E2E testing, and Docker infrastructure provides separate containers for backend, frontend, and Storybook.

What I'm most proud of is the 17 diary entries documenting the iterative development process — each one captures what was added, what decisions were made, and why. It's a genuine record of building software incrementally.

What this project demonstrates

pnpm monorepo: frontend, playbook (Storybook), design-tokens, shared
Go backend with gqlgen GraphQL, JWT auth, Chi router, SQLite
React frontend with Radix UI, TanStack Query, GraphQL codegen
Storybook component library and design tokens package
Playwright E2E testing and Docker infrastructure
17 diary entries documenting iterative development

Technologies

MonorepoGoGraphQLReactStorybookDesign Tokens

© 2026 Jonathan Leahy · v0.8.1-31-g196fa14