LifeWell architecture — web, mobile, extension, backend
How LifeWell is built. React 19 + Vite 8 + TanStack Router on the web, Capacitor 8 for Android/iOS, WXT for the browser extension, Firebase + Cloudflare Workers for backend.
Data model — Firestore collections and document shapes
How LifeWell organizes data in Firestore. The lifewell_ collection prefix, per-user security rules, document shapes for the main domains, indexing strategy.
Privacy and security in LifeWell — what data lives where
Honest data flow for LifeWell. Per-user Firestore rules, FilesHub storage, no third-party data sale, client-side calculators, Capacitor permission hygiene. What does and doesn't leave your device.
Offline-first design — how LifeWell handles disconnection
LifeWell works without a connection for most tracking surfaces. Service worker caches the app shell, Firestore caches your data offline, Capacitor Preferences stores settings locally.
Theming system — Radix UI, tokens, and persistence
How LifeWell themes the UI. Radix UI primitives, theme tokens, dark/light, accent colors, scaling, font sizes. Persistence via Capacitor Preferences + Firestore.
Multi-platform strategy — web, Android, iOS, extension
How LifeWell ships one product across four surfaces. Web is the canonical UI; Capacitor wraps it for Android and iOS; the browser extension is a small separate bundle.
Wellness scoring — what the score means and what it does not
LifeWell's wellness score is a relative, weekly self-comparison built from tracked inputs. Not medical advice, not a comparison to other users, not a diagnosis.