Join Waitlist Now: https://yaps.gg/thing/take-trash
An app to gamify eco-friendly activities, incorporating user verification and community engagement. Key features include challenges related to planting, watering, and waste separation, a points system, and community leaderboards.
Learn more: About.
Watch the promo on YouTube.
- Splash Screen: App logo, name, and loading indicator
- Bottom Navigation: Home, Scan, and Block List tabs
- Home Screen: Challenges and Analytics tabs
- Scan Screen: Take photos of eco-activities to earn points
- Block List: Apps that can be blocked until eco-activities are completed
-
Install dependencies:
flutter pub get
-
Build and run the app:
flutter run
-
Permissions:
- Make sure to grant camera permissions when prompted
- For analytics, grant usage stats permissions
-
Set up a virtual environment:
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the server:
python app.py
The server will run on
http://localhost:8000. -
Update the server URL in the app:
- In
lib/screens/scan_screen.dart, update the_serverUrlvariable with your server's IP address if you're testing on a physical device - When testing on an emulator, you can use:
- Android emulator:
10.0.2.2:8000 - iOS simulator:
localhost:8000
- Android emulator:
- In
The scan feature allows users to:
- Take a photo of their eco-friendly activity
- Send it to the backend for processing via HTTP or WebSocket
- Receive feedback on the detected eco-activity
- Earn points for verified eco-activities
The backend uses a simple color-based detection system to identify plants (green colors) and recycling (blue colors).
This Flutter application has been modified to work completely offline without requiring an internet connection or backend server. The app uses on-device machine learning with TensorFlow Lite to detect environmental activities.
- Camera-based detection of environmental activities
- Fully offline operation using on-device ML
- Demo mode when no ML model is available
- User-friendly interface for capturing images
- Continuous scanning mode
- Clone the repository
- Run
flutter pub getto install dependencies - Run the app with
flutter run
The app is set up to use TensorFlow Lite models for detection. To use your own model:
- Train a model or download a pre-trained one
- Convert it to TensorFlow Lite format (.tflite)
- Place the model in
/assets/models/model.tflite - Update the labels file at
/assets/models/labels.txtto match your model's output classes
If no valid TensorFlow Lite model is found, the app will run in "demo mode" which simulates detections. This is useful for testing the UI or when you don't have a trained model available.
- TensorFlow Lite for Flutter
- Flutter Camera plugin
- Image processing libraries
- Permission handling
Since all processing happens on-device, no data is sent to any server, ensuring complete privacy for users.