Introduction
A mobile habit tracker, documented folder by folder.
Habitly is a local-first mobile habit tracker built with Expo: guest onboarding, daily habit tracking with schedules and streaks, task planning, statistics, search, appearance settings, JSON export — with SQLite on the device as the source of truth and optional Firebase cloud sync for signed-in accounts.
It is a single app, not a monorepo: one manifest at the root, with the workspace file holding only package-manager settings — see Project structure.
These notes describe what each folder owns and how the folders talk to each other. They never explain code — for behaviour, read the linked sources in the repo itself. Where the repo was unclear, the page says so.
Start with Installation, then Status and scope, then High-level architecture.
Tech stack at a glance
The codebase is TypeScript throughout, running on Expo SDK 57 with React Native and a versioned SQLite schema. Cloud features are Firebase-gated: without Firebase values the app runs fully offline as a guest.
Language and tooling
Frontend
Quality
| Workspace | Role | Language and runtime | Key libraries |
|---|---|---|---|
| Habitly app | Habitly is a local-first Expo habit tracker with a lilac and cream design system. It includes a guest onboarding flow, daily habit tracking, habit schedules and history, task planning, progress summaries, search, appearance settings, and JSON export. | TypeScript, CSS | ExpoReactReact NativeExpo Routerexpo-sqlite |
Habitly is a local-first Expo habit tracker with a lilac and cream design system. It includes a guest onboarding flow, daily habit tracking, habit schedules and history, task planning, progress summaries, search, appearance settings, and JSON export.
TypeScript, CSS
The full list lives on the Tech stack page.
Sources: README.md, features.md, implementation.md (documented at commit 99a2c3d)