Skip to content

Built in a Chicago dispatch office

The dispatcher that
never logs out.

Neo signs into every railroad, steamship-line and chassis-pool portal your drayage operation depends on — traces containers and bookings, files rail billing, books chassis, parses delivery orders — and hands your team a dashboard that says what needs a human right now.

  • All six Class I rails, every Chicago ramp
  • 10 steamship lines, 3 chassis pools
  • Your own VM, your own data

import-tracing · req_9f3a · every 4 h, Central

live

Containers

48

Changed since last run

3

Due in 48 h

5

ContainerRailETALFDStatus
MSCU 512 034-7BNSFOct 02 · 06:40Oct 06In transit
TCLU 884 120-1UPArrivedOct 01Customs hold
OOLU 190 327-4NSSep 30 · 22:15Oct 04Notified
HLBU 271 552-0CSXOct 03 · 11:00—In transit
›diff: 3 rows moved · emailing digest at 06:00 CT

Signs into the portals your operation already depends on

  • BNSF
  • CN
  • CP
  • CSX
  • NS
  • UP
  • CMA CGM
  • COSCO
  • Evergreen
  • Hapag-Lloyd
  • HMM
  • Maersk
  • MSC
  • ONE
  • OOCL
  • Yang Ming
  • ZIM
  • TRAC
  • CCM
  • DCLI
  • FlexiVan
  • GIER
  • Motive
13
automation modules in production
6 / 6
Class I railroads traced
10
steamship lines for empty returns
3
chassis pools with live stock and booking

What it does

Every portal chore a dispatcher repeats, shipped as a module.

Thirteen automation modules run in production today, each with its own API route, handler registry, audit trail and dashboard page. Pick the ones your operation needs; add the rest when you are ready.

Instant + Scheduled

Import Container Tracing

Trace inbound containers across BNSF, CN, CP, CSX, NS and UP for ETA, last free day, storage and customs holds and the full event history. Run once, or put a watchlist on a Central-Time schedule and get emailed only when something moved — with a morning brief that says what is at stake today.

  • ETA, last free day, holds and events normalized to one shape
  • Live progress while a run is on the portals
  • A dispatcher's report: next action, dollars at stake, calendar note
  • Change-gated email reports or a single daily digest
  • Finished units retire themselves from the watchlist

BNSF · CN · CP · CSX · NS · UP

Instant + Scheduled

Export Booking Tracing

ERD, cutoffs and revisions per steamship line.

COSCO · Evergreen · MSC · ONE · Yang Ming

Instant + Scheduled

Empty Return Check

Rail ramp or depot? Answered per container, in bulk.

CMA CGM · ZIM · COSCO · Evergreen · Hapag-Lloyd · HMM · Maersk · MSC · ONE · OOCL

Instant + Scheduled

Chassis Reservation

Reserve chassis by size, class, pool, region, depot and date. TRAC end to end; CCM through its dated grid across all 89 depots, cancellable with a reason; DCLI as a release request emailed to the depot's contact with the reply read back. Timed bookings fire at a Central-Time moment and retry until booked.

  • Book now or book at a moment, with retry-until-booked
  • Force-book and status polling for pending TRAC orders
  • Booking receipts and pool-availability captures kept as evidence
  • Cancel from the API or the dashboard

TRAC · CCM · DCLI

Instant

Rail Billing — Empty

File the empty billing without opening a portal.

Yang Ming · Evergreen · Hyundai · Maersk · MSC · ZIM

Instant

Chassis Availability

Read TRAC's pools one market at a time, CCM's grid for today or tomorrow, or any of DCLI's seven region pages — up to five checks in one request — and list every location with its count. A row with stock books in one click; every location keeps a 30-day history. A check is a read: nothing is booked unless the dispatcher books.

  • TRAC in 31 markets, CCM today or tomorrow, DCLI's 202 locations
  • One-click Book from any row with stock
  • Stock board of each pool's newest read, 30-day history per location

TRAC · CCM · DCLI

Instant + Scheduled

Delivery Order Parsing

A customer's PDF becomes structured shipment data.

Import: GOLDEN · OEC · OOCL · FNS · YANGMING · MAGID · MAERSK — Export: OEC · EUSU

How it works

A request goes in. Evidence comes out.

One pipeline for every module: ask, orchestrate, collect, record, notify. Your TMS and your operators use the same doors, and every result is traceable back to what the portal actually showed.

How a request flows through NeoA TMS or a dashboard operator sends a request. Neo’s orchestrator groups it by carrier and drives portal logins through a warm browser pool and HTTP clients. Every run is recorded as request, execution and response, then a change-gated notification is sent.Your TMSper-client API keyDashboardsession · owner-scopedNeoOrchestratorgrouping · run concurrentlySmart browserCAPTCHA · sessions · backoffAudit trailrequest → execution → responsePortalsrails · SSLs · pools · MotiveNotificationschange-gated email + CSV
  1. 01

    Ask

    Your TMS calls an authenticated route, or an operator fills a form. Instant requests run inline; scheduled ones register a Central-Time cron and are edited, paused or retraced later.

  2. 02

    Orchestrate

    Items are grouped by carrier and run concurrently through a handler registry. A carrier that is not wired returns a well-formed pending row instead of failing the batch.

  3. 03

    Collect

    A warm, self-healing pool of logged-in browsers and direct HTTP clients do the portal work — CAPTCHAs solved, sessions persisted, logins backed off when a portal is unhappy.

  4. 04

    Record

    Every run is written as request → execution → response with a portal capture as evidence, then normalized so a date means the same thing across every carrier.

  5. 05

    Notify

    A diff decides whether anything moved. Watchlists email only on change or as one daily digest, and ring the in-app bell; billing letters and release requests go out under your company identity with a Message-ID kept.

Operations dashboard

What needs a human right now?

The dashboard answers four questions at a glance — what needs attention, what is due, what ran, what is coming — and every equipment number on it opens a timeline of that container's, chassis's or booking's whole life.

Neo / Overview3

Needs attention

2

Due today

7

Chassis in stock

12

Runs today

64

Needs attention

  • UP login failed — credential hold 1 h

    open

    import-tracing · portal

  • Timed TRAC booking retrying — Joliet has no 40' stock yet

    open

    chassis-reservation · retry until booked

Coming due

Today48 hWeek
  • MSCU 512 034-7Today
  • BK 7731-ATomorrow 14:00
  • TRAC · Joliet06:00 CT
  • OOLU 190 327-4In 2 days

One overview that answers four questions

What needs a human right now, what is due, what ran, and what is coming — with every number counted over the same feeds as the cards, so they can never disagree.

Find any equipment number

Paste a container, chassis or booking and land on its whole life across every module — traces, gate receipts, return checks, stock reads, reservations, letters — newest first.

Owner-scoped by default

An operator sees their own requests, an admin sees everyone's, and a request that is not yours is indistinguishable from one that does not exist.

Chicago-first

Built for the carriers that run the Chicago ramps.

Neo was designed around one Chicago dispatch desk and is sold to desks like it: drayage and intermodal carriers of roughly 30 to 300 trucks, working the Class I ramps, the steamship-line portals and the chassis pools every day.

A fit today

A Chicago-area drayage or intermodal carrier

Roughly 30 to 300 trucks, working the Class I ramps and the steamship-line and chassis-pool portals every day, with a TMS or a spreadsheet carrying the answers.

A fit today

A desk whose dispatchers open portals by hand

If someone traces containers, checks return locations, chases chassis stock or re-keys delivery orders between phone calls, that is the work Neo takes over.

Not yet

3PLs, brokers and multi-office fleets

Neo is single-tenant today: one deployment serves one carrier. Multi-tenant operation is on the roadmap; until then a broker's shippers each need their own.

The ramps your trucks already run

Neo traces at the railroad, so a box on any of these is one import trace.

BNSF
Logistics Park Chicago (Elwood)CiceroWillow Springs
UP
Global I (Chicago)Global II (Northlake)Global IV (Joliet)Yard Center (Dolton)
CSX
Bedford Park59th Street
NS
LandersCalumet47th Street
CN
Harvey
CP (CPKC)
BensenvilleSchiller Park

Terminal names as published by each railroad. Steamship-line and chassis-pool coverage is on the integrations page.

Security

Your credentials, your VM, your audit trail.

Neo runs as a single-tenant image on infrastructure you control. Portal passwords are sealed in your database, every machine caller has its own key, and nothing is sent to a railroad under a half-filled identity.

Credentials sealed at rest

Portal logins, service keys and mail settings are stored AES-256-GCM encrypted in your database and unsealed only by a master key your deployment holds. Nothing lives in a plaintext env file.

Per-client API credentials

Every machine caller carries its own identity and secret pair, verified against the database on every request. There is no shared key to leak, and a revoked client stops within seconds.

Owner-scoped dashboard

Operators see the requests they made; admins see everything. A foreign request answers 404 exactly like a missing one — on the page, on every download and on every mutation.

Audit trail on every run

Request → execution → response, with the portal capture taken at extraction time. A number on a report can always be traced back to what the portal showed.

Size the savings

What would your desk get back every month?

Put in your dispatchers, the hours they spend on portals and the boxes that sat past free time last month. The calculator shows the hours returned and the dollars behind them, net of Neo’s from price of $1,500 a month.

2–4 h
a day per dispatcher goes to portals
22
working days a month, every month
0
per-user fees — one price per desk

FAQ

Questions dispatch managers ask first.

What exactly does Neo automate?

The portal work an experienced dispatcher repeats every day: tracing inbound containers and outbound bookings, checking where an empty has to go back, filing empty and laden rail billing, booking chassis, looking up chassis in GIER, pulling J1 gate receipts, parsing delivery-order PDFs, reading live chassis stock across the pools and finding where an empty chassis can go back today. Each is a module with its own API route, audit trail and dashboard page.

How does it connect to my TMS?

Over a plain authenticated JSON API. Your TMS sends a request with its own per-client credentials; instant modules answer inline, scheduled ones register a cron on the Central-Time clock and let you read results back, edit the watchlist or pause it. Dashboard users can do the same things by hand.

Which carriers and portals are covered?

All six Class I railroads for import tracing and five for J1 gate records; ten steamship lines for empty-return checks; COSCO, Evergreen, MSC, ONE and Yang Ming for export tracing; six lines for empty billing; TRAC, CCM and DCLI for chassis stock and reservations; CCM, DCLI and FlexiVan for chassis returns; GIER for chassis ownership; Motive for fleet data. A carrier that is not wired yet is never a hard failure — you get a well-formed per-item row that says so.

Where do my portal passwords live?

Encrypted at rest with AES-256-GCM in your own database, unsealed at login time by a master key that only your deployment holds. The dashboard never displays a credential unless an admin explicitly reveals it, and every reveal is audited.

Will it send emails to railroads or steamship lines on its own?

Only when you let it. Billing letters and chassis release requests default to TEST mode, cannot reach a real recipient there, and refuse to send at all until your company profile — the legal identity a letter is signed with — is complete.

What happens when a portal changes or a login breaks?

A portal Neo cannot log into raises a throttled alert to your ops mailbox and appears in the dashboard's attention feed for everyone, and a nightly login sweep emails a digest to the admins. Login holds back off automatically so a broken credential never hammers a portal.

How is it deployed?

As one Docker image per tenant on a VM you control: the app, MariaDB, Redis, a backup sidecar and an HTTPS proxy, all from one compose file. Migrations run on start, rollback is the previous tag, and nothing is installed on the host but Docker.

Does it replace dispatchers?

It replaces the portal busywork. Dispatchers keep the judgement calls and get a dashboard that tells them what needs a human right now, what is due, what ran and what is coming — instead of eight portal tabs.

Get started

Give your dispatchers their day back.

A thirty-minute walkthrough on your own Chicago lanes and carriers. We will show a live trace on one of your ramps, a scheduled watchlist and the dashboard your team would open every morning.