π Website | App Store | Play Store
Anonymous love letters π written in disappearing ink.
The application is built on a modified version of the T3 Turbo stack (to include Supabase).
The native apps are built with Expo and live in apps/expo.
.vscode
ββ Recommended extensions and settings for VSCode users
apps
ββ web
| ββ Web client and server (Next.js)
ββ expo
| ββ iOS & Android apps (Expo / React Native) β the ones that ship
ββ mobile
ββ Legacy Capacitor shell β superseded by apps/expo, pending removal
packages
ββ api
| ββ tRPC router definitions and session/auth
ββ contracts
| ββ Shared domain: zod schemas and pure rules used by both web and expo
ββ db
| ββ Drizzle schema and Postgres client
ββ ui
ββ UI package for the webapp using shadcn-ui
# Copy .env.example to .env and update variables
cp .env.example .env
# Set COOKIE_SECRET in .env β sessions are signed with it. The server throws
# without it in production, and falls back to an insecure dev constant locally.
# Installing dependencies
pnpm install
# To start the database
pnpm db:start
# To create the schema β `supabase start` brings up an EMPTY database and there
# are no migrations to replay, so this step is not optional
pnpm db:push
# To start the web app
pnpm dev:web
# To start the native app (Expo)
pnpm dev:expoYou'll be able to view the website at http://localhost:3000
pnpm verify # typecheck + lint + format + test β exactly what CI runs
# β¦or individually
pnpm typecheck
pnpm lint # oxlint
pnpm format # oxfmt --check
pnpm test # node:testCoding agents should start from AGENTS.md.
This project uses the following libraries and services: