Skip to main content

Overview

Launch is a Turborepo monorepo that uses a single pnpm workspace to manage dependencies across apps. A monorepo keeps related code in one place so you can share types, reuse utilities, and ship features across the API and mobile app without cross-repo overhead. At the top level, apps/ holds the product apps (mobile, api, and web — work in progress). The root config files (package.json, pnpm-workspace.yaml, turbo.json) manage dependencies and task orchestration across the workspace. pnpm-workspace.yaml defines the workspace packages and turbo.json runs tasks across them efficiently.

Apps

Mobile

iOS and Android app built with Expo SDK 55 and Expo Router.

API

Backend server with tRPC, Better Auth, and Prisma.

Web (Coming Soon)

Web app is planned, but not shipped yet.

Mobile App

The mobile app uses Expo Router for file-based navigation. Screens go in app/, reusable components in components/.

API

The API uses Koa.js as the server framework with tRPC for type-safe endpoints and Prisma for database access. The API source lives under apps/api/src/ (routes, routers, services, middleware, and shared clients), while apps/api/prisma/ contains the database schema and migrations.

Key Files

Troubleshooting

  • Can’t find a screen: check apps/mobile/app/
  • Missing API route: check apps/api/src/router.ts for registration

Next Steps

Start the Backend

Run the API and database locally.

Start the Mobile App

Launch Expo and open the app.