Philosophy
DuVa is built for people who want to write, save, and return to personal duas without turning spiritual life into a productivity game.
- No accounts. No cloud sync. No tracking.
- Your duas live locally (device storage / browser storage).
- Data is portable (export/import) and erasable (delete local data).
Core UX: Read Mode vs Write Mode
Read Mode (default)
- Full-screen, distraction-free
- Large, comfortable typography
- Minimal UI chrome
- Built for reflection and recitation
Write Mode (editing)
- Form-based editing experience
- Clear separation from Read Mode
- Gentle, permissive microcopy
- No pressure to "complete" a dua
English is emphasized by default (meaning-first). If Arabic is toggled ON, Arabic is shown first and large (recitation-first). Transliteration is optional and never primary.
Canonical text rules
Each dua can include up to three text layers:
- English (required) — meaning layer
- Arabic (optional) — original text
- Transliteration (optional) — pronunciation support
Sharing + portability
Sharing (text-first)
- Plain text (copy/message/email)
- Email-formatted text (subject + body)
- Optional: include Arabic + transliteration if present
- No social feed, no public profiles
Export / import
- Export all duas:
CSV+JSON - Import: merge by default
- Skips malformed entries gracefully
- Clear results summary after import
DuVa includes a "Data & Privacy" section: export data, delete local data (with confirmation), and return to a safe empty state.
Cross-platform storage architecture
DuVa uses a storage abstraction so the UI doesn't change per platform. A single repository interface powers CRUD, export/import, and delete-all.
Mobile
- SQLite (e.g.,
sqflite) - Local-first by default
Web
- IndexedDB preferred
- Banner reminder: "stored locally in this browser"
Visual style
- Warm neutrals, low contrast
- Journal-page feel (soft corners, minimal elevation)
- Calm typography, generous spacing
- Subtle fades (no bouncy motion)
- Gentle, permissive microcopy