Coding

Built for impact,
trained to see.

During Bangkit Academy — an independent study program led by Google, GoTo & Traveloka — I served as Machine Learning Engineer, building the AI brain of EcoDo: a waste classification app that helps people sort waste through a camera.

EcoDo Logo

EcoDo

A user-friendly application aimed at simplifying waste management, promoting recycling, and engaging the community in proactive efforts to maintain a clean and sustainable environment — powered by a real-time image classification model built from scratch using transfer learning.

View Repository
PYTHON TENSORFLOW MOBILENETV2 KERAS TRANSFER LEARNING GOOGLE CLOUD COMPUTE ENGINE

My Role

Served as Machine Learning Engineer

Responsible for building, training, and optimizing the image classification model — from dataset preparation and augmentation, to fine-tuning MobileNetV2 via transfer learning, to exporting the final model for mobile deployment.

Cloud Architecture

"How the pieces connect."

The system is built on Google Cloud Platform — the mobile app communicates with a Compute Engine instance, which reads/writes to Cloud SQL for structured data and Cloud Storage for image files.

Cloud Architecture Diagram

ML Model

"MobileNetV2 — fine-tuned."

Transfer learning on MobileNetV2 pretrained on ImageNet, topped with a custom classification head trained to recognize 6 waste categories. Frozen base layers keep the pre-learned feature extractor intact while only 164K parameters are trainable.

Layer (Type) Output Shape Param #
mobilenetv2_1.00_224Functional — Base Model (frozen) (None, 7, 7, 1280) 2,257,984
global_average_pooling2d_1GlobalAveragePooling2D (None, 1280) 0
dense_2Dense — ReLU activation (None, 128) 163,968
dropout_1Dropout — regularization (None, 128) 0
dense_3Dense — Softmax, 6 classes output (None, 6) 774
Total Parameters 2,422,726  (9.24 MB)
Trainable Parameters 164,742  (643.52 KB)
Non-trainable Parameters 2,257,984  (8.61 MB)

~93%

Train Accuracy

~87%

Val Accuracy

20

Epochs

6

Waste Classes

Training History

"Loss down, accuracy up."

Training loss steadily converges to ~0.20 over 20 epochs. Validation accuracy stabilizes around 84–89%, confirming the model generalizes well without heavy overfitting.

Training and Validation Loss / Accuracy Graph

App Walkthrough

"Four steps to cleaner waste."

Here's how EcoDo guides users from opening the app to understanding and managing their waste — all powered by the ML model under the hood.

Step 1 — Home

01

Home

Users open the app and land on EcoDo's main dashboard — the starting point of the waste management journey.

Step 2 — Classification Result

02

Scan Waste

Users capture a photo of any waste item using the camera or pick one from their gallery for classification.

Step 4 — Scan Waste

03

Classification Result

The ML model instantly analyzes the image and displays the waste category with a confidence score.

Step 5 — Recycling Recommendation

04

Recycling Recommendation

Based on the classification, EcoDo suggests the best recycling or disposal method for each waste type.