Modern, aesthetic nutrition tracking app for India 🇮🇳
Photo-based calorie counter with bilingual (Tamil/English) voice assistant.
- Flutter SDK 3.2.0 or higher
- Dart 3.0+
- Android Studio / VS Code
- Android device or emulator
-
Clone the repository (if using git)
cd p:\Infit
-
Install dependencies
flutter pub get
-
Download fonts (Important!)
You need to download these fonts and place them in
assets/fonts/:Inter Font:
- Download from: https://fonts.google.com/specimen/Inter
- Files needed:
Inter-Regular.ttf(400 weight)Inter-Medium.ttf(500 weight)Inter-SemiBold.ttf(600 weight)Inter-Bold.ttf(700 weight)
Noto Sans Tamil:
- Download from: https://fonts.google.com/specimen/Noto+Sans+Tamil
- Files needed:
NotoSansTamil-Regular.ttf(400 weight)NotoSansTamil-SemiBold.ttf(600 weight)NotoSansTamil-Bold.ttf(700 weight)
Roboto Mono:
- Download from: https://fonts.google.com/specimen/Roboto+Mono
- Files needed:
RobotoMono-Medium.ttf(500 weight)
Folder structure should be:
p:\Infit\ ├── assets\ │ └── fonts\ │ ├── Inter-Regular.ttf │ ├── Inter-Medium.ttf │ ├── Inter-SemiBold.ttf │ ├── Inter-Bold.ttf │ ├── NotoSansTamil-Regular.ttf │ ├── NotoSansTamil-SemiBold.ttf │ ├── NotoSansTamil-Bold.ttf │ └── RobotoMono-Medium.ttf -
Create asset folders
mkdir assets mkdir assets\fonts mkdir assets\images mkdir assets\icons mkdir assets\animations
-
Run the app
flutter run
- Beautiful UI design system (better than Cal AI)
- Light & Dark mode (AMOLED optimized)
- Dashboard with calorie tracker
- Macro breakdown (Protein, Carbs, Fat)
- Meal logging with fake data
- Bottom navigation (4 tabs)
- Floating action button
- Food confirm screen
- Camera screen (placeholder)
- Real camera integration
- AI food recognition
- Voice assistant (Tamil/English)
- Insights & charts
- Profile & settings
- Firebase integration
- Data persistence
InFit uses a custom design system inspired by Cal AI but with improvements:
- Warmer colors - Orange/saffron accents instead of gray
- Better dark mode - Pure black (#000000) for AMOLED
- Bilingual support - Optimized for Tamil + English
- Cultural design - Subtle Indian design elements
- Smooth animations - 120fps on supported devices
See design/InFit_Design_System.md for full specs.
lib/
├── main.dart # App entry point
├── core/
│ ├── theme/
│ │ ├── app_theme.dart # Light & dark themes
│ │ ├── app_colors.dart # Color palette
│ │ ├── app_typography.dart # Text styles
│ │ └── app_spacing.dart # Spacing system
│ ├── router/
│ │ └── app_router.dart # Navigation (GoRouter)
│ ├── models/
│ │ ├── food_item.dart # Food item model
│ │ └── meal.dart # Meal model
│ └── widgets/
│ ├── calorie_card.dart # Calorie counter widget
│ ├── macro_card.dart # Macros widget
│ └── meal_card.dart # Meal display widget
├── features/
│ ├── dashboard/
│ │ └── screens/
│ │ └── dashboard_screen.dart # Home screen
│ ├── camera/
│ │ └── screens/
│ │ └── camera_screen.dart # Camera (placeholder)
│ ├── food/
│ │ └── screens/
│ │ └── food_confirm_screen.dart
│ ├── insights/
│ │ └── screens/
│ │ └── insights_screen.dart # Charts (placeholder)
│ └── profile/
│ └── screens/
│ └── profile_screen.dart # Settings (placeholder)
Run tests:
flutter testCheck code quality:
flutter analyze- Make sure you downloaded all fonts to
assets/fonts/ - Run
flutter cleanthenflutter pub get
- Run
flutter pub get - Restart your IDE
- Make sure Flutter SDK is installed:
flutter doctor - Check device is connected:
flutter devices
- Project setup
- Design system
- Dashboard with fake data
- Camera integration (camera package)
- Food confirm flow
- Save meals to local storage (Hive)
- Voice assistant (TTS/STT)
- Tamil language support
- Daily targets calculator
- Insights & charts (fl_chart)
- Profile & settings
- Weight tracking
- Firebase integration
- Cloud photo storage
- Backend API connection
- AI food recognition
- Polish & testing
- Beta release
Built with:
- Flutter 3.x
- Riverpod (state management)
- GoRouter (navigation)
- Material Design 3
This is a personal project. All rights reserved.
Happy Coding! 🚀