CarbonTracker is a Flutter-based mobile application that helps users track their fitness activity and understand its environmental impact.
The app follows a local-first and privacy-focused approach, keeping user, fitness, location, and trip data on the user's device whenever possible.
Track fitness and activity data Track trips and transportation modes Calculate carbon emissions and carbon savings View fitness and environmental insights Location-based trip tracking Wear OS support Export trip data as JSON Automatic cleanup of older trip history
- Flutter / Dart
- SQLite (sqflite)
- Riverpod
- Health Connect / HealthKit
- Geolocation services
- Wear OS
- The mobile app (if applicable):
- has an About page containing the Aossie's logo and pointing to the social media accounts of the Aossie.
- is available for download as a release in this repo.
- is available in the relevant app stores.
flowchart TD
A[Flutter UI] --> B[Riverpod State Management]
B --> C[Device Integrations]
B --> D[Local SQLite Database]
C --> C1[Health Connect / HealthKit]
C --> C2[Geolocation]
D --> E[Carbon Calculation Engine]
E --> A
D --> F[JSON Export]
flowchart TD
A[Open App] --> B{First time?}
B -->|Yes| C[Onboarding: Name, Weight, Transport Preferences]
B -->|No| D[Dashboard]
C --> D
D --> M[Map Screen]
M --> E[Start Trip Tracking]
E --> F[App Records Location and Distance]
F --> G[Trip Ends]
G --> H[Carbon Emissions and Savings Calculated]
H --> D
D --> J[Fitness Screen: View Fitness Metrics]
D --> P[Profile Screen]
P --> K[Export Trip History as JSON]
P --> L[Clear Stored Data]
-
Onboarding
- User opens the app for the first time
- Enters name, weight, and preferred transport modes
- Lands on the main dashboard
-
Logging a Trip
- User navigates to the Map screen
- Starts trip tracking
- App records location and distance in the background
- User ends the trip
- App calculates carbon emissions and savings
- Results appear back on the dashboard
-
Reviewing Fitness Metrics
- User navigates to the Fitness screen
- Views fitness data such as steps, distance, and activity insights
-
Managing Data
- User navigates to the Profile screen
- Can export trip history as JSON or clear stored data at any time
-
View Carbon Metrics
- Reviewing Carbon Insights
- User navigates to the Carbon screen
- Views daily and weekly carbon emissions and carbon savings
Before setting up CarbonTracker, make sure you have the following installed:
- Flutter
- Dart (included with Flutter)
- Android Studio or another Flutter-supported development environment
- An Android/iOS emulator or a physical device
You can verify your Flutter installation by running:
flutter doctorResolve any issues reported by flutter doctor before proceeding.
git clone https://github.com/AOSSIE-Org/CarbonTracker.git
cd CarbonTrackerflutter pub getFirst, check that Flutter can detect your available devices:
flutter devicesThen run the application with:
flutter runYou can run the project directly from Android Studio or another IDE with Flutter support.
⭐ Don't forget to star this repository if you find it useful! ⭐
Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure smooth collaboration, please refer to our Contribution Guidelines.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
Thanks a lot for spending your time helping CarbonTracker grow. Keep rocking 🥂
© 2026 AOSSIE