Offline-first mobile app with SQLite outbox sync, OAuth, push reminders, deep links, and share cards
┌────────────────────────┐ ┌────────────────────────┐
│ Expo Mobile App │─────►│ Fastify API │
│ (Today/Habits) │ │ JWT + OAuth exchange │
└───────────┬────────────┘ └───────────┬────────────┘
│ │
│ SQLite (local) │ Postgres
▼ ▼
┌───────────────────────┐ ┌──────────────────────────┐
│ SQLite + Drizzle │ │ Postgres │
│ habits/mood/outbox │ │ users/habits/checkins │
└───────────┬───────────┘ └────────────┬─────────────┘
│ outbox sync │
▼ ▼
┌───────────────────────┐ ┌──────────────────────────┐
│ Sync Engine │ │ Expo Push Service │
│ (idempotent ops) │ │ tokens + reminders │
└───────────────────────┘ └──────────────────────────┘