The daily loop
Five screens, twenty seconds, one shift's worth of data.
The shape of every interaction crews have with the app — built for thumbs in gloves and screens in the sun.
App flow (core loop)
Five screens, one job: get honest hours on the books before the crew leaves the yard.
- 1
Today
Land on Today — see which assets still need a reading.
Missed-from-yesterday bubble; tap any row to continue a draft. Pinned units up top.
- 2
Pick asset
Tap a pinned unit, or search the fleet by plate / unit # / photo.
Pins are per-driver — the six units you actually run live one tap away.
- 3
Enter reading
Type total hours, or tap the camera to photograph the dash.
Photo path: snap, confirm/edit the reading, save. Last reading pre-filled either way.
- 4
Quick note (optional)
One-line chips: Fuel · Grease · Issue · All good. Or tap Flag for repair.
Yellow flag for routine, red for urgent. Voice-to-text or photo attaches in two taps.
- 5
Done
Save locally → queued sync when you have signal.
Haptic + checkmark; manager dashboard updates on next sync.
Capture
Type the meter — or just take a photo of the dash.
Photo mode is faster than typing in many cabs (especially with gloves) and removes meter-read errors. The driver confirms the number with one tap; the photo gets stored alongside the reading for any future dispute.
- →Snap → confirm or edit → save. Three taps, all offline.
- →Both the photo and the entered value are kept on the asset record.
- →No AI / OCR required at launch — manual confirm keeps it accurate.
- →Mechanics can pull the photo later if a reading looks off.
CAT 320 #104 · Photo log
Engine hrs
4,851.2
Detected reading
4,851.2
Last reading 4,812.6 · Δ +38.6 hrs
Photo of dash → confirm reading → done
Reminders that respect the crew
Push at end of day. Auto-flags when the meter says it's time.
One ping at end of shift. A gentle nudge if a unit's still missing. An auto-flag when an asset crosses its hour-based service interval. That's the cadence.
Reminder copy (samples)
Defaults: end-of-day at 5 PM or your shift end; optional start-of-shift prompt. Copy stays short — operators decide in a glance.
End of day (default)
Log today's hours?
5:00 PMCAT 320 #104 · Last reading 4,812.6 — tap to update before you roll out.
Start of shift (optional)
Start shift — opening reading
6:45 AMSelect the unit you're running today and confirm start hours.
Gentle nudge (if enabled)
Still open: 2 assets
8:15 PMLowboy 48' and skid #09 need a reading for today. Takes ~20 seconds.
Manager / Mechanic alert
🔴 Urgent: skid #09 flagged out of service
2:13 PMDriver M. Ortiz — “hydraulic line leaking, parked at south yard.” Tap to view photo.
Auto-flag (hour-based PM)
🟡 PM due: Excavator 320 #104
AutoHit 5,000 hrs — service interval reached. Mechanic dashboard updated.
Repair flagging
Yellow for routine, red for urgent. Three taps from the cab.
Anyone in the field — driver, operator, mechanic — can flag an asset in seconds. Red flags page the manager and the mechanic in real time. Yellow flags hit the queue. All offline-capable.
- →Yellow = needs repair (routine), Red = urgent / out of service.
- →Voice-to-text or photo attaches in two taps.
- →Push notifications + optional SMS fallback for red flags.
- →Mechanics resolve with notes + photos; auto-clears on the dashboard.
Mechanic · Queue
Sorted by urgency
Skid #09
Hyd line leaking — flagged 2:13 PM by M. Ortiz
Photo attached · 2,167 hrs
CAT 320 #104
PM due — passed 5,000 hr interval
Auto-flag · 4,851 hrs
Light tower #03
Approaching 250 hr filter change
Auto-flag · 612 hrs
F-450 #211
On schedule
Last service 1,200 mi ago
Offline-first
Yards, pits, and dead zones don't break the record.
Hours, photos, flags, and repair logs all save to the device first. The instant a phone hits a bar of signal — driving back to the yard, walking past the office wifi — everything queues up to Postgres in the background.
- →100% offline on phone or tablet — no exceptions.
- →Conflict-free sync: nothing is lost if signal drops mid-save.
- →No GPS tracking, no constant network polling, no battery hit.
- →Sync state is visible to the driver — they always know it landed.
Offline · queued on device
- 07:14Log: CAT 320 #104 → 4,820.4synced
- 11:48Photo: Skid #09 dashsynced
- 13:02Flag 🔴 Skid #09 — hydraulic leakqueued
- 13:05Note + photo on flagqueued
- 16:30Log: CAT 320 #104 → 4,851.2queued
Scope, in plain English
What's in the core. What stays an add-on.
We pick simple over complete on purpose. The base stays small, fast to adopt, and easy to trust. Heavier modules ship as paid add-ons — only when you actually want them.
In the core ($9 / item / mo)
- ✓Hours / meter logging (typed or photo)
- ✓Repair flagging (yellow / red) with photos
- ✓Push reminders + auto-flag at hour-based PM
- ✓Mechanic dashboard, manager dashboard
- ✓CSV / PDF exports, week / month rollups
- ✓Unlimited drivers, mechanics, managers
- ✓Offline sync on phone + tablet
Optional add-ons (later)
- +Full TMS (dispatch, routing, freight)
- +Deep warehouse workflows
- +Telematics / video integrations
- +Advanced analytics + custom dashboards
- +Premium API tier ($2 / item / mo)
These don't ship in v1. They stay opt-in so the core stays easy to adopt and keeps doing one thing well.
Built for three jobs
One product, three honest roles.
Drivers log. Mechanics fix. Managers see. We didn't build a generic app and rename the buttons — each role has a real workflow.
Drivers / operators
Pin your six regular units. Log in 3 taps or one photo. Flag a problem in 3 taps. Done.
See the role page →
Mechanics
Queue sorted by urgency. Resolve flags with notes + photos, online or off.
See the role page →
Fleet managers
Real numbers in real time. Push alerts on red flags. Exports for finance.
See the role page →
FAQ
Common questions about the product
What about trailers and other equipment without an hour meter?
Trailers, attachments, and no-meter vehicles get a status check-in instead of a numeric reading: In use / Idle / Out of service, with optional photo + note. Same flag flow, same dashboard, same map. Service intervals for these fall back to date-based PM.
Hours, miles, both — how does the app handle a mixed fleet?
Each asset has a meter type: HOURS (yellow iron, gensets), ODOMETER (pickups, vans — miles or km), or NONE (trailers, attachments). Drivers see the right input automatically; managers see units labeled correctly across the dashboard, exports, and PM alerts.
Is photo-of-dashboard logging really part of the base plan?
Yes — and it now reads the meter for you. Local OCR runs on-device (Tesseract.js, free) and detects the reading; the driver confirms or edits before save. If local OCR struggles, a server-side Gemini call covers the gap. Both paths included in the base plan.
What stays out of the core product?
Full TMS, deep warehouse workflows, advanced analytics, and video integrations stay paid add-ons. We keep the core minimal so it actually gets used.
How does offline-first work?
Hours, photos, flags, and repair logs all save to the device first. The instant a driver hits a bar of signal — driving back to the yard, walking past the office wifi — everything queues up to Postgres in the background.
Do you need OCR / AI to read the meter from the photo?
Not at launch. Drivers confirm or edit the number themselves with big buttons — no AI needed for accuracy. We can layer optional OCR later without changing the price.
Can a driver see another driver's logs?
No. Drivers see their own logs and the assets they touched. Mechanics see flagged + recently-logged assets. Fleet managers see everything for their organization. Tenant data is isolated at the database level — never mingled across companies.
Beta cohort
Ready to try the daily habit?
Pilot fleets get founding-rate pricing locked for life and white-glove import of historic data. ~30 minutes of setup with us, then ~30 seconds a shift for drivers.