Background

PilotPal

The road in view. The drive understood.

Scroll

The Gap We Close

Problem

Driving blind.

Most drivers never get objective feedback: speed, smoothness, and risk blur together on every trip. Hard braking, sharp turns, and time over the limit usually go unmeasured until something goes wrong — and dashboards built for fleets don't speak to everyday people behind the wheel.

  • Speed, smoothness, and risk stay invisible — every trip is a black box
  • Hard braking and sharp turns go unflagged until something goes wrong
  • Fleet dashboards speak numbers, not to the person behind the wheel
  • No real-time coaching, no post-drive replay, no plain-language feedback
Solution

Eyes forward.

PilotPal mounts under your mirror with your phone: the forward camera sees the road while GPS speed and the phone's gyroscope and accelerometer capture motion. In real time it can speak up when you need to slow down — and when you park, it wraps everything into a clear summary with clips and plain-language feedback.

  • Mirror-mounted phone fuses camera, GPS, and IMU into one live data stream
  • Vision stack scores every turn, flags limit violations, and detects hard stops
  • Spoken alerts keep your eyes forward — no tapping, no second screen required
  • After parking: full summary, labeled clips, and plain-language breakdown

Tech Stack

18 pieces. One coherent system.

Flutter on the device, Gemini in the cloud, ML Kit on the edge. Every package earns its place — sensor fusion runs on-phone, vision analysis streams to a single multimodal model, and the entire HUD is drawn pixel-by-pixel with CustomPainter.

Flutter/Dart
Camera
ML Kit
sensors_plus 100 Hz
GPS
Kalman
Gemini API
Firestore
TTS
Core Platform2 packages
Flutter

Google's UI framework — lets you write one codebase in Dart that compiles to native Android (or iOS). Think of it like React Native but from Google.

Dart

The programming language Flutter uses. Similar to a Java/JavaScript hybrid.

Camera & Vision3 packages
Camera plugin

Accesses the phone's camera hardware — live preview, take photos, record video. We use it for the driving HUD, Gemini snapshots, and clip recording.

Google ML Kit (Object Detection)

Runs a machine learning model directly on the phone (no internet needed) that detects objects like cars, people, and signs in the camera feed in real-time. That's what draws the bounding boxes on the HUD.

Google Generative AI (Gemini)

Google's AI model (like ChatGPT). We send it camera snapshots every 8 seconds and it analyzes them for lane departures, following distance, traffic violations, etc. Also generates the AI coach summary at the end.

Sensors & Location2 packages
sensors_plus

Reads the phone's accelerometer (measures g-forces / acceleration) and gyroscope (measures rotation). This is how we detect hard braking, sharp turns, etc. without any external hardware.

Geolocator

Gets GPS location + speed from the phone. Used for speed tracking, distance calculation, and speed limit warnings.

Audio & Alerts1 package
flutter_tts

Text-to-Speech — converts text to spoken voice. This is how the app says "Hard braking detected" out loud while you drive. Runs through a priority queue with cooldowns so it doesn't spam the driver.

Data & Storage3 packages
sqflite

A SQLite database that lives on the phone. Stores all your drive sessions, events, scores locally so they persist between app launches.

Firebase Core + Cloud Firestore

Google's cloud database. When a drive ends, the app uploads the session to Firestore so the web dashboard can read it. Think of it as syncing your phone data to the cloud.

path_provider

Gives us the app's documents folder path on the phone — that's where video clips get saved.

Video & Media2 packages
video_player

Plays back the recorded .mp4 clip files in the summary screen after a drive.

Rolling Video Buffer

A continuous ring buffer records and discards old footage. The instant an event fires — hard brake, speed violation, red light — the surrounding clip is frozen and saved for post-drive review.

HUD & Rendering2 packages
CustomPainter

Flutter's low-level drawing API. We use it to paint the entire HUD overlay — the compass strip, G-force gauge, scan line, corner brackets, score ring, artificial horizon. All drawn pixel by pixel every frame.

fl_chart

Charting library for drawing graphs/visualisations in the summary.

System & Permissions3 packages
wakelock_plus

Keeps the screen on while driving. Without this, the phone would auto-lock mid-drive.

permission_handler

Requests camera, microphone, and location permissions from the user at runtime (Android requires explicit permission).

uuid

Generates unique IDs (like a3f8b2c1-…) for each drive session and event so nothing collides in the database.

All sensor fusion and event detection runs on-device. Camera snapshots stream to Gemini every 8 seconds; completed sessions sync to Firestore. No raw video leaves the phone.

In the Wild

Spoken in passing.
Handled in full.

PilotPal watches the road and feels the phone — so warnings, scores, and clips line up with what actually happened, not what you remember.

Score

Score

"Clean drive. Speed 100. Safety 100. Smoothness 100."

AI Coach writes the full breakdown the moment you park.

Start Drive

Start Drive

"Ready to drive? Tap to begin your AI session."

App home — one tap launches full telemetry capture.

Parked

Parked

"Shift to park. Here’s how you drove today."

Summary UI, clips, and scores when the drive ends.

Braking

Braking

"Hard brake — following distance too tight."

IMU + vision event; flagged in post-drive review.

In action.

PilotPal — live HUD starting, 0 mph, sensors online
01
PilotPal — HUD with active object tracking and speed overlay
02

Built Different

Always on. Never in the way.

Always On

It runs so you don't have to.

Once mounted, PilotPal keeps vision, GPS, and IMU streaming in the background. The model stack scores turn smoothness, compares your speed to posted limits, and logs safety-relevant moments — without asking you to tap through a checklist before every trip.

It runs so you don't have to.

No Commands

The interface is your voice.

When you're over the limit or the line through a corner needs work, PilotPal can say it out loud — so your eyes stay forward. After you park, the same signals become a written summary with specific feedback on the UI.

The interface is your voice.

Autonomous Execution

Approved in one tap. Finished in full.

At the end of a drive, PilotPal pulls the clips that matter, labels what went wrong, and writes them into memory next to your indices. Review once, then let the next drive speak for itself.

Approved in one tap. Finished in full.

Future Innovations

Into the car's nervous system.

Every car built since 1996 has an OBD-II port — a standardised diagnostic socket hidden under the dash. Plug a small adapter in and PilotPal gains a direct line into the engine's own computer: RPM, throttle, coolant temperature, live fault codes and more, streamed in real time. Vision and IMU already tell us how the car moves. OBD tells us why.

OBD-II · SAE J1979 · ISO 15765

3,240rpm

Engine RPM

Real-time crankshaft speed for shift coaching and over-rev detection.

58mph

Vehicle Speed

Ground-truth speed direct from the ECU — no GPS drift.

192°F

Coolant Temp

Engine thermal state for cold-start guidance and overheating alerts.

34%

Throttle Position

Pedal input mapped over time to spot aggressive or erratic application.

61%

Fuel Level

Tank state logged per session — cross-referenced with trip distance.

77°F

Intake Air Temp

Air density reads that inform ECU tuning and performance baselines.

14.1V

Battery Voltage

Charging system health surfaced before it becomes a roadside problem.

P0xxx

Fault Codes

Live DTC reads translated into plain language the moment they trip.

OBD-II integration is on the roadmap. When it ships, coaching recommendations will reference engine state — not just what the camera saw, but what the car felt.

Our Belief

PilotPal. From the Greek βοηθός — the one who runs toward the call. The helper. The second pair of hands on a long afternoon.

We believe the cabin is sacred: eyes forward, hands steady, mind as clear as the road allows. The best co-pilot is the one that speaks only when it matters — that turns telemetry into care, not noise, and hands you a clear story when the engine stops.

We are tired of dashboards that scream. Of scores that shame without teaching. Of tools that forget the human at the wheel is trying to get home safe.

No clutter. No guilt trip. No second screen to manage at 70 mph. Your drive is the interface.