Fleet Pulse
Company-wide KPI dashboard with group drill-down, regional vehicle map, ranked tables, daily AI digest, and fleet trend analytics, powered by Geotab Ace.
Fleet route intelligence, contextual stop briefings, vehicle analytics, comic-style trip storytelling, composable report building, and Slack/Teams sharing — built on the Geotab Direct API and Geotab Ace, deployed on Google Cloud Run.
For the best experience, set the video quality to 1080p HD via the gear icon in the player.
Company-wide KPI dashboard with group drill-down, regional vehicle map, ranked tables, daily AI digest, and fleet trend analytics, powered by Geotab Ace.
Tap any stop on a trip map and get an LLM-narrated area guide combining reverse-geocoded place data, nearby amenities, Ace fleet visit history, and a persistent location dossier.
Per-vehicle analytics cards — trip profile, route fingerprint, driving behavior, and anomaly detection — computed client-side from trip history. No extra API calls.
Generate a 4-panel visual story from a trip's GPS breadcrumbs, enriched by stop context briefings. Three tones: Guidebook, Playful, Cinematic. Export as PDF.
Natural-language Cmd+K command palette for querying fleet data across all integrated APIs — Geotab Direct, Ace, context briefings, and next-stop predictions.
Composable PDF reports with toggleable sections, shareable to Slack (Block Kit messages or PDF upload) and Microsoft Teams (Adaptive Cards with time-limited PDF download links).
Tech Stack
By the Numbers
Behind the Build
Built for the Geotab Vibe Coding Competition, Feb–Mar 2026. From a blank idea doc to a production-deployed fleet intelligence app.
It began with a blank Markdown file — MY_PROJECT.md — and a question: what if fleet data could tell stories?
Geotab gives you trips, GPS breadcrumbs, and raw telemetry. What it doesn't give you is meaning. A driver stops at a location 14 times in 90 days, and no one notices. A fleet manager wants to brief a driver about an unfamiliar area, and there's nothing to reach for. A tourism operator wants to share a route with passengers, and the best they have is a spreadsheet.
That observation became the kernel. The idea: FleetHappens — a full-stack web app that reads Geotab data and layers on context, intelligence, and narrative. Think of it as giving a fleet a voice.
This wasn't built line by line. It was built with AI, using a deliberate multi-agent architecture inside Cursor.
The process started with a Technical Writer + Solution Architect agent that read every competition resource and sharpened the project spec. That spec became the single source of truth. From there, a Tech Lead / Orchestrator Agent broke the work into parallel tracks and assigned them to specialist agents:
Each agent had its own prompt, its own file ownership boundaries, and a clear set of deliverables. The orchestrator kept them coherent. I acted as the human in the loop — tuning prompts, reviewing outputs, and enforcing quality.
Stage 1: Scaffolded the entire project from scratch. Vehicle selector, trip map with GPS breadcrumbs, Geotab Direct API integration, basic dashboard. Got to a working “select a vehicle, see its trips on a map” in a single day.
Stage 2: Upgraded story generation, integrated Ace with proper polling and retry logic, set up BigQuery for caching Ace results and storing comic stories. Added per-user Geotab authentication. By end of day the app was running on Google Cloud Run.
Stage 3: Added Fleet Pulse dashboard, vehicle intelligence cards, next-stop prediction, location dossiers, Street View, text-to-speech narration, PDF export, and a natural-language AI assistant. Zero to production in a matter of days.
There's a version of vibe coding that's just autocomplete. This wasn't that.
The meaningful parts were the decisions that couldn't be delegated:
x for longitude and y for latitude, and centralizing that normalization before it could infect every componentwithFallback() as a universal wrapper so the demo could survive a network outage at the presentationThe agents wrote the code. I wrote the architecture, the constraints, the prompt engineering, and the integration rules. The interesting part of the journey wasn't the typing — it was the thinking.
MY_PROJECT.md before writing a line of code paid back tenfold.Credits
Built for the Geotab Vibe Coding Competition, Feb–Mar 2026.
Thanks to the Geotab team for the Direct API, Ace, and the competition brief that sparked the idea. Thanks to Google Cloud for Vertex AI, BigQuery, Cloud TTS, and Cloud Run. Thanks to Anthropic and OpenAI as fallback LLM providers. Thanks to the open-source ecosystem: Next.js, Tailwind CSS, shadcn/ui, Leaflet, jsPDF, and Radix UI.
Special thanks to Cursor and Claude for being genuinely useful collaborators — not autocomplete, but thinking partners.
FleetHappens · The real product was the process.