ApportunityDashCam is a full-stack dashcam system spanning a native iOS capture module and a backend AI pipeline. The mobile package handles real-time 4K recording, on-device CoreML inference, and GPS telemetry. The backend receives raw frames and processes them through object detection, LLM-powered extraction, and consensus voting to produce validated fuel-price updates for DrivstoffAppen.
Mobile — Swift Package
A standalone Swift Package embedding full dashcam capability into any iOS app, built for production constraints.
- Real-time 4K camera pipeline — AVFoundation capture with frame-level access, rolling video buffer, and explicit REC flows with clip export
- On-device computer vision — CoreML + Vision for road-sign and object detection on live camera frames, no server round-trip
- GPS telemetry and trip tracking — continuous speed, distance, and route logging with EXIF/GPS metadata embedded in uploads
- Cloud-configurable feature stack — remote config via Supabase, S3-compatible storage for ML model delivery and frame uploads, Supabase Realtime for live updates
- 99 Swift source files, 8 test files, standalone TestApp for manual validation
Swift · SwiftUI · AVFoundation · CoreML · Vision · CoreLocation · Supabase · S3
AI Pipeline — Backend
The backend intelligence layer that turns raw dashcam images into structured, validated price data. Built to handle noisy real-world imagery, not clean benchmark data.
- Multi-stage inference pipeline — GPS extraction, station matching, time-window clustering, YOLO OBB sign detection, and Gemini-based price extraction
- Consensus voting — multi-attempt inference with voting logic to reduce OCR and LLM errors, only submitting prices above a confidence threshold
- Geo-aware processing — GPS coordinates from filenames or EXIF matched to nearest fuel station, images clustered by station and time window
- Separated image optimisation service — dedicated Docker service for resizing, compression, and archive generation, decoupled from extraction
- Full artifact trail — every run stores detections, cropped signs, stitched composites, and optimised archives for debugging and auditing
- DrivstoffAppen integration — validated prices submitted directly into the fuel-price platform, state tracked in Supabase
Python · Docker · YOLO OBB · Gemini · Supabase · S3
Why this project matters
This system covers the full arc from real-time mobile sensor capture through multi-model backend inference to validated product data — combining mobile systems engineering, applied computer vision, and production ML infrastructure in a single end-to-end pipeline.