DIRTFLEET
← Back to home

Core product

The daily habit, not the dashboard.

Open the app, pick the asset, type the reading or snap a photo of the dash. Flag a problem in 3 taps if you saw one. Done. Everything syncs offline-first — yards, pits, and dead zones don't break the record.
5:00
●●●4G▮▮

DirtFleet · 5:00 PM

Log today's hours?

CAT 320 #104 · Last: 4,812.6

Pinned

CAT 320 #104✓ logged
Skid #09needs
Lowboy 48'needs

End-of-day push → one-tap log

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. 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. 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. 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. 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. 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.
5:00
●●●4G▮▮

CAT 320 #104 · Photo log

Engine hrs

4,851.2

REC

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 PM

CAT 320 #104 · Last reading 4,812.6 — tap to update before you roll out.

Start of shift (optional)

Start shift — opening reading

6:45 AM

Select the unit you're running today and confirm start hours.

Gentle nudge (if enabled)

Still open: 2 assets

8:15 PM

Lowboy 48' and skid #09 need a reading for today. Takes ~20 seconds.

Manager / Mechanic alert

🔴 Urgent: skid #09 flagged out of service

2:13 PM

Driver M. Ortiz — “hydraulic line leaking, parked at south yard.” Tap to view photo.

Auto-flag (hour-based PM)

🟡 PM due: Excavator 320 #104

Auto

Hit 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

No signal · 4 hrs
  • 07:14Log: CAT 320 #104 → 4,820.4
    synced
  • 11:48Photo: Skid #09 dash
    synced
  • 13:02Flag 🔴 Skid #09 — hydraulic leak
    queued
  • 13:05Note + photo on flag
    queued
  • 16:30Log: CAT 320 #104 → 4,851.2
    queued
Back in signal — syncing now

Hardware tracker · Target Mid-2027

Same app. Now with a tracker that talks to it.

Software-only fleets keep working unchanged. Beta cohorts who want telemetry get a diagnostic-port tracker built for the same crews — engine hours sync without anyone tapping anything, the hardware supports up to three optional cameras for incident capture, and a local WiFi mode keeps things going in cellular dead zones.

  • J1939 (yellow iron) or OBD-II (light-duty) — engine hours, RPM, coolant, faults.
  • Supports up to 3 optional cameras (e.g. forward, left mirror, right mirror) — clip-on incident review.
  • Local WiFi mesh keeps telemetry buffering when cell drops.
  • ATECC608A secure element + signed firmware updates over the air.
  • Founding-rate beta locks hardware pricing — first 50 fleets only.
Preview · Mid-2027

DirtFleet Tracker · DF-T1

Diagnostic-port edge unit · up to 3 cams

LinkedFW v1.0.0-beta
  • ECU bus

    Engine hours, RPM, coolant, oil pressure

    J1939 · 37 PIDs
  • GPS

    HDOP 0.7 · ±2.1 m

    3D fix · 8 sats
  • Cameras

    Optional · e.g. forward · L-mirror · R-mirror

    Up to 3 inputs
  • Uplink

    Local WiFi mesh · standby

    LTE · -71 dBm
  • Secure boot

    Token rotated 4d ago

    ATECC608A · OK
12V key-on · 0.42 A
T-junction 38°C

Render preview — production hardware targets Mid-2027

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 ($199 / mo · $1,990 / yr)

  • 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
  • +QuickBooks, WEX, Geotab & Samsara depth (beyond today's CSV) — see /integrations
  • +Advanced analytics + custom dashboards
  • +Premium API tier (+$29 / mo org-wide)

These don't ship in v1. They stay opt-in so the core stays easy to adopt and keeps doing one thing well. Integrations board →

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.

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 third-party video stacks stay paid add-ons. We keep the core minimal so it actually gets used — see /integrations for named vendors and honest status.

Which integrations are live vs roadmap?

CSV/PDF exports, bulk import, VIN decode, push, and email are live today. Named accounting, fuel-card, and telematics connectors (QuickBooks Online, WEX, Geotab, Samsara, Fleetio) are on the transparent roadmap with per-vendor notes — see dirtfleet.app/integrations.

How does offline-capable logging work?

Hour logs can be saved into a device queue when the browser reports no connection, then POST to the server when you're back online (IndexedDB outbox). Photos, flags, and other actions follow the same pattern where supported. The installed PWA also caches many GET responses so common screens stay readable in pits and dead zones — see the service worker for what's cached vs always-online.

Do you need OCR / AI to read the meter from the photo?

No. Local OCR (Tesseract.js) suggests a reading when it can, and drivers always confirm or edit before save. Gemini can assist when on-device OCR misses; you can still type the reading manually if you prefer no AI.

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.