Inspiration

Most habit-tracking apps either feel cluttered with unnecessary mechanics or induce guilt the moment you miss a single day. We set out to build a lightweight, stress-free habit tracker centered around consistency, actionable micro-step analytics, and a forgiving progress system.

What it does

  • Flexible Scheduling: Supports daily, interval, and target-based habits (e.g., $N$ times per week)[cite: 1].
  • Activity Heatmap: Visualizes consistency using an interactive commit-style grid[cite: 1].
  • Streak Freeze Mechanism: Planned rest days or justified skips do not reset total momentum[cite: 1].
  • Progress Analytics: Clear trend charts and a stability score computed over configurable time windows[cite: 1].
  • One-Click Check-ins: Fast, friction-free tracking without navigating through nested sub-menus[cite: 1].

How we built it

  • Frontend: React, TypeScript, Tailwind CSS, and Lucide Icons for clean UI components[cite: 1].
  • Backend: FastAPI (Python) with data validation powered by Pydantic[cite: 1].
  • Database: PostgreSQL with Alembic schema migrations[cite: 1].
  • Analytics Engine: Pandas and NumPy for rolling-window metrics and statistical aggregations[cite: 1].
  • Infrastructure: Docker containers orchestrated behind an Nginx reverse proxy[cite: 1].

Challenges we ran into

  • Timezone Rollovers: Ensuring midnight day-resets are accurately calculated across user timezones so check-ins never shift to adjacent dates[cite: 1].
  • Mathematical Streak Modeling: Designing an adaptive scoring algorithm that preserves momentum without causing burnout or demoralization on missed days[cite: 1]: $$\text{Score}t = \lambda \cdot \text{Score}{t-1} + (1 - \lambda) \cdot x_t, \quad x_t \in {0, 1}$$
  • Aggregations & Performance: Optimizing SQL queries to generate dense historical heatmap data in milliseconds[cite: 1].

Accomplishments that we're proud of

  • Delivered an end-to-end working MVP with sub-50ms interaction latency and a modular database schema[cite: 1].
  • Implemented a robust timezone-handling layer that prevents false streak resets[cite: 1].
  • Crafted an intuitive, distraction-free user interface praised in early user testing[cite: 1].

What we learned

  • Designing high-throughput, time-series data structures inside a relational database[cite: 1].
  • Applying behavioral habit loops (cue, routine, reward) to product design[cite: 1].
  • Optimizing client-side rendering for large grids of interactive elements[cite: 1].

What's next for habit tracker

  • Native integrations with Apple Health and Google Fit for automated activity logging[cite: 1].
  • Offline-first Progressive Web App (PWA) with background sync[cite: 1].
  • Social accountability features and shared team challenges[cite: 1].
  • Automated weekly progress reports with CSV/PDF export options[cite: 1].

Built With

  • rest
Share this project:

Updates

Submission history