Skip to content
Fadhil Muhammad
All work

AngkutinMobile + admin panel

A waste pickup app for residents and collectors

Residents request pickups and report illegal dumping. Collectors see what to do next. Admins see everything. Two Flutter apps and a web panel on Firebase.

Role
Developer: app architecture, roles and the admin panel
Period
2024
Team
Undergraduate thesis project
Status
Thesis project
Angkutin mobile screens: waste report form, map of pickup points and request status
  • 3roles: residents, collectors and admins
  • 2mobile apps plus a web admin panel
  • Livestatus updates through Firestore listeners

Context

The problem

Pickup requests and dumping reports came in by phone and chat. Requests got lost, residents never heard back, and coordinators had no overview.

Solution

What we built

Separate apps for residents and collectors, plus an admin panel. Each role only sees what it can act on. Every change syncs in real time through Firestore, and locations are pinned on OpenStreetMap.

  • Flutter
  • Dart
  • Firebase
  • Firestore
  • Crashlytics
  • OpenStreetMap
  • Real-time

Decisions

Decisions and trade-offs

OpenStreetMap instead of a paid map API

No per-request cost for a community project with an uncertain budget. The price was a bit more work on geocoding.

Real-time from the start

For residents the status is the product. With Firestore listeners they see a collector is on the way without refreshing.

My role

What I owned

  • Defined the three roles and their permissions.
  • Built the Flutter mobile app and the Flutter web admin panel.
  • Set up the Firestore data structure and real-time listeners.

Artefacts

Angkutin admin dashboard summarising reports, users and pickup requests

Reflection

What I'd do differently

Two-sided apps depend on the supply side. Next time I'd interview collectors as early as residents.

Next case studyTeaching Flutter in a national startup programme

Have a process that should be a system?

I'm not looking for a new role, but I'm always up for a conversation about a system, a process or a collaboration.