Back to Projects
Full StackIn Progress

Tailor Track

Jun 2026 - Present
Next.jsReactExpoReact NativeExpressPostgreSQLPrismaRedisTypeScriptZodTailwind CSSshadcn/uiTanStack QueryZustandTurborepo

A tailoring business management system built for a family member's tailoring shop, and a personal experiment in running a monorepo across a web app, a mobile app, and an API with a single shared codebase for validation and types.

How It Works

  • A Turborepo + pnpm workspace holds three apps - a Next.js web app, an Expo/React Native mobile app, and an Express API - alongside shared packages for Zod validation schemas and shadcn/Radix UI components.
  • The web app authenticates over httpOnly cookies, while the mobile app authenticates with tokens stored in Expo SecureStore, both against the same Express API.
  • Prisma models users, shops, and shop membership so a single account can belong to multiple shops with an OWNER or STAFF role, alongside per-shop customers and their measurements.
  • Redis backs rate limiting and background jobs via BullMQ, and the same Zod schemas validate input on both the API and the clients that consume it.

Key Highlights

  • Designed around the real day-to-day workflow of a family-run tailoring shop
  • Multi-shop workspaces with role-based membership (owner/staff)
  • Customer management with per-customer measurement records
  • Shared validation and type layer across web, mobile, and API
  • Cookie-based auth for web, token + SecureStore auth for mobile
  • Mobile app built with Expo, covering auth, shops, customers, and measurements
  • Orders, payments, and delivery tracking are still in progress

Tech Stack

  • Next.js & React for the web app
  • Expo & React Native for the mobile app
  • Express, Prisma & PostgreSQL for the API and data layer
  • Redis for rate limiting and background jobs
  • Zod for shared validation across every app
  • TanStack Query & Zustand for data fetching and client state
  • Turborepo & pnpm to manage the monorepo