Instruction file imported from SaniaAnees/DementiaSupport (
.cursor/rules/dementia-support.mdc). Copyright stays with the author.
DementiaSupport — Cursor Rules
Final stack (locked)
| Layer | Choice |
|---|---|
| Mobile | Flutter (patient + caregiver) |
| Mobile DB | Drift → SQLite (offline source of truth) |
| Voice hot path | Sherpa ONNX via VoiceEngine (on-device; never blocked by cloud) |
| Web SaaS | Next.js on Vercel |
| Backend | Supabase (Auth, Postgres+RLS, Storage, Realtime) — required |
| Cloud brain | Google Gemini cold path only (online enhancement) |
| Sync | Local write + outbox → Supabase when online |
Not in voice loop: Vercel, Supabase Realtime, Google APIs.
Legacy: Capacitor app/ and Expo mobile/ are reference only until Flutter owns sessions. Prefer new work under apps/flutter + apps/web + supabase/.
Product
- Offline-first cognitive engagement; optional supervisor/caregiver.
- Not a medical device: no diagnostic claims.
Agent build / secrets
- User may provide Vercel / Supabase / Google tokens for CLI deploy (
vercel,supabase,flutter). - Store only in
.env.local/ CI secrets — never commit PATs or service keys. - Prefer agent-driven scaffold, migrate, deploy over manual steps.
UI edits
- Flutter:
lib/theme/,lib/widgets/, feature screens underlib/features/. - Web: Next.js
app/routes + shared components. - Domain logic (session engine, fuzzy match, scoring) in shared package — survives redesigns.
UX
- Patient: voice-first, huge targets, chip fallback if STT fails.
- Caregiver web: memories, trends, flags. Mobile caregiver: light setup + uploads.