Next.js 14 (App Router) / Turborepo / NextAuth
Tammwe
A freelance marketplace platform in one Turborepo monorepo: frontpage, marketplace, back office, blog and docs, sharing packages for UI, database, linting and TypeScript. Built with Next.js 14, Drizzle and Stripe Connect, and deployed to Vercel with per-app build gating.
- Next.js 14 (App Router)
- Turborepo
- NextAuth
- Drizzle ORM
- TypeScript
- Tailwind CSS
- MySQL
- Sanity CMS
- Yarn Workspaces
- Stripe Connect
- Resend
- Brevo
- PlanetScale
- Vitest
- Storybook
- UploadThing
- Pusher
- PostHog
- Axiom
- Role
- Full-stack engineer
- Year
- 2025
- query latency
- -30%
- Links
- Live β
Trace samples for this project are illustrative

Tammwe is a modern, full-stack platform built inside a single Turborepo + Yarn workspaces monorepo, designed for fast shipping without compromising quality, safety, or developer experience.
π§± Architecture
Five Next.js 14 (App Router) applications ship together as one cohesive system:
- Frontpage β a polished, high-performance marketing site
- Marketplace β a Stripe Connectβpowered platform with rich seller tooling
- Admin Backoffice β internal management and moderation tools
- Blog β content-driven pages powered by Sanity CMS
- Docs & Storybook β living documentation and design system playground
All apps consume shared, versioned packages to ensure consistency and reuse across the stack.
π¦ Shared Packages
- Adinkra UI β a custom React component library
- Data Layer β Drizzle ORM with MySQL / PlanetScale
- Config Presets β TypeScript, Tailwind CSS, ESLint
- Utilities β shared helpers and cross-cutting logic
π Platform Services
- Authentication: NextAuth with Drizzle adapters
- Payments: Stripe Connect
- Realtime: Pusher
- Observability: PostHog & Axiom
- Uploads: UploadThing
- Email: Resend & Brevo
π§ͺ Quality & DX
- Storybook documents and validates the design system
- Vitest provides fast, reliable test coverage for apps and packages
- Shared configs guarantee a consistent developer experience across the monorepo
π CI & Deployment
- Optimized for Vercel
- Smart build gating ensures only affected apps deploy
- Core package changes can trigger cross-app rebuilds
- Fast iteration without sacrificing safety or correctness
π Local Development
Getting started is intentionally simple:
yarn install
yarn devRun a single app when needed:
yarn dev:<app>Database workflows are shared and standardized:
yarn db:dev
yarn db:migrate
yarn db:seedEvery app automatically inherits shared tooling and configuration, keeping setup minimal and productivity high.
Gallery





