Smart Recycling & Eco-Rewards Project
Table of Contents
Project Overview
A mobile application that integrates Reverse Vending Machines (RVMs) to record recycling points in real time via QR code. Collected points can be redeemed for various attractive rewards at RVM locations located in various malls across Jakarta.
- Role : Mobile Developer
- Duration : May 2025 - Jul 2025
- Tech Stack :Flutter , Dart, Mobx, MVVM , Clean Arch, Sentry, CodeMagic, CICD
User Interface Application
To see the UI, go directly to the application’s features section.
My Contribution
-
REST API Integration: Seamlessly connecting all frontend functionality of the application with backend services.
-
CI/CD Pipeline: Manually building and configuring build and deployment automation using codemagic.yaml.
-
Custom Error Logging: Implementing a custom Sentry to detect specific errors based on the architecture layer (View, ViewModel, or Repository).
-
Core Mobile Features: Developing local notification, QR detection, and GPS tracking features to calculate the user’s distance to the nearest RVM unit.
-
Localization: Implementing a multilingual system (Indonesian & English).
-
App Deployment: Successfully releasing the application to the Google Play Store and preparing it for release on the Apple App Store.
Technical Implementation
-
Architecture & State Management: Using Flutter with an MVVM pattern utilizing MobX, wrapped in a modular Clean Architecture structure.
-
QR Transaction Mechanism: Scanning a QR Code from the RVM screen automatically triggers a local success notification and immediately updates the transaction data in the UI.
-
Layer-Specific Error Tracking: Designing a custom Sentry Log class that is consistent across every API hit and layer (ViewModel, UseCase, Repo). This system is capable of recording detailed input/output data, error codes, payloads, and exceptions without recording sensitive user data (using data masking).
-
Dynamic & Responsive Layout: Creating a utility function for converting layout dimensions based on Figma’s scale percentage (e.g., base dimension 393x882). The UI is dynamically calculated based on the device’s native resolution to maintain precision and consistency across various screen sizes.
Feature Application
Disclaimer
All product names, logos, and brands are anonymized due to NDA.Auth System
Login/Register via standard email with secure OTP email verification.
View Screenshots
Home
Displays the user’s current points count and information about the nearest RVM location.
View Screenshots
Scan QR Code Transaction
The RVM machine’s QR code scanner allows users to claim points after dropping off recyclables.
View Screenshots
Transaction List
Provides a complete history of all waste disposal transactions and points earned.
View Screenshots
| 1 | 2 |
|---|---|
![]() | ![]() |
Notification
History list to view all incoming notifications.
View Screenshots
RVM Location List
Displays a list of available RVMs, complete with GPS-based distance calculations from the user’s location.
View Screenshots
User Management
Simple profile customization feature (change name, phone number, and password).
View Screenshots
| 1 | 2 |
|---|---|
![]() | ![]() |


