A beautiful, minimalist personal productivity tracker with a warm, inviting design. Track daily and weekly habits, maintain streaks, and stay motivated with visualizations and encouragement.
- π― 8 Habit Categories: Team Updates, Be Yourself, Daily Thoughts, Work, Skills, Checklist, End Day Thoughts, Reading
- π₯ Streak Tracking: Track consecutive days of habit completion with flame indicators
- π Progress Visualization: See your completion rate with progress bars and stats cards
- π Weekly View: Visual calendar showing completed habits throughout the week
- π Dark Mode: Elegant dark mode toggle for comfortable use anytime
- π¨ Minimalist Design: Warm color palette (beige, purple, orange) with elegant SVG illustrations
- πΎ Local Storage: Your habits and preferences are saved locally in your browser
- π± Responsive: Beautifully designed for mobile, tablet, and desktop
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS with custom theming
- Animations: Framer Motion
- UI Components: Shadcn/ui
- State Management: React Hooks + Local Storage
- Routing: Wouter
- Node.js 18+ and npm
-
Clone the repository
git clone <your-repo-url> cd habit-tracker
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open in browser Navigate to
http://localhost:5000
- Click on any category card to open the habit modal
- Enter a habit name, description, and frequency (Daily/Weekly)
- Click "Add Habit"
- Check off completed habits in the modal
- Watch your streaks grow!
- View completion stats in the dashboard
- Click on your profile avatar in the top right
- Select "Profile & Settings"
- Edit your name, email, and daily goal
- Click "Save Settings"
- Dark Mode: Toggle using the moon/sun icon in the header
- Daily Goal: Set your target number of habits per day in settings
- Personal Info: Update your name and email in settings
habit-tracker/
βββ client/
β βββ src/
β β βββ components/ # Reusable React components
β β βββ pages/ # Page components
β β βββ lib/ # Utilities and helpers
β β βββ App.tsx # Main app component
β β βββ index.css # Global styles
β βββ package.json
β βββ tsconfig.json
βββ README.md
βββ vite.config.ts
The app features a carefully curated color palette:
- Primary: Purple (#C9A7D8)
- Secondary: Orange (#FF6B3D)
- Accent: Gold (#D4A056)
- Background: Warm Beige (#F5E6D3)
Each category card includes minimalist SVG illustrations:
- π Team Updates: Document stack
- π« Be Yourself: Graceful hand
- π Daily Thoughts: Leaf pattern
- π― Work: Target circles
- πΏ Skills: Fern branches
- β Checklist: Starburst
- ποΈ End Day: Arch gateway
- π Reading: Open book
-
Create a GitHub repository
git init git add . git commit -m "Initial commit" git remote add origin <your-repo-url> git push -u origin main
-
Update vite.config.ts (if deploying to a subdirectory):
export default { base: '/<repository-name>/', // ... rest of config }
-
Build for production
npm run build
-
Enable GitHub Pages
- Go to repository Settings β Pages
- Set source to "Deploy from a branch"
- Select
mainbranch and/distfolder - Click Save
-
Deploy with one click
npm i -g vercel vercel
-
Follow the prompts to connect your GitHub repository
-
Build the project
npm run build
-
Upload the
distfolder to your hosting service -
Configure server to serve
index.htmlfor all routes (for client-side routing)
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production build
- Edit components in
client/src/components/ - Add pages in
client/src/pages/ - Styles are in
client/src/index.css - Changes auto-reload during development
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
All habit data is stored in your browser's local storage. Your data:
- β Stays private on your device
- β Persists across browser sessions
- β Can be exported by clearing browser cache
β οΈ Will be lost if browser cache is cleared
Tip: Regularly export your data or consider syncing to cloud storage.
- Cloud sync for cross-device access
- Data export/import (CSV, JSON)
- Habit templates
- Social sharing of achievements
- Push notifications
- Statistics and analytics dashboard
- Goal setting and milestone tracking
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - feel free to use this project for personal or commercial purposes.
For issues or questions:
- Check the GitHub Issues
- Create a new issue with a clear description
- Built with Shadcn UI
- Animations by Framer Motion
- Icons from Lucide React
- Styling with Tailwind CSS
Happy tracking! Build better habits, one day at a time. π