Operators, fleet managers and licensing authorities expect a daily vehicle condition check before a vehicle goes on the road. In practice, that often means paper forms that are easy to lose, skip, or fill inconsistently — and hard to produce when someone asks for a specific date.
Vehicle Daily Check is a focused SaaS product built to replace that friction with a structured digital workflow: a twelve-section checklist aligned to council requirements, typed photo evidence, and an immutable audit trail for every submitted day. It is AEK Tech's own product — purpose-built for professional vehicle inspections, not a generic fleet tool — serving licensed drivers, fleet operators and local authorities from one platform.
What users are saying
“I used to keep paper checklists in the glovebox and could never find the right week when licensing asked. Now I do the whole thing on my phone in about ten minutes — photos included. Last time they wanted a specific date I just exported the PDF. No panic, no digging through folders.”
David
Private hire driver · West Midlands
“I'll be honest — I used to skip days when I was rushed. Paper just sat in the car. This takes me maybe eight minutes before I head out. The streak thing sounds daft but it actually got me into a habit.”
Sarah
Private hire driver
The problem
Before Vehicle Daily Check, drivers, fleet operators and licensing authorities faced predictable friction with paper-based compliance.
| Area | Problem | Impact |
|---|---|---|
| Daily checks | Paper forms or skipped checks | Licensing risk if checks are missing or inconsistent |
| Record keeping | Paper easy to lose or fill inconsistently | No reliable history when an officer asks for a specific date |
| Audit trail | No centralised record of who checked, when, or what was found | Inspectors cannot verify compliance; drivers and operators cannot prove diligence |
| Evidence | Photos sit in camera rolls, unlinked to the checklist | Hard to produce coherent proof under time pressure |
| Inspection visits | Searching paper for one date is slow and stressful | Gaps in the daily record surface during audits and compliance visits |
| Safety culture | No structured daily messaging for licensed drivers | Missed professional standards and weak inspection habits |
| Existing fleet tools | Generic operator-focused apps at higher price points | Solo drivers, small operators and councils lack a simple, affordable fit |
Product screens
Demo captures from the live driver app.
Tap or click any screen to enlarge. Pinch or use + / − to zoom, then swipe to browse.
What we built
Driver app (web PWA + Expo mobile)
- Daily inspection wizard — Wolverhampton 12-section checklist with Correct / Faulty flow
- Photo evidence — up to three photos per check, stored with the record
- Timestamped submission — records locked and immutable after submit (no driver signature or declaration field yet)
- Draft resume with grace period; missed-check handling for expired drafts
- Dashboard with today's status, safety reminder, and streak tracking
- Inspection history, PDF export, and Driver Safety Centre
- Trial countdown banners and subscribe flow when access is expiring
Web PWA only (not yet on Expo)
- Stats screen — current streak, monthly totals, faults logged, and 14-day completion heatmap
Compliance & reporting
- Timestamped PDF with driver details, vehicle registration, mileage, and every section result
- Immutable audit trail for every submitted day — records locked after submission
- Council-layout checklist template (Wolverhampton first)
Marketing & acquisition
- Live marketing site — drivers, fleet operators and licensing authorities
- Pricing with 7-day full-access trial and three subscription plans
- Book-a-demo flow for fleet operators and councils
- Product screenshots and sample PDF on the marketing site
Billing & infrastructure
- Registration starts 7-day full-access trial immediately — no credit card required; one trial per driver
- Stripe Checkout when selecting a plan during trial — saves card in live mode, first charge deferred until trial ends
- Computed subscription access — active, expired, or inactive from period end; read-only history when lapsed
- Stripe Checkout subscriptions — £4.99/month, £12.99/quarter, £24.99/6 months
- Stripe Billing Portal — auto-renewal management, payment updates, and cancel-at-period-end
- Live Stripe account on AEK Tech UK Ltd — subscriptions from £4.99/month
- Progressive trial reminders on web and mobile (3 days, 1 day, expired)
- API-first monorepo — one Django API for web, mobile, and marketing
- Cloudflare R2 for private evidence photos with presigned URLs
Internal admin (limited)
- /admin/safety aggregate safety stats for admins and council readers — not a driver-facing council inspector portal
Roadmap (next phases)
- Fleet operator dashboard — fleet-wide inspection records and driver accountability
- Council inspector portal — transparent per-driver inspection history for licensing teams
- Expo stats screen parity with web PWA
- Driver signature or declaration attestation at submission
- Native iOS and Android app store releases
- Flexible inspection templates for different licensing requirements
Technology choices and outcomes
| Component | Technology | Why it matters |
|---|---|---|
| Marketing site | Astro 7 + Tailwind CSS 4 | Three-audience acquisition site with pricing, demo booking, and product screenshots. |
| Web driver app | Vue 3.5 + Vite 8 + PWA | Installable browser app for drivers — no app-store friction required to start. |
| Mobile app | Expo SDK 54 + React Native | Cross-platform iOS and Android delivery from one codebase (app stores coming soon). |
| Backend / API | Django 5 + DRF | One API for inspections, billing, evidence, PDFs, and mobile clients. |
| Database | PostgreSQL | Relational audit records tied to authenticated driver accounts. |
| Hosting | Vultr VPS, nginx, gunicorn | Simple production deployment with predictable operating cost. |
| Evidence storage | Cloudflare R2 | Private object storage for driver evidence photos with time-limited access. |
| Billing | Stripe Checkout + Billing Portal | Live Stripe billing on AEK Tech UK Ltd — 7-day trial with no card, subscriptions from £4.99/month. |
| PDF export | xhtml2pdf | Timestamped inspection records generated on demand for officers, managers or licensing teams. |
Security model
The product is designed for authenticated access, private evidence storage, and audit integrity. We avoid broad claims like "fully encrypted" or certified security until those controls are independently verified.
- Production traffic uses HTTPS/TLS; secure cookies, SSL redirect, and HSTS are enabled when deployed with production settings.
- Web sessions use HttpOnly JWT cookies with CSRF protection; mobile clients use bearer tokens stored in secure device storage.
- Evidence photos are designed for private object storage with authenticated, time-limited access rather than public file URLs.
- Submitted inspection records are immutable and tied to authenticated driver accounts.
- PDFs are generated on demand and access-controlled at download time. Once a driver downloads a PDF, it behaves like a normal shareable document.
- Passwords are hashed by Django, and login abuse protection locks accounts after repeated failed attempts.
Hardest technical challenges
The hard part was not drawing screens. It was making cross-framework compliance, workflow enforcement, and AI assists behave predictably in a regulated environment.
01
Dual-client authentication
The same API serves a Vue PWA (HttpOnly JWT cookies + CSRF) and an Expo app (Bearer tokens). Login, refresh, and logout shapes differ per client — solved with shared JWT utilities and client detection.
02
PDF generation with private R2 evidence
Inspector PDFs must embed photos from a private R2 bucket. Server-side HTML → xhtml2pdf resolves local paths or signed URLs before render — avoiding heavy GTK dependencies on dev machines.
03
Draft grace period and compliance integrity
Drivers may not finish a check same-day. Configurable grace windows, incomplete-draft banners, and auto-abandon for expired drafts — while keeping submitted records immutable.
04
Stripe checkout under real-world failure modes
Users may close the browser after checkout, or webhooks arrive late. Completion retries, status sync, and webhook backup keep subscription access aligned with trial end and renewal periods.
05
Trial access without a separate billing tier
Trial is modelled as subscription_source, not a plan — access_state is computed from current_period_end, not stored flags. trial_used prevents restart, SubscriptionEvent logs audit snapshots, and registration starts the trial in the same database transaction as user creation.
06
Stripe subscription lifecycle
Model A trial behaviour, webhooks, Billing Portal cancellation, auto-renewal state, and payment failure grace all had to map cleanly into one app-facing access model.
Results
Qualitative outcomes — no invented user or revenue metrics.
| Metric | Before | After |
|---|---|---|
| Daily check record | Paper forms or nothing | Structured 12-section digital checklist |
| Audit trail | None / scattered paper | Timestamped, immutable submitted records |
| Photo evidence | Camera roll, unlinked | Typed photos stored with each inspection |
| Proof on demand | Manual search through paper | Timestamped PDF for any submitted date |
| Completion tracking | No visibility | Streak, monthly stats, and 14-day heatmap on web PWA |
| Mobile access | Paper only | Installable Vue PWA + Expo mobile app |
| Check duration | Variable, often skipped | Designed for under three minutes per day |
Where the platform is now
Vehicle Daily Check went live in July 2026: the marketing site is at vehicledailycheck.com, the driver web PWA and Django API are in production, and live Stripe billing is active on AEK Tech UK Ltd. The Expo mobile app shares the same API for core inspection flows. Wolverhampton is the first checklist template. The product serves professional drivers, fleet operators and licensing authorities — with timestamped PDF export, photo evidence, and a secure audit trail available today. Registration starts a 7-day full-access trial with no credit card required; drivers who choose a paid plan during trial go through Stripe Checkout, which saves a card and defers the first charge until trial end. Subscriptions from £4.99/month. Native app store releases, Expo stats parity, a fleet operator dashboard, and a council inspector portal are the next phases.
Vehicle Daily Check is a product of AEK Tech UK Ltd.