- Monorepo β pnpm
- Mobile β Expo, React Native, TypeScript
- API β Bun, Hono, PostgreSQL
- Auth β Google + GitHub OAuth
- Data β document storage, chat history, offline-first sync, and local SQLite via expo-sqlite
apps/mobileβ Expo app for reading, saving, and chatting with documentsapps/apiβ Bun API for auth, ingestion, persistence, and chat endpointsapps/webβ Next.js landing and official Android download site backed by GitHub Releases metadatapackagesβ shared workspace packages
- Install dependencies:
pnpm install- Create local env files:
cp apps/api/.env.example apps/api/.env
cp apps/mobile/.env.example apps/mobile/.env
cp apps/web/.env.example apps/web/.env.local- Start the API, mobile app, or official landing:
pnpm api:dev
pnpm mobile:start
pnpm web:dev- Open the mobile app with Expo Go or a simulator:
pnpm mobile:android
# or
pnpm mobile:ios
# or
pnpm mobile:webpnpm mobile:start
pnpm mobile:android
pnpm mobile:ios
pnpm mobile:web
pnpm api:dev
pnpm api:start
pnpm web:dev
pnpm web:build
pnpm web:test
pnpm web:typecheck
pnpm typecheck
pnpm validate
pnpm testCreate these files before running the project:
cp apps/api/.env.example apps/api/.env
cp apps/mobile/.env.example apps/mobile/.env
cp apps/web/.env.example apps/web/.env.localKey services used in production:
- API β Render
- Database β Supabase
- CI/CD β GitHub Actions
- Android distribution uses the official
apps/weblanding plus direct APK delivery. - GitHub Releases is the canonical APK source for the public Android download flow.
- Release tags should follow
v{version}. - Release assets should follow
documind-android-v{version}.apkso the landing can resolve the latest trusted download automatically. - The mobile build profile for this lives in
apps/mobile/eas.jsonunderandroid-apk. apps/webis deployed by Vercel frommasterwithapps/webas the project root.apps/webrevalidates GitHub Release metadata every 15 minutes, so normal APK releases do not require a manual web redeploy.- Local landing verification commands:
pnpm web:test
pnpm web:typecheck
pnpm web:build- Privacy policy:
docs/privacy-policy.md - Release checklist:
docs/release-checklist.md - Web deploy:
docs/web-deploy.md - Smoke test:
docs/smoke-test.md - Observability setup:
docs/observability.md
- confirm the API is running
- confirm mobile env values are correct
- restart Expo after env changes
- verify Google/GitHub OAuth env variables
- verify redirect URIs match the configured app values
- check
GET /health - review Render logs
- confirm Supabase is available and not paused
- confirm you are logged into EAS
- run the build from
apps/mobile - verify
apps/mobile/eas.jsonuses theandroid-apkprofile
pnpm docker:up
pnpm docker:logs
pnpm docker:down