Loading pipeline status…
Every path a call or text can take — from the first ring to the column it lands in, and the reason why. Scroll inside the frame to explore; follow any one line from the top down to where it lands. This map is kept in step with the app's actual sorting rules.
The always-on wall dashboard (sidebar → Office Screen, or its own screen login) built to live fullscreen on a TV in the office. Everything on it sits still and just updates its numbers — the one moving piece is the bar along the bottom, which lights up for wins, alerts, and live activity so the room can glance up and know what's happening.
What's on it- Header — the GSDR Office wordmark, a live clock + date in the center, and the outside weather (with a short rain/heat heads-up when it's worth noting).
- Six KPI tiles — Calls today, Answer rate, Won today, Missed today, Leads to sort, and Follow-ups. Answer rate is a little gauge against an 80% goal: it fills green when you're at or above goal, red when you're below.
- Live map (left half) — your Houston service area with every truck shown as an arrow pointing the way it's heading, labeled with the driver's name. A strip across the top counts them up: moving / stopped / at yard / at landfill / idle. The map holds a steady view and only re-frames itself if a truck drives well outside the normal area.
- Right column — Follow-ups due, Callbacks needed (with the oldest-miss clock beneath it), and who's On dispatch plus who's On the clock right now, with photos and time-on-shift.
- Bottom bar — normally a running feed of the latest activity (newest on the left). This is the live zone; see below.
Under Callbacks needed, a big timer counts up from the moment the oldest un-returned missed call came in. It glows red once it passes 10 minutes and disappears the instant that call is returned — a room-wide "call them back now."
The bottom bar — the one live zoneMost of the time it's the activity feed. When something notable happens the whole bar turns into a headline for a moment, then goes back to the feed. If two things are true at once, this is the order of priority:
- Green — a win (about 15 seconds): Lead won today when a lead is moved to Won, or Online order when a new online booking lands. Same green flash, no name attached.
- Red — safety (stays up until it's handled): a truck that can't drive — a stop-level truck issue is open.
- Blue, steady (stays up while it's true): a nudge worth noticing — a truck sitting idle away from the yard for 2+ hours, or nobody set on dispatch. These only show during business hours (7am–6pm).
- Blue, brief (about 7 seconds): live activity as it happens — a new text comes in, a truck arrives at or leaves a place (geofence), or a call is coming in live.
Priority when more than one is true: a win takes over first; then any standing alerts share a single "Attention" band (tinted red if a safety issue is among them, otherwise blue); then a brief activity flash; then the normal feed.
Refresh rate & reliability- The data refreshes every 10 seconds. The clock ticks every second, and the weather updates roughly every 10 minutes.
- If fresh data stops arriving (a network blip or a deploy), a "Reconnecting" pill appears and the numbers dim — so a frozen screen never shows stale info as if it were current. It clears itself the moment data comes back.
- When the TV wakes from sleep it snaps straight back to fresh data, and each panel only redraws when something actually changed — no flicker on a screen that's on 24/7.
Under the hood: public/js/screen.js?v=0.10.01 (the display) and routes/screen.js (the data feed, /api/screen/summary). Built across v0.9.18–0.9.76.
Where the sorting rules get the column wrong even though the AI read the call correctly — the exact cases to fix in code. Found automatically from the team's own corrections. This list shrinks on its own as fixes ship.
Everything a driver does on their phone, on the left — joined by a colour-coded line to exactly where it lands in the office, on the right. Each destination has its own colour; follow any line to trace one thread end to end. (Dashed red happens only when a defect is found.)
Automated text notifications from Docket are routed out of your Texts tab and onto the Docket Alerts page. These categories get sorted there (each also sends a push):
Everything the system records and analyzes for a single transcribed call — CallRail details, the AssemblyAI transcript, and the full Claude analysis. Filled with a realistic made-up example so you can see exactly what data is available to surface anywhere in the app.
Sync your customer list from Docket so Calls and Texts show a caller's real name and company — instead of the phone carrier's caller ID, which is often wrong or blank. Matched customers appear in green with a check. Export your customers from Docket as a CSV and upload it here; re-uploading anytime fully refreshes the list. Matching is by phone number, so this data stays private on your server and is never shared.
Scans your synced directory for clients with the same or very similar name but different phone, email, or address — usually the same customer entered more than once in Docket. Review each group below, merge them in Docket, then re-upload your customer list above to clear them.
Pre-written replies that appear as chips above the message box on the Texts page. Click one in the composer to drop its text into the input, then edit or send as-is. Each row auto-saves a second after you stop typing.
Pictures you can text to customers. Pick any image here from the texts composer's paperclip button to attach it to an outgoing message — handy for sending a rate sheet or a photo of a dumpster. Resized to 1600px wide JPEG. Click a label to rename. (The Pricing page is built in directly now and no longer uses these images.)
Get a push notification on this device — even when the app is closed — for call, text, and truck-movement activity. Available to admin and staff accounts.
Everyone who uses GSDR, in one place — one account per person. Office staff get a sign-in login; drivers and mechanics get a login plus their truck. Add anyone with Add User and pick their role.
Pick the Driver or Mechanic role when adding someone and their driver profile (photo + truck) is created automatically. Tap a driver's truck to assign, change, or remove it, just like on the Map.
Each truck is its own record and keeps all its history — repairs, inspections, stats — even if its GPS tracker is swapped, removed, or hasn't been installed yet. Link a detected tracker to a truck, add a truck that has no tracker, or retire one you no longer run. Also set each truck's tarp type and weekly-inspection setting here.
What each logged load transfer pays into the driver's bonus, by the size of the dumpster emptied. Drivers pick the size when they log a load.
The cutoff a driver has to clock in by to count as "on time" on the Drivers page (Today and Compare). A punch at or before this time is on time. Chicago time.