Features
Seven honest capabilities. Zero feature pile-on.
DirtFleet · 5:00 PM
Log today's hours?
CAT 320 #104 · Last: 4,812.6
Pinned
End-of-day push → one-tap log
01 · Capture
Capture
Find the unit, enter the meter, and save. Photo OCR can assist; trailers and no-meter equipment use a status check-in instead.
- →Searchable asset picker — assigned, pinned, and recent units first
- →Photo of the dash with on-device OCR (Tesseract local-first; Claude fallback)
- →Live VIN barcode scanner — point the phone at the VIN sticker, decode is instant
- →Multi-meter: HOURS for yellow iron, ODOMETER for trucks, status-only for trailers
- →Previous reading shown; lower readings require an explanation
- →Suspicious jumps and low-confidence OCR route to manager review
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
02 · Remind without nagging
Remind without nagging
Push reminders that respect the crew. End of day by default; configurable per fleet.
- →End-of-day push at 5 PM or your shift end
- →Web push works on iOS 16.4+, Android, and desktop browsers
- →Optional start-of-shift opening reading
- →Gentle nudge for assets still missing a reading
- →Per-driver mute window for vacation / weekends
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.
03 · Repair flagging & alerts
Repair flagging & alerts
Anyone in the field can flag an asset in seconds. Red flags page managers and mechanics on the spot.
- →Yellow = needs repair (routine), Red = urgent / out of service
- →Optional photo + voice-to-text note attached to the flag
- →Push alerts on red flags; SMS fallback if push fails
- →Auto-flag at hour-based PM intervals (no CMMS project)
- →Mechanics resolve with notes + photos; uploads when back online
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
04 · Visibility
Visibility
One honest view of utilization and hours — without a TMS science project.
- →Manager dashboard: fleet list with current hours + utilization %
- →Fleet analytics: period hours/distance, repair spend, cost per engine hour, optional fuel rollup + AI-assisted pattern review
- →Fleet map for organizations using yard pins or geolocation logs
- →Mechanic dashboard sorted overdue-first; checklist resolves in two taps
- →Week / month rollups per asset and per yard
- →Multi-org switcher for managers running multiple yards or holding companies
- →CSV / PDF export for the spreadsheet your office already runs
Fleet · Today
5 units · 2 active flags
Utilization (7d)
92%
Shop spend (30d)
$18k
Engine hrs (7d)
1,240
05 · Maintenance
Maintenance
Service intervals tied to real meter hours, not someone's calendar guess. Per-part — engine oil, hydraulic return filter, swing drive — each tracks on its own threshold.
- →Per-part service tasks: each task (oil, filters, swing drive, attachments) has its own interval and history
- →Drag-and-drop reorder so mechanics see the highest-priority task first
- →Auto-flag yellow when a task crosses its hour-based threshold (AUTO_PM)
- →Registration + insurance tracking with a 30-day renewal banner before expiry
- →Hour history per task visible to mechanics — no lookups across systems
- →Photo on flag is searchable later if a dispute pops up
DirtFleet · 5:00 PM
Log today's hours?
CAT 320 #104 · Last: 4,812.6
Pinned
End-of-day push → one-tap log
06 · Tool tracking
Tool tracking
Plate compactors, jumping jacks, generators, welders, light towers, hand tools, kits, and consumables — the stuff your crew actually tracks and the engine-powered stuff that needs PM. Same app, same scan, no add-on tax.
- →Checkout / check-in to a crew member or vehicle — dashboard shows who has each tool right now, when it went out, and what asset it's tied to
- →QR / NFC scan opens the right action — equipment tag goes to log-hours, tool tag goes to check-out, check-in, or damage report
- →Low-stock alerts on consumables (oil filters, welding rods, shop towels) — dashboard widget + tool.low_stock webhook on the crossing
- →PM tracking on engine-powered tools (plate compactors, jumping jacks, generators, welders, light towers) with the same hour-based interval engine as yellow iron
- →Warranty-expiring dashboard card + ?warrantyExpiringDays=N filter so renewals happen before auto-charges hit
- →Per-tool checkout utilization report (30-day window, top-N users) so you know which compactor needs a sibling
- →Fleet tool book value rollup with straight-line depreciation — pulls into the accountant's fixed-asset register
- →Public REST API with eleven tool endpoints + bulk import + print-ready QR generator (GET /tools/{id}/qr)
Fleet · Today
5 units · 2 active flags
Utilization (7d)
92%
Shop spend (30d)
$18k
Engine hrs (7d)
1,240
07 · Hardware tracker — target Mid-2027
Hardware tracker — target Mid-2027
A diagnostic-port tracker that talks to the same app crews already use. Engine hours, GPS, and fault codes flow in automatically; it supports up to three optional cameras for incident capture; a local WiFi mode keeps things going in cellular dead zones.
- →Plug into J1939 (yellow iron) or OBD-II (light-duty) — engine hours sync without anyone tapping anything
- →Supports up to 3 optional cameras (e.g. forward, left mirror, right mirror) — clip-on incident review
- →Local WiFi mesh mode keeps telemetry buffering when cell drops
- →ATECC608A secure element + signed firmware updates over the air
- →Hardware pricing publishes when SKUs freeze — subscribe to software only until then
- →Software-only fleets keep working unchanged — hardware is opt-in
DirtFleet Tracker · DF-T1
Diagnostic-port edge unit · up to 3 cams
- J1939 · 37 PIDs
ECU bus
Engine hours, RPM, coolant, oil pressure
- 3D fix · 8 sats
GPS
HDOP 0.7 · ±2.1 m
- Up to 3 inputs
Cameras
Optional · e.g. forward · L-mirror · R-mirror
- LTE · -71 dBm
Uplink
Local WiFi mesh · standby
- ATECC608A · OK
Secure boot
Token rotated 4d ago
Render preview — production hardware targets Mid-2027
New module
Tool tracking inside DirtFleet.
Plate compactors, generators, welders, light towers, hand tools, kits, consumables — all live in the same app crews already use. QR or NFC scan opens the right action: a tool tag goes straight to damage / replacement report; an equipment tag goes straight to log hours / mileage. Failures auto-spawn a work order so nothing slips.
Vs. the alternatives
Why fleets pick this over the spreadsheet — or the enterprise TMS
| Feature | Spreadsheet / clipboard | Enterprise TMS | DirtFleet Hours |
|---|---|---|---|
| Drivers / operators included | Unlimited (and unmanaged) | $ per seat | Unlimited, no charge |
| Cost on a 25-truck fleet | Free (and chaotic) | $1,200–3,000/mo + onboarding | $119/mo list (25 assets, 60 tools) |
| Offline logging | If they remember to write it | Sometimes (varies) | Device queue for hours + sync; cached reads in many areas |
| Photo of dashboard / meter | — | Rare | Built in to the log step (Tesseract + Claude fallback) |
| ELD / FMCSA HOS pretense | — | Often bundled or sold separately | None — pair a certified ELD vendor for road CMVs |
| Time to first log | Whenever someone opens the file | 8–12 weeks of rollout | Same day |
| Repair flagging from the field | Texts to mechanic | Workflow rollout required | Severity, note/photo, then manager + mechanic alert |
| Hour-based PM alerts | Manual calendar reminders | Available, configuration-heavy | Set once, auto-flags forever |
| Tool tracking (compactors, generators, welders, hand tools) | Separate file (or absent) | Add-on module, separate seat math | Built-in, no extra cost — checkout, low-stock, PM, warranty alerts |
| Cancel / export your data | It's already yours | Contract-dependent | Anytime, CSV + PDF |
Pricing — without the seat math
Flat fleet subscription. Unlimited users.
From $99 per month. Standard software is capped at $299 per month under published fair-use thresholds; premium API access, optional hardware, and custom high-volume terms are separate.
FAQ
Feature questions, answered
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 Claude 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 hour logging work?
Hour logs (and meter photos on those logs) save into a device queue when the browser reports no connection, then POST when you're back online (IndexedDB outbox + clientMutationId dedupe). Flags, repairs, and most other writes still need connectivity today. The installed PWA also caches many GET responses so common screens stay readable in pits and dead zones.
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. Claude 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.
Get started
30 days free — then simple flat pricing for the fleet.
Hands-on onboarding, help importing historic data when you want it, and a direct line to the team during trial. Cancel anytime; export and go if it's not a fit.