⚡ HabitMaster Pro — Project Story
Inspiration
Most habit trackers are either too simple or too bloated. We were inspired by the 1% rule from Atomic Habits — the idea that tiny daily improvements compound into massive results:
$$ P(365) = 1.01^{365} \approx 37.78\times $$
We wanted to make that compounding visible, in a tool that's fast, private, and lives entirely in your browser.
What It Does
HabitMaster Pro is a Multi files habit tracking dashboard with:
- ✅ Full CRUD for habits and tasks
- 📋 Kanban board with drag-and-drop
- 📊 Charts & analytics (weekly progress, category breakdown, streak heatmap)
- 🔔 Notifications and streak alerts
- 🖥️ Live activity console logging every action
- 🎤 Voice search via Web Speech API
- 🌍 3 languages: English, French, German
- 💾 100% local — all data stored in
localStorage, nothing sent to any server
How We Built It
One HTML file. No framework. No build step.
habitmaster-pro.html ├── <style> → CSS variables, Grid/Flexbox layout, responsive rules ├── <body> → Sidebar, topbar, 7 page sections, modals └── <script> → CRUD, charts, drag-and-drop, i18n, voice search, settings The SVG progress ring is driven by a simple circumference formula:
$$ \text{offset} = 2\pi r \cdot \left(1 - \frac{\text{rate}}{100}\right), \quad r = 64 $$
Theming is handled entirely through CSS custom properties — switching dark/light mode or accent color updates the whole UI instantly with zero re-renders.
Challenges We Ran Into
- Single-file constraint — keeping ~2,000 lines readable without modules or imports
- Native drag-and-drop — implementing Kanban DnD without a library, avoiding ghost artifacts
- Chart.js + dark mode — charts don't read CSS variables natively; we destroy and re-render on every theme switch
- Voice search compatibility — graceful fallback when
SpeechRecognitionisn't available - localStorage limits — capped logs at 200 entries and notifications at 50 to avoid silent write failures
Accomplishments That We're Proud Of
- 🚀 Zero runtime dependencies — works offline after first load
- 🎨 A full design system in pure CSS variables
- 🖥️ A terminal console that makes every state change transparent
- 📐 Real math behind every stat — no fake or hardcoded values
What We Learned
- CSS custom properties alone can power a complete theming system
- Chart.js instance lifecycle management is critical to avoid memory leaks
- Shipping with realistic sample data is a feature, not a shortcut
- Constraints (single file) produce leaner, more intentional code
What's Next for HabitMaster Pro
- 📱 PWA support — installable on mobile, full offline mode
- ⏱️ Pomodoro timer — auto-complete habits after a focus session
- 🔗 Optional cloud sync — end-to-end encrypted, self-hostable
- 🤖 AI habit suggestions — recommend new habits based on existing patterns using correlation:
$$ r = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum(x_i-\bar{x})^2 \cdot \sum(y_i-\bar{y})^2}} $$
"We are what we repeatedly do. Excellence is not an act, but a habit." — Aristotle

Log in or sign up for Devpost to join the conversation.