PHP 8 · MySQL · Private / commercial
A production SaaS platform for Subaru tuners. It ingests datalog CSVs from the Cobb AccessPort — the handheld ECU tuning device — and turns raw, messy sensor data into clean plots and actionable diagnostics.
The Cobb AccessPort logs dozens of engine parameters to CSV — but the format is a moving target. The same value shows up under many different column names depending on firmware, vehicle, and the logging profile a tuner chose: AF Sensor 1 Ratio (AFR), Engine Speed (RPM), Manifold Rel Pressure (Boost), and so on. Before you can plot or diagnose anything, you have to make sense of that chaos.
| Layer | Technology |
|---|---|
| Language | PHP 8.1+ |
| Web server | Apache + mod_rewrite |
| Database | MySQL / MariaDB |
| Payments | Stripe Elements + webhooks |
| Auth | Google & Facebook OAuth |
| Charts | Chart.js |
| Hosting / CI | DreamHost · GitHub Actions |
CobbVision has grown into a multi-component platform. Because it runs on DreamHost shared hosting (a 50 MB upload cap, no ffmpeg, limited CPU time), the architecture is deliberately hybrid: heavy media and crypto work happens locally on the user's machine, and the web app stays authoritative for analysis, accounts, and the API.
| Component | Role |
|---|---|
| CobbVision (web app) | PHP/MySQL backend — analysis, accounts, billing, REST API. The source of truth. |
| Desktop umbrella app | A small installer/launcher — users pick which components to install; it fetches the right per-OS binary through a download proxy that hands back a short-lived URL plus a verified SHA-256. |
| AP Manager | Syncs AccessPort datalogs, presets, and maps; USB backup. |
| Media Ingest | A desktop agent that watches Video/Pictures/GPS folders, chunks video to fit the upload cap, and extracts GPS + EXIF locally before upload — feeding a map-based media gallery and photo-driven trip builder. |
| Smart Engine | A distroless Docker container that normalizes, compresses, encrypts, and uploads datalogs — authenticating with a single engine key, with an app-layer-encrypted config envelope on top of TLS and optional GPU-accelerated local inference. |
| iOS & Android | GPS track recorders that line up location with each datalog session. |
It's a complete, self-funded product: I designed the data model, wrote the backend, built the billing and API, architected the hybrid client/server split, and shipped the desktop and mobile companions. The kind of end-to-end ownership that's hard to fake.
← Back to all projects