Fleet management for trucking companies. Dispatch, drivers, customers, invoicing, and payroll in one system,
with an AI dispatcher that plans the day and waits for your approval.
The AI dispatcher checks driver hours, suggests a truck and waits for your approval. Watch the full teaser.
No signup. Every demo account uses the password Test12345#.
| Where | Log in as |
|---|---|
| TMS portal | owner@test.com, manager1@test.com, dispatcher1@test.com |
| Customer portal | customer1@test.com |
| Driver app | driver1@test.com |
These accounts belong to Heartland Logistics LLC, a US carrier with 10 employees.
Two more demo companies
EuroFreight GmbH bills in euros, uses metric units, and runs on Berlin time. Log in as eu_owner@test.com, eu_manager@test.com, eu_dispatcher1@test.com, eu_driver1@test.com, or eu_customer1@test.com.
Rodriguez Trucking LLC is a solo owner-operator. The owner also drives, so solo@test.com works in both the TMS portal and the driver app. Its customer is solo_customer1@test.com.
All demo accounts are in test-credentials.md.
Small carriers often run on spreadsheets, group chats, and separate tools for accounting and tracking. LogisticsX puts all of it in one place. A dispatcher assigns a load, the driver sees it in the app, the customer tracks it, and the invoice is ready on delivery.
It supports general freight, car hauling, and container drayage, for carriers in the US and Europe.
- Dispatch: Loads, multi-stop trips, Mapbox routing, a live driver map, and tracking links you can share.
- Load boards: Search DAT, see DAT market rates, post trucks, and turn a listing into a load, with a broker credit check on every listing. More boards on request.
- Money: Invoices with accessorials and detention, sales tax or VAT, Stripe payouts, factoring, driver and owner-operator settlements, QuickBooks sync.
- Fuel: WEX and EFS fuel card imports every night, plus quarterly IFTA reports.
- Compliance: Hours of service from Samsara, Motive, and Geotab, GPS from Samsara and TT ELD, driver inspections, hazmat checks, GDPR tools.
- Fleet: Trucks, trailers, maintenance records, VIN lookup, and container tracking (ISO 6346).
- Car hauling: Vehicles with VINs on each load, per-vehicle condition reports on a damage diagram, and a signed eBOL.
- Drayage: Last free day, per-diem and chassis clocks, holds, appointments, street turns, and demurrage billing.
- Onboarding: Import customers, drivers, trucks, trailers, and loads from CSV or XLSX.
- Apps: A TMS portal, a customer portal, an admin portal, and a driver app for Android and iOS.
The full list is in features.md.
The dispatch agent matches trucks to loads, checks each driver's remaining hours, plans trips, and watches load boards. A dispatcher approves or rejects every assignment, and the agent learns from those decisions. It can also send counter-offers to brokers when a load pays below your lane floor.
The copilot is a chat panel on every page. Ask it which trucks are due for service, or tell it to invoice today's deliveries. It sees only what your role can see, and it asks before it changes data.
The built-in MCP server lets Claude Desktop, Cursor, and other AI tools work with your fleet.
Read more: AI Dispatch · AI Copilot · MCP Server
| Agent timeline | Pending decisions |
|---|---|
![]() |
![]() |
More screenshots
| Dashboard | Loads | Load board |
|---|---|---|
![]() |
![]() |
![]() |
| Invoicing | Payroll | IFTA |
|---|---|---|
![]() |
![]() |
![]() |
| Customer portal | Driver app: today | Driver app: trip |
|---|---|---|
![]() |
![]() |
![]() |
More in screenshots.md.
How big the source code is, measured in October 2026.
| Part of the code | Lines of code |
|---|---|
| Backend and tests (C#, public) | 145,000 |
| Web portals (TypeScript and HTML, private) | 110,000 across 4 apps |
| Driver app (Kotlin, private) | 16,000 |
| Whole repository, all file types | 377,000 in 5,050 files |
What the backend contains:
| Item | Count |
|---|---|
| API endpoints | 419 |
| Data models (database entities) | 98 |
| Business operations (242 commands that change data, 175 queries that read it) | 417 |
| Tools the AI agents can call | 31 |
| Scheduled background jobs | 24 |
| Third-party integrations (ELDs, load boards, fuel cards, accounting, Stripe) | 10 |
| Automated tests | 1,350+ |
| Commits | 2,000+ since November 2021 |
You need the .NET 10 SDK and Docker.
git clone --recurse-submodules https://github.com/suxrobGM/logistics-app.git
cd logistics-app
# Postgres, seeded with the demo companies
docker compose -f deploy/docker-compose.dev.yml up -d
# Backend, one command per terminal
dotnet run --project src/Presentation/Logistics.IdentityServer # https://localhost:7001
dotnet run --project src/Presentation/Logistics.API # https://localhost:7000The Swagger UI is at https://localhost:7000/swagger.
With access to the private submodule, you can also start the TMS portal. It needs Bun.
cd private/src/Client/Logistics.Angular && bun install && cd -
bun start:tms # http://localhost:7003, log in as owner@test.comThe Docker guide lists every service and port. To run Postgres yourself, follow the local setup guide. To host it, see Deployment.
The backend is public. The web portals and the driver app are closed source and live in the private/ submodule, which is empty in a public clone. The backend builds and runs without them.
src/Core/ Domain model, commands and queries, in-repo mediator
src/Infrastructure/ Persistence, AI, payments, documents, and every integration
src/Presentation/ API, Identity Server, MCP server, database migrator
test/ Unit, integration, and architecture tests
private/ Angular portals and Kotlin driver app (closed source)
Each tenant company gets its own PostgreSQL database. The architecture overview explains how the parts fit together.
| Part | Stack |
|---|---|
| Backend | .NET 10, ASP.NET Core, EF Core, SignalR, Hangfire, Open.IdentityServer |
| Web portals | Angular 22, spartan/ui, Tailwind CSS |
| Driver app | Kotlin Multiplatform, Compose Multiplatform |
| Database | PostgreSQL 18 |
| AI | OpenAI, Anthropic, and DeepSeek models, Model Context Protocol |
| Payments | Stripe, Stripe Connect, Stripe Tax |
| Hosting | Docker Compose, Nginx, GitHub Actions |
| Monitoring | Sentry, nightly PostgreSQL backups |
Start at the docs index, or go straight to a guide:
- Features
- Getting started
- Architecture
- API reference
- Deployment and observability and backups
- Car hauler guide and data import
- Integration setup: Samsara, QuickBooks, DAT
- Backend guide and Angular guide
Pull requests are welcome. Fork the repo, branch off main, and open a PR. Your first PR will ask you to sign the Contributor License Agreement. You keep your copyright.
The public source uses the PolyForm Noncommercial License 1.0.0, so noncommercial use is free. Commercial use needs a commercial license, which also includes the closed-source clients.
Built by Sukhrob Ilyosbekov. Reach me by email, on LinkedIn, or on Telegram.












