← Work

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%

Trace samples for this project are illustrative

Tammwe freelance marketplace job listings, one of five apps in the platform's Turborepo monorepo

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:

shell
yarn install
yarn dev

Run a single app when needed:

shell
yarn dev:<app>

Database workflows are shared and standardized:

shell
yarn db:dev
yarn db:migrate
yarn db:seed

Every app automatically inherits shared tooling and configuration, keeping setup minimal and productivity high.

Gallery

Tammwe Login 20252f5c07Tammwe Dashboard C4f73bb829Tammwe Manage Jobs 8cc2f3b8e3Tammwe Profile 8edd48e6a3Tammwe Paid 7db8bd3420Tammwe Jobslist 7d5931b9c8