
Distributor Management System
Overview
Developed as my undergraduate thesis research, the Distributor Management System (internally, "Nusantara Network Route Planner") is a web and mobile information system built for PT Nusantara Network's distribution managers, field employees, and logistics coordinators. It optimizes delivery routes and field task management, replacing manual planning with an automated, cross-platform system.
Problem
PT Nusantara Network relied on manual methods for planning distribution routes and managing field tasks. Planning routes by hand led to inefficient delivery schedules and higher operational costs, and coordinators had no reliable way to track employee activities in the field in real time.
Solution
A cross-platform system that automates route optimization using a Genetic Algorithm combined with the Google Distance Matrix API to calculate the most efficient delivery sequences. Distribution managers assign tasks and manage customer data from a web dashboard, while field employees receive their optimized routes on a companion mobile app that also reports their live location back to coordinators.
Architecture
The system is split into two clients sharing one backend. The admin dashboard is built with Next.js, TypeScript, Shadcn UI, and Tailwind CSS, and handles customer management, task assignment, and route planning. The field app is built with React Native and focuses on route execution and real-time location tracking. Both are backed by Supabase for the database, authentication, and realtime updates. The route optimizer feeds real travel distances from the Google Distance Matrix API into a Genetic Algorithm that searches for the shortest total delivery sequence.
- Next.js
- React Native
- TypeScript
- Shadcn UI
- Tailwind CSS
- Supabase
Challenges
The hardest part was making the Genetic Algorithm practical rather than academic: tuning population size, mutation rate, and termination criteria so routes converged to good solutions within a wait users would tolerate, while staying inside the Google Distance Matrix API's request limits. Coordinating two codebases — a web dashboard and a mobile app — against one evolving Supabase schema also demanded discipline in keeping data contracts consistent.
Lessons Learned
This project taught me how to carry a research idea all the way to a working product: reading papers on route optimization, translating an algorithm into production TypeScript, and validating it against real distribution data. It also cemented my habit of designing the data model first when a single backend serves multiple platforms.




