Ekolo
Waste collection management, from the field to the map
A waste-collection management platform: sites, vehicles, routes and field agents, with a map-driven dashboard in the office and a Flutter app in the field. A tool-equipped AI agent lets operations be queried in plain language.
- 9
- AI tools
- 3
- applications
Architect & developer — API, dashboard, mobile app
A collection operation is run on a map, not in a table. The supervisor wants to know which sites are overdue, which vehicle is closest, which route drifted — and wants to know it by looking, not by filtering. In the field the constraint is the opposite: an app that stays usable on a modest phone, in motion, on an unreliable connection.
The dashboard is built around the map rather than the other way round: sites, vehicles and routes are layers on it, and tables only serve detail views. In the field, the Flutter app shares the same API and data model, with no intermediate backend.
The AI is not a chatbot bolted on the side. The agent has nine tools wired into the actual domain, so it answers from the real state of operations rather than a text summary — and makes exploration accessible to someone who does not know the dashboard's filters.
All primary keys are UUIDs. On a system where records are created offline in the field and synced later, server-side auto-increment IDs would force a reconciliation step on every reconnect.
- 01
API
Laravel 13 with Sanctum token auth, responses normalised through JSON resources and authorisation via policies.
Laravel 13 · Sanctum
- 02
Tool-equipped AI agent
Nine tools wired into the domain — sites, vehicles, routes, staff — running on Cloudflare AI.
9 tools · Cloudflare AI
- 03
Dashboard
Next.js 16 on the bun runtime, Mapbox GL mapping and Recharts charts.
Next.js 16 · Mapbox
- 04
Field app
Flutter 3 with Riverpod, GoRouter and MapLibre GL, for agents on their rounds.
Flutter · Riverpod
- Map-driven dashboard: collection sites, fleet, routes and staff
- Flutter app for field agents, on the same API as the dashboard
- AI agent with nine tools wired directly into the business domain
- UUID primary keys across all models, designed for offline record creation