ProductCore Features

Core Features

SALLY’s functionality is organized around a conversational AI interface backed by fifteen core capabilities that work together to provide end-to-end fleet operations intelligence.


SALLY AI — Conversational Interface

SALLY AI is the primary way users interact with the platform. Rather than navigating dashboards and filling out forms, dispatchers and drivers converse with SALLY in natural language.

What it does:

  • Accepts natural language requests for route planning, status queries, and fleet management
  • Translates requests into the appropriate backend operations (route planning, HOS checks, alert queries)
  • Returns results in conversational format with actionable recommendations
  • Maintains conversation context across multi-turn interactions

Example interactions:

UserSALLY Response
”Plan a route for Martinez, LA to Dallas with stops in Phoenix and El Paso”Plans the route, optimizes stop order, inserts rest/fuel stops, returns the full plan
”Johnson’s dock is taking 2 hours longer than expected”Checks HOS impact, determines if re-plan needed, suggests next steps
”Who needs rest in the next 2 hours?”Queries monitoring layer, surfaces drivers approaching HOS limits
”Find cheap diesel near Amarillo”Queries fuel prices, returns top options with prices and distance

Status: UX built and live. SALLY AI is the initial feature and the core user experience — all other capabilities are accessed through it.


1. Route Planning Engine

The route planner takes a driver, truck, and set of stops, then produces an optimized, HOS-compliant route plan.

Input:

  • Driver with current HOS status (hours driven, on-duty time, break status)
  • Truck with fuel level, MPG, and capacity
  • Stops with origin, waypoints, destination, and time windows

Output:

  • Optimal stop sequence (minimize time or cost)
  • Complete route with drive, rest, fuel, and dock segments
  • HOS compliance validation
  • Feasibility report

Planning pipeline:

  1. Stop sequence optimization — TSP solver (greedy nearest-neighbor + 2-opt) orders stops to minimize total drive time while respecting time windows
  2. HOS simulation — Walks each segment tracking 11h drive clock, 14h on-duty window, 8h break requirement, and 70h cycle
  3. Rest stop insertion — When the simulation detects the driver cannot legally complete a segment, it determines the rest type and inserts a rest segment
  4. Fuel stop insertion — Monitors fuel state and inserts stops when the tank drops below a safe threshold, selecting the cheapest nearby station
  5. Feasibility validation — Confirms zero HOS violations, all appointments reachable, fuel levels safe throughout

Performance: Less than 5 seconds for 10 stops, less than 15 seconds for 20 stops.

API: POST /api/v1/routes/plan — See Creating Routes for details.


2. HOS Compliance

SALLY enforces FMCSA Hours of Service regulations at every step.

Rules enforced:

RuleLimitWhat Happens
Drive time11 hoursRest stop inserted when approaching limit
On-duty window14 hoursFull rest required when window expires
Break requirement30 min after 8h drivingBreak segment inserted
Cycle limit70 hours / 8 daysRoute marked infeasible if exceeded

Accuracy: 100% — zero HOS violations on generated routes.

Audit trail: Every decision is logged with the reasoning, including:

  • HOS status at each segment
  • Legal reasoning for rest recommendations
  • Comparison against FMCSA regulations
  • Violation warnings (if any)

3. Intelligent Rest Management

When the route planner detects a driver will run out of hours, it calls the REST Optimization Engine to determine the best rest strategy.

Rest types:

TypeDurationWhen Used
Full rest10 hoursResets all hours (11h drive + 14h duty)
Partial rest (sleeper berth)7h or 8hSleeper berth split provision (7/3 or 8/2)
Break30 minutesRequired after 8 hours of driving

Rest recommendation categories:

CategoryConfidenceDescription
Mandatory rest100%Route not feasible without rest; cannot decline
Opportunistic rest60–75%Route is feasible but marginal; dock time available
Dedicated rest stop100%No dock available; truck stop inserted as waypoint

Decision factors:

  • Current HOS state (how close to limits?)
  • Remaining route demand (how many hours needed?)
  • Dock time availability (can leverage forced downtime?)
  • Cost (how much extra time to extend rest?)
  • Opportunity score (0–100)

API: POST /api/v1/rest/recommend — Called internally by the route planner.


4. Fuel Stop Optimization

The fuel optimizer tracks consumption across segments and inserts stops before the tank runs low.

How it works:

  • Tracks fuel consumption per segment: distance / MPG
  • Alerts when fuel drops below 25% tank capacity
  • Finds stations within 10 miles of the route
  • Optimizes for price (cheapest) or time (fastest)
  • Prefers truck-friendly stations (Pilot, TA, Loves)

Example:

SegmentFuel RemainingRangeDecision
Stop A → Stop B (300 mi)100 gal (600 mi range)SufficientNo stop needed
Stop B → Stop C (400 mi)50 gal (300 mi range)InsufficientInsert fuel stop at mile 150

API: POST /api/v1/fuel/find-stops — Called internally by the route planner.


5. Continuous Monitoring

The monitoring layer watches all active routes and generates alerts when conditions change. It runs every 60 seconds per active route.

20 alert types across 6 categories:

CategoryAlert Types
HOS ComplianceViolation, Approaching Limit, Break Required, Cycle Limit, Recap Available, Duty Status Change
Route ProgressMissed Appointment, At Risk, Dock Time Exceeded, Route Delay, Route Completed
Driver BehaviorNot Moving, Speeding, Unauthorized Stop
Vehicle StateFuel Low, Maintenance Due
External ConditionsWeather Alert, Road Closure
SystemIntegration Failure, System Error

Alert lifecycle: Active → Acknowledged → Resolved

Features:

  • Alert grouping (related alerts under a parent)
  • Deduplication (same condition doesn’t generate duplicates)
  • Escalation (unacknowledged alerts increase in priority)
  • Auto-resolution (alerts resolve when conditions clear)

6. Dynamic Route Updates

When conditions change, SALLY decides whether to re-plan or just update ETAs.

Trigger types:

TriggerExampleResponse
Dock time changeDock took 4h instead of 2hRe-plan if HOS impacted
Traffic delay45-minute highway closureRe-plan if delay exceeds 30 min
Load added/cancelledDispatcher adds urgent stopRe-sequence remaining stops
Driver rest requestDriver wants to rest nowUpdate HOS, re-plan remaining route

Decision logic:

  • Minor impact (less than 30 min ETA change) → Update ETAs only
  • Major impact → Full re-plan through Route Planning Engine
  • Every update recorded as a RoutePlanUpdate with trigger type, impact summary, and before/after plan versions

API: POST /api/v1/routes/update — See Route Updates for details.


7. Automated Alert System

Proactively notifies dispatchers when intervention is needed, reducing reactive fire-fighting.

Key alert types:

AlertPriorityTriggerRecommended Action
DRIVER_NOT_MOVINGHIGHNo movement for 2+ hours during drive segmentCall driver
HOS_APPROACHING_LIMITMEDIUMLess than 1h drive time remainingMonitor; ensure rest stop upcoming
HOS_VIOLATIONCRITICALActive HOS violation detectedMandatory rest immediate
DOCK_TIME_EXCEEDEDHIGHActual dock time exceeds estimate by 1h+Re-plan remaining route
ROUTE_DELAYMEDIUMETA delay exceeds 30 minutesUpdate customer
FUEL_LOWHIGHFuel below 20% capacityInsert fuel stop
MISSED_APPOINTMENTCRITICALDriver missed time windowContact customer, re-plan

Alert flow:

  1. Event detected by monitoring layer
  2. Alert Engine evaluates severity
  3. Alert record created (Active status)
  4. Dispatcher notified in-app
  5. Dispatcher acknowledges, takes action, resolves

Key principle: The system handles routine updates automatically. Dispatchers only intervene when human judgment is needed.


8. Dual User Interfaces

Dispatcher Dashboard

  • Create Plan — Wizard-style workflow: Select Load → Driver → Vehicle → Generate Plan
  • Active Routes — Status board grouped by On Track / Minor Delay / At Risk
  • Alerts — Priority-based triage with acknowledge and resolve actions
  • Settings — Fleet configuration, integrations, user management

Driver View

  • Route View — Map with route line and markers for drive, rest, fuel, dock segments
  • Compliance Panel — Live HOS clocks, break status, next rest location
  • Update Feed — Real-time log of route changes
  • Actions — “I’m here”, “Dock taking longer”, “I want to rest here”, “Accept new route”

9. Notifications System

SALLY delivers alerts and updates through four delivery channels, ensuring dispatchers and drivers receive critical information wherever they are.

Delivery channels:

ChannelProviderUse Case
EmailResendShift summaries, daily reports, non-urgent alerts
SMSTwilioCritical alerts, HOS violations, missed appointments
Browser PushWeb Push (VAPID)Real-time alerts when the app is in the background
In-AppServer-Sent Events (SSE)Live updates within the SALLY interface

Channel resolution:

  • Channels are selected based on alert priority combined with user preferences
  • Critical alerts go to all enabled channels simultaneously
  • Medium and low priority alerts respect the user’s preferred channel configuration
  • Quiet hours support — suppress non-critical notifications during off-hours (configurable per user)

Notification types: 18+ types covering HOS alerts, route updates, driver status changes, system events, invitation notifications, and administrative messages.

Key features:

  • Per-user channel preferences (enable/disable each channel independently)
  • Priority-based routing (critical alerts bypass quiet hours)
  • Delivery status tracking (sent, delivered, failed)
  • Retry logic for failed deliveries

10. Command Center

The Command Center is the dispatcher operations dashboard — the central hub for managing fleet operations in real time.

Key sections:

SectionPurpose
Real-time OverviewLive fleet status with active routes, driver positions, and alert counts
Active Route MonitoringRoute progress tracking with ETA updates and deviation detection
Shift NotesStructured handoff notes between dispatcher shifts

Real-time overview:

  • At-a-glance fleet health: routes on track, at risk, delayed
  • Active alert count by priority (critical, high, medium, low)
  • Driver status summary (driving, on break, at dock, off duty)

Shift notes:

  • Dispatchers create handoff notes at shift end
  • Notes capture: active issues, pending actions, driver communications, route concerns
  • Incoming dispatcher sees prioritized summary of what needs attention
  • Full history preserved for audit trail

Active route monitoring:

  • Live route progress with segment-level tracking
  • ETA confidence indicators
  • One-click access to re-plan or update routes

11. Settings & Preferences

SALLY supports a three-level configuration hierarchy, allowing fleet-wide defaults with per-user and per-driver overrides.

Configuration levels:

LevelScopeExamples
TenantFleet-wide operations settingsDefault HOS rules, fuel thresholds, alert policies, operational defaults
UserDisplay and notification preferencesTheme, timezone, notification channels, quiet hours, dashboard layout
DriverRoute and contact preferencesPreferred rest stops, communication preferences, default truck type

Tenant-level settings:

  • Fleet operations defaults (HOS rule set, fuel reserve threshold, max route stops)
  • Alert configuration (which alert types are active, priority overrides, escalation timers)
  • Integration settings (API endpoints, sync frequency)

User-level preferences:

  • Display settings (theme, timezone, date format)
  • Notification preferences (channels, quiet hours, frequency)
  • Dashboard customization (default views, pinned routes)

Driver-level preferences:

  • Route preferences (preferred fuel brands, rest stop preferences)
  • Contact information (phone, email for notifications)
  • Default vehicle assignment

Inheritance: Driver settings inherit from tenant defaults, with user-level and driver-level overrides applied in order.


12. API Key Management

Server-to-server integrations authenticate via API keys, managed through the SALLY dashboard.

Capabilities:

ActionDescription
CreateGenerate new API keys with optional expiration and scope
ListView all active keys with usage statistics and last-used timestamps
RevokeImmediately invalidate a key (cannot be undone)

Key features:

  • Rate limiting — Per-key rate limits to prevent abuse and ensure fair usage
  • Environment separation — Distinct keys for staging and production environments
  • Scope control — Keys can be scoped to specific API endpoints or operations
  • Audit logging — All key creation, usage, and revocation events are logged

Use cases:

  • TMS integration (push loads, receive route plans)
  • ELD/telematics data sync (Samsara, KeepTruckin)
  • Custom reporting and analytics pipelines
  • Third-party dispatch tools

13. Feature Flags

SALLY uses system-wide feature flags for progressive rollout of new capabilities.

Flag categories:

CategoryDescriptionExamples
GeneralPlatform-wide featuresNew route algorithm, updated HOS rules
DispatcherDispatcher-facing featuresCommand center widgets, bulk route actions
DriverDriver-facing featuresNew route view, voice commands
AdminAdministrative featuresAdvanced analytics, custom integrations

How it works:

  • Feature flags are managed at the system level by administrators
  • Flags control visibility and availability of features across the platform
  • Progressive rollout: enable for internal users first, then expand to all tenants
  • Instant rollback: disable a flag to immediately remove a feature if issues arise

Benefits:

  • Ship code continuously without exposing unfinished features
  • A/B test new capabilities with a subset of users
  • Quick kill switch for problematic features
  • Decouples deployment from release

14. User Invitations

Tenant administrators invite new users via email, with role pre-assignment to streamline onboarding.

Invitation flow:

  1. Admin sends invite — Specifies email address and assigns role (dispatcher, driver, admin)
  2. Email delivered — Recipient receives invitation email with a unique acceptance link
  3. Token-based acceptance — Clicking the link validates the token and creates the user account
  4. Role applied — The pre-assigned role is automatically applied upon acceptance

Management features:

ActionDescription
SendInvite one or more users with role pre-assignment
TrackView pending, accepted, and expired invitations
ResendRe-send invitation email for pending invites
CancelRevoke a pending invitation before acceptance

Key details:

  • Invitation tokens expire after a configurable period (default: 7 days)
  • Expired invitations can be re-sent with a new token
  • Duplicate invitations to the same email are prevented
  • Invitation history preserved for audit purposes

15. Onboarding

New tenants are guided through a step-by-step setup flow to configure their fleet operations on SALLY.

Onboarding steps:

StepWhat’s Configured
Organization setupCompany name, fleet size, operating regions
HOS rulesFMCSA rule set selection, exceptions (short-haul, etc.)
Fleet defaultsDefault fuel thresholds, preferred fuel brands, rest policies
User invitationsInvite dispatchers, drivers, and administrators
Integration setupConnect TMS, ELD, and fuel card systems (optional)
VerificationReview configuration and activate the tenant

Key features:

  • Progress tracking — Visual indicator of completed vs. remaining steps
  • Skip and return — Non-critical steps can be skipped and completed later
  • Guided recommendations — SALLY suggests sensible defaults based on fleet size and region
  • Completion milestone — Tenant is fully activated once required steps are complete

Technology Stack

SALLY is built on a modern, full-stack TypeScript architecture.

LayerTechnology
BackendNestJS 11, TypeScript, Prisma 7, PostgreSQL 16, Redis 7
FrontendNext.js 15, TypeScript, Tailwind CSS + Shadcn/ui, Zustand, React Query
AuthFirebase Authentication + JWT
NotificationsResend (email), Twilio (SMS), Web Push / VAPID (push notifications)
Real-timeServer-Sent Events (SSE) + Socket.IO (WebSocket)
MonorepoTurborepo + pnpm
InfrastructureDocker + Docker Compose, Vercel (docs), AWS (Phase 2)