I've been building side projects for years. most of them live on github, quietly collecting dust. LET is one i actually use daily.
LET (Life Events Tracker) is a React Native + Expo app for tracking habits, mood, and life events — entirely offline, no account required, no data leaves your device.
the problem with most habit trackers
they want your data. subscriptions, cloud sync, accounts. i wanted something simpler: log what happened today, see patterns over time, own the data. so i built it.
the stack
| piece | why |
|---|---|
| React Native + Expo | iOS, Android, and web from one codebase |
| NativeWind | TailwindCSS for RN — familiar syntax |
| Zustand | minimal state, no boilerplate |
| expo-sqlite + Drizzle ORM | type-safe local SQL, migrations run on device |
| Expo Router | file-based navigation like Next.js |
| Custom SVG charts | hand-rolled paths, no heavy chart lib |
what it does
four main modes: daily habit tracking (with custom event colors), mood logging, life milestone recording, and a pattern view that surfaces weekly trends from those custom SVG charts.
data export/import is JSON, dark/light mode is fully supported, and swipe navigation works throughout.
the part worth talking about
this whole app was built through vibe-coding — describing features in natural language, iterating with AI, spending mental energy on product decisions instead of boilerplate.
it is not a toy. the codebase has proper navigation with expo-router, accessible UI atoms via rn-primitives, and a schema-first SQLite setup with Drizzle that runs migrations at startup. just built through a different workflow.
links
LET on GitHub
https://github.com/p32929/let
live web demo: https://p32929.github.io/let/
would love honest takes on what is missing or clunky. stars and forks appreciated if it is useful.
open to building with sharp teams and solo founders — dms and email open.
Top comments (0)