🏋️ Good Habits

Your phone counts your squats. For real.

An experiment in Kotlin, Computer Vision, and AI

Android 7.0+ Kotlin Jetpack Compose TensorFlow Lite 100% Open Source

💡 Why This Exists

"You do not rise to the level of your goals. You fall to the level of your systems."

— James Clear, Atomic Habits

This project was born from a simple question: What if technology could make good habits effortless?

Inspired by Atomic Habits, I wanted to build a system that makes habits obvious, attractive, easy, and satisfying. But beyond habit formation, this was my personal journey to explore Computer Vision, master TensorFlow Lite, and build with Jetpack Compose.

01
Make it Obvious
AI counts reps automatically
02
Make it Attractive
Beautiful UI, instant feedback
03
Make it Easy
Just point camera and start
04
Make it Satisfying
See progress, break the chain

"Every action you take is a vote for the type of person you wish to become."

This app votes for consistency. One squat at a time.

📱 See It In Action

AI Squat Detection
🤖 AI Squat Counter
Real-time pose detection at 30 FPS
Today Screen
📅 Daily Session
Track workouts effortlessly
Calendar
🔥 Streak Tracking
Don't break the chain

🎯 What It Does

🤖
AI-Powered Detection
  • Real-time pose recognition (30 FPS)
  • Automatic rep counting
  • Front/back camera support
  • 100% on-device (no cloud)
💪
Complete Tracking
  • 90+ exercises ready to use
  • Custom workouts & templates
  • Streak tracking calendar
  • Export to CSV/JSON/TXT
🧘
Wellness Monitoring
  • Track mood, energy, sleep
  • 18 emotional trackers
  • Separate from workouts
  • Mental health matters too

🛠️ How It's Built

"A habit must be established before it can be improved."
This app establishes the system. You improve the reps.

// Core Stack
Jetpack Compose + Material3  // Modern UI
TensorFlow Lite + MoveNet    // AI pose detection
Room Database + Coroutines   // Data persistence
MVVM + Clean Architecture    // Solid foundation

// The Interesting Part
MoveNet Lightning  →  Optimized ML model (~4MB)
GPU-accelerated    →  Hardware inference
17 body keypoints  →  Full pose tracking
Custom squat logic →  Validates proper form

🎓 For Developers

"The purpose of setting goals is to win the game. The purpose of building systems is to continue playing the game."

This project is open source for a reason. Want to explore TensorFlow Lite on Android? Learn Jetpack Compose in a real project? Study Clean Architecture? Experiment with Computer Vision?

Clone it. Break it. Fix it. Learn.