Back to archive
I. Personal Ventures & Frameworksupportinglead

Fin — Fullstack Boilerplate

Production-ready fullstack TypeScript monorepo boilerplate (Turborepo + Bun): Elysia.js API + Next.js admin + Better Auth/RBAC, end-to-end type safety via Eden Treaty, interactive Ink CLI for setup, and shadcn-MCP for AI-driven UI generation.

Status
prototype
Period
2026-01-24 → 2026-01-29
AI sessions
5
Stack
Languages
TypeScript
Frameworks · Infra
TurborepoElysia (Bun)Next.jsBetter AuthDrizzle ORMEden TreatyInk (CLI)shadcn/ui
§01

Overview

  • What it is: a starter scaffold (boilerplate) for fullstack apps, not a finished product. The README explicitly calls it a "Production-ready fullstack TypeScript monorepo boilerplate". Contains working authentication (Better Auth + RBAC + Redis sessions), an example entity (posts CRUD), and infrastructure packages for reuse. The "fin" name is likely a placeholder for a future financial product, but in code it's a generic boilerplate.
  • Type / status / role: library/boilerplate · prototype (early, ~one week) · lead — user is the primary author (~16 commit units per shortlog --all), co-developer Bobur (11).
  • Activity period: 2026-01-24 → 2026-01-29 (~5 days of intensive build, 10 commits on the main branch).
§02

Stack

  • Languages: TypeScript (strict, typescript-config package).
  • Monorepo: Turborepo + Bun workspaces (apps/*, packages/*), bun@1.3.2.
  • Apps: apiElysia.js on Bun (port 3001, versioned modules /src/modules/v1, Better Auth at /api/auth/*, Swagger, CORS on ports 3000-3004); adminNext.js admin (port 3003).
  • Packages (10):
  • @workspace/auth — Better Auth + server/client, Redis session cache, Postgres via Drizzle.
  • @workspace/dbDrizzle ORM + Postgres (Better Auth schema: user/session/account/verification, db:generate/migrate/push/studio).
  • @workspace/cache — ioredis wrapper.
  • @workspace/emailResend (transactional emails).
  • @workspace/ui — full shadcn/ui (Radix) + CVA, shared across all frontends.
  • @workspace/entitiesEden Treaty client factory (createApiClient) + Zod schemas + React Query hooks (example: usePosts/usePost).
  • @workspace/cliinteractive CLI built on Ink (React), compiled to a binary (bun build --compile), Setup mode: creates .env, generates auth secrets, runs migrations, creates admin user with hashing.
  • queue, eslint-config, typescript-config — infra.
  • Infra/deploy: Turbo pipeline (turbo.json), Bun, .env.example, glassmorphism design system.
  • AI tooling: `.mcp.json` configures the shadcn MCP server (bunx shadcn mcp) — Claude Code adds shadcn components via MCP. .claude/ + CLAUDE.md (20 KB) as a guide for the agent.
§03

What was shipped

10 commits over a week (boilerplate from scratch):

  • Turborepo scaffold + 10 workspace packages.
  • Better Auth + RBAC + Redis sessions in @workspace/auth.
  • Eden Treaty end-to-end type-safe client in @workspace/entities (posts CRUD example).
  • Ink CLI with automatic first-run setup (env/secrets/migrations/admin user), compiled to an executable binary.
  • Full shadcn/ui package + glassmorphism.
  • Scope: compact but architecturally complete boilerplate; early stage (one example entity).
§04

Technical challenges

Confirmed via CLAUDE.md/README/manifests:

  • End-to-end type safety via Eden Treaty (@workspace/entities createApiClient): Elysia API types flow into React Query hooks on the frontends without duplication — single contract across the boundary.
  • Interactive setup CLI on Ink (@workspace/cli): React-in-terminal first-run wizard (env, secret generation, migrations, admin user with hash), compiled to a native binary via bun build --compile. → strong emphasis on developer experience, non-trivial tooling.
  • Clean monorepo composition (Turborepo + 10 packages): auth/db/cache/email/ui/entities as reusable boundaries, shared eslint/ts-config. → mature reuse architecture.
  • AI-first DX (.mcp.json → shadcn MCP): UI components added by the agent via the MCP server; development was done across 5 Claude Code sessions. → demonstration of modern AI tooling in a real project.
  • Better Auth + Redis session cache + RBAC: centralized authentication as a separate package, sessions cached in Redis.
§05

AI-assisted development

  • Sessions found: ~5 (fin-fullstack: 3 subdir sessions; fin-fullstack-packages: 2 + index) — package development was done from a separate working directory.
  • What was done with AI: boilerplate build end-to-end (by CLAUDE.md scope/structure) — monorepo scaffold, auth, entities, CLI; adding shadcn components via MCP.
  • AI workflow patterns: MCP integration (shadcn MCP in .mcp.json), CLAUDE.md as an agent guide, multi-directory sessions (apps vs packages). A good example of "AI + MCP in a real monorepo".
§06

Achievements & metrics

  • 10 workspace packages + 2 apps in one Turborepo.
  • End-to-end type safety (Elysia→Eden→React Query).
  • Compilable Ink CLI for auto-setup.
  • Better Auth + RBAC + Redis out of the box.
  • AI-first: shadcn MCP + 5 Claude sessions.
§07

Contributors

git shortlog · all branches

  1. Dave9316
  2. Boburt11
2 contributors27 commits total
Currently

Open to Senior / Staff engineering roles and selective freelance — production AI, platform, and full-stack work.

Get in touch