LanePal Sales Tutorial

Master every feature before your next presentation

1. The Product in 60 Seconds

LanePal is a proactive AI copilot for trucking dispatch. It listens to live phone calls between callers and dispatch agents, understands what freight they need in real time, queries a load database, and pushes matching load suggestions to the agent's screen — automatically, within 1.5 seconds, without anyone clicking anything. It works on inbound calls (callers phoning in) and outbound calls (agents dialing out from a power dialer). For dispatch companies, it means faster quotes, fewer missed loads, and agents who sound like they have a photographic memory of every available load in the system.

Caller speaks
AI listens
Loads appear on agent's screen in 1.5s

2. All Our Live Pages

We have five live URLs. Each serves a different purpose in a demo or pitch.

Demo Quick-Start Guide

demo.lanepal.ai

Step-by-step instructions for running the live demo. Caller scripts, what to say, what to expect on screen.

Show to: someone running their first demo

Inbound Dispatch Dashboard

dashboard.lanepal.ai

The main product. Real-time call monitoring, live transcription, proactive AI load suggestions, manual queries. This is where the magic happens.

Show to: everyone. This IS the product.

Outbound Power Dialer

outbound-demo.lanepal.ai

Agent-initiated calling. Upload a contact list, auto-dial through it, same AI augmentation on every call. Disposition tracking and session stats.

Show to: prospects who do outbound prospecting

Multi-Tenant Scale Demo

scale-demo.lanepal.ai

Visual simulation of 4 dispatch companies on shared infrastructure. Speed controls from 1x to 10x. Shows the investor that this architecture scales.

Show to: investors asking "does it scale?"

Sales Tutorial (This Page)

tutorial.lanepal.ai

Deep dive into every feature, panel, and button across all pages. Built for the sales team to study before presentations.

Show to: yourself, before every pitch

3. Inbound Dashboard — Every Panel Explained

URL: dashboard.lanepal.ai — This is the core product screen. Know every pixel of it.

Header Bar

Left: LanePal Branding

  • LanePal title and "Agent Intelligence Dashboard" subtitle
  • Just branding. Nothing interactive here.

Center: Agent Toggle Buttons

  • Four buttons, each representing a phone endpoint that can receive incoming calls:
  • Andy Cell PSTN agent — calls ring Andy's cell phone
  • Alt Phone PSTN agent — calls ring the alternate phone number
  • OpenAI English OpenAI voice agent — AI answers in English
  • OpenAI Spanish OpenAI voice agent — AI answers in Spanish
  • Blue highlight = currently active. Click a different button to change which phone/agent receives the next call.
  • This change syncs across all browsers viewing the dashboard via WebSocket. Everyone sees the same active agent.
  • The active agent is stored in DynamoDB, so it persists across refreshes and backend restarts.

Right: Connection Status Badge

  • Connected = WebSocket is live, dashboard is receiving real-time data
  • Disconnected = WebSocket dropped. Dashboard will auto-reconnect. If it stays red, the backend may be down.

Stats Bar

Call Metrics

  • Active Calls — number of calls happening right now (updates live via WebSocket)
  • Total Calls — cumulative calls since the backend was last restarted (recovered from DynamoDB on startup)
  • Avg Priority — average priority score from AI classification across all calls (1-5 scale, where 5 is highest urgency)

Microphone Button

  • A legacy feature from Mode A (browser-based transcription). Clicking it starts capturing audio from the browser's microphone and streaming it to the backend for transcription.
  • Not needed for normal demos. The production system (Mode B) captures audio from the phone call via Chime Meeting + KVS. The mic button is a fallback.
  • If someone asks about it: "That's our browser-based capture mode for testing. In production, we capture directly from the phone call — zero setup for the agent."

AI Dispatch Assistant Panel (Left-Center)

Model Badge: Nova Micro + Aurora Postgres

  • Shows which AI model and database power the suggestions.
  • Nova Micro is Amazon's fast, cheap inference model on Bedrock. Aurora Postgres is the load database.
  • Two sequential AI calls: (1) extract intent + generate SQL, (2) summarize results into plain English. Total: ~1.5 seconds.
THIS IS THE MAGIC FEATURE — Proactive AI Suggestions.
Suggestions appear here AUTOMATICALLY as the caller speaks. Nobody clicks anything. The AI hears "Seattle to Portland" in the conversation and within 1.5 seconds, matching loads appear on screen. This is the core value proposition of LanePal.

Proactive AI Area

  • Default state: "Listening for dispatch requests on active calls..." with a search icon
  • When the AI triggers, this area populates with:
  • Tag pills — colored badges showing extracted parameters (e.g., From: Seattle To: Portland Reefer)
  • Summary text — natural language description like "Found 7 loads from Seattle to Portland, rates ranging from $2.10 to $3.45 per mile"
  • Results table — columns: Carrier Name, Rate/Mile, Total Rate, Distance, Weight, Commodity, Equipment Type, Broker Credit Score
  • Suggestions update as the conversation evolves. If the caller changes from "Seattle" to "Tacoma," the AI re-queries automatically.
  • Triggers: the AI analyzes every 6 transcript segments, or immediately when it hears high-intent keywords (city names, "load," "truck," "shipment," equipment types).

Manual Query Box ("Ask AI")

  • Collapsed by default under a "Manual Query" toggle. Click to expand.
  • Type any natural language question and press Enter or click "Ask."
  • The AI converts it to SQL, queries the database, and returns results with the generated SQL visible.
  • Good demo examples:
    • "Reefer loads under $3/mile from Portland"
    • "Which brokers pay within 7 days?"
    • "Flatbed loads from Boise to Spokane after April 20"
    • "What commodities are moving from Yakima this week?"
  • This is the fallback if proactive AI does not trigger, or for showing a specific query on demand.

Active Calls Panel (Right-Top)

Call Cards

  • Each ongoing call appears as a card showing: caller phone number, call status, and start time.
  • Status badges: Ringing Transcribing Ended
  • Click a call card to select it — the transcript and classification panels will show data for that call.
  • When no calls are active, shows "No active calls" placeholder.

Live Transcript Panel (Right-Center)

Transcript Stream

  • Scrolling text with speaker labels: Agent (green) and Customer (purple)
  • Updates in real time as people speak. Latency: 1-2 seconds from speech to text on screen.
  • Auto-scrolls to the bottom so the latest speech is always visible.

Source Tabs: All / OpenAI / AWS Transcribe

  • Three tab buttons at the top of the transcript panel.
  • All — shows transcripts from any source (default)
  • OpenAI — shows only transcripts from the OpenAI agent (when using an OpenAI voice agent)
  • AWS Transcribe — shows only transcripts from Amazon Transcribe Streaming (Mode B phone audio)
  • In a normal PSTN demo, all transcripts come from AWS Transcribe. The tabs matter when comparing transcription sources.

AI Classification Panel (Right-Bottom)

Call Classification

  • After 4 transcript segments, GPT-4o-mini classifies the call. Fields shown:
  • Category badgeDispatch Inquiry Booking Complaint
  • Priority score — 1 to 5 (5 = highest urgency). Drives the "Avg Priority" stat at the top.
  • Summary — one-line description of the call's purpose
  • Key entities — extracted names, locations, freight details
  • Suggested actions — what the agent should do next
  • Classification updates as more of the conversation is heard.

Event Log (Bottom)

System Events

  • Scrolling log of system events: WebSocket connections, call lifecycle events, AI triggers, errors.
  • Copy Log button — copies the entire log to clipboard. Useful for debugging or sharing with the team.
  • During a demo, this panel is usually ignored. It is there for transparency and troubleshooting.

4. Outbound Dialer — Every Panel Explained

URL: outbound-demo.lanepal.ai — The agent calls out. Same AI, different workflow.

Left Panel: Dial List

Contact List

  • Pre-loaded contacts: Andy (+14252307002) and Hawk (+16306398711) are loaded by default for testing.
  • Each contact card shows: name, company, phone number, status badge, and notes.
  • Status badges cycle through the call workflow: Pending Calling Connected then disposition-specific colors after the call ends.
  • Hover over a contact and click the X to remove them from the list.
  • The list persists in browser localStorage — survives page refreshes.

CSV Upload Area

  • Drag and drop a CSV file or click to upload. Bulk-loads contacts from a spreadsheet.
  • Expected columns: Name, Company, Phone, Notes.

Add Contact Form

  • At the bottom of the left panel. Fields: Name, Company, Phone (e.g. +15551234567), Notes.
  • Click "+ Add to List" to append to the dial list.
  • Tip for demos: add the investor's phone number so they can experience receiving a call from the system.

Center Panel: Active Call

Call Info Card

  • When idle: "No active call. Start a session to begin dialing." with a phone icon.
  • During a call: shows the contact's name, company, phone number, and any notes you entered.
  • Call timer — counts up from 0:00 the moment the call connects.
  • Status indicator text: IDLE before session starts, DIALING while ringing, CONNECTED when answered, CALL ENDED when finished.

Live Transcript

  • Same real-time transcript as the inbound dashboard, but with Agent and Contact speaker labels.
  • Appears once the call is connected and both parties are speaking.

AI Load Suggestions

  • Same proactive AI engine as the inbound dashboard. As the conversation mentions cities, equipment types, or dates, matching loads appear automatically.
  • Default state: "Waiting for active call to analyze..."
  • When triggered: tag pills, summary, and results table — identical format to inbound.

Right Panel: Session Controls

Start Session / End Session

  • Big green button with a pulsing animation when ready.
  • Click Start Session to begin dialing the first contact on the list.
  • Button changes to End Session (red) while a session is running.
  • Ending the session hangs up the current call and stops auto-dialing.

Skip to Next Contact

  • Skips the current contact and moves to the next one in the list.
  • Useful when someone does not answer and you do not want to wait.
  • Disabled when no session is active.

Progress Bar

  • Shows "X of Y contacts" and a percentage completion bar.
  • Only visible during an active session.
  • Fills up as you move through the dial list.

Disposition Buttons

  • Appear after each call ends. Four options:
  • Interested — contact wants to proceed
  • Callback — call back later
  • Not Interested — no fit
  • No Answer — did not pick up
  • Setting a disposition marks the contact as complete and (if auto-dial is on) triggers the next call.
  • Buttons are disabled until a call ends.

Auto-Dial Controls

  • Toggle switch — turns auto-advance on/off. When ON, the next contact is dialed automatically after you set a disposition.
  • Delay slider — configurable from 1 to 10 seconds. Sets how long to wait before dialing the next contact. Default is 3 seconds.
  • The delay gives the agent time to take notes before the next call starts.

Session Stats

  • Four metrics updated in real time during the session:
  • Calls Made — total dials attempted
  • Connected — how many calls were answered
  • Avg Duration — average call length (mm:ss)
  • Interested — contacts marked as "Interested"

Event Log (Bottom)

Same as Inbound

  • System events, WebSocket messages, errors. Copy Log button for debugging.

5. The DEBUG Panel — Your Secret Weapon

This is the most impressive thing to show an investor. It turns the invisible backend into a visible, animated architecture diagram that lights up in real time as calls flow through the system.

How to Open It

Click the DEBUG button in the bottom-right corner of ANY page — the inbound dashboard or the outbound dialer. A panel slides up from the bottom of the screen.

What You See

Left Side: Live Architecture Diagram (SVG)

  • 16 components rendered as interactive nodes, connected by edges showing data flow:
ComponentDescription
CallerThe person dialing in
SIP RuleRoutes the phone number (+1-626-842-9780) to our system
SMAChime SIP Media Application — the call handler
LambdaTelephony router — decides what to do with the call
DynamoDBStores call state (meeting IDs, attendee tokens)
Chime MeetingEphemeral meeting created for each call
AgentThe dispatch agent's phone or browser
Media PipelineCaptures per-speaker audio from the meeting
KVSKinesis Video Stream — raw audio buffer
EventBridgeRoutes stream-start events to the consumer
KVS Consumerffmpeg + Amazon Transcribe Streaming pipeline
TranscribeConverts audio to text in real time
FastAPIThe backend at api.lanepal.ai
Bedrock AINova Micro — intent extraction, SQL generation, summarization
Aurora PGPostgreSQL database with 8,000 loads
DashboardThis browser — receives results via WebSocket

Right Side: Event Ticker

  • Raw events stream in with timestamps and highlighted keywords.
  • Shows the actual data flowing through: transcript snippets, AI triggers, classification results.
  • During a live call, you can see each spoken phrase flow from Transcribe through the Backend to the Dashboard.

During Live Calls: Components Glow and Pulse

Blue glow = telephony events (call routing)
Purple glow = media/transcription events
Orange/yellow glow = AI and database events

Floating labels appear on the connections between nodes, showing actual data — for example, a transcript snippet like "[Contact] I need a reefer from Seattle..." traveling from the KVS Consumer node to the Backend node.

Simulate Load Button — The Scaling Demo

Key demo technique: Start slow, build up speed. Let the investor absorb each speed level before clicking the next one.

How to Use It

  • Click "Simulate Load" to start the simulation.
  • Speed control buttons appear: 1x 5x 20x 50x
  • 1x — realistic pace. A few calls flowing through, components light up one at a time. Good for explaining each step.
  • 5x — busier. Multiple components lit simultaneously. "This is a moderately busy dispatch office."
  • 20x — architecture is constantly lit, events flowing rapidly. "This is a busy Monday morning."
  • 50x — everything is blazing, events/sec counter climbs, cost estimate appears. "This is the same infrastructure handling 50 concurrent calls. No hardware changes, no trunk upgrades. AWS scales it automatically."

Stats Displayed During Simulation

  • Events count — total events processed
  • Events/sec — current throughput rate
  • Concurrent calls — how many simultaneous calls are being simulated
  • Estimated monthly cost — rough dollar figure based on the current load level
Talking point: "This is the same infrastructure handling 1 call or 50 concurrent calls. No hardware changes, no trunk upgrades. AWS scales it automatically. The cost estimate you see is the entire infrastructure cost — telephony, transcription, AI, and database."

6. Scale Demo — The Investor Closer

URL: scale-demo.lanepal.ai — Visual proof that one infrastructure serves many companies.

Four Fictional Companies (Tenant Cards)

CompanyLocationShows
Cascade FreightSeattle, WAActive calls, event log, status
Pacific HaulersPortland, ORActive calls, event log, status
Idaho ExpressBoise, IDActive calls, event log, status
Montana LogisticsMissoula, MTActive calls, event log, status
  • Each company has its own phone number, its own calls, its own event stream.
  • But they all share one infrastructure — shown by the shared architecture diagram in the center of the page.

Shared Architecture Diagram

  • Same SVG diagram as the DEBUG panel, but placed prominently in the center.
  • Components light up with events from ALL four tenants — demonstrating shared infrastructure.
  • A global event ticker at the bottom shows a live stream of events across all companies.

Header Stats and Speed Controls

  • Concurrent Calls — across all 4 tenants
  • Total Events — cumulative events processed
  • Events/sec — current throughput
  • Speed buttons: 1x (realistic), 5x (busy day), 10x (at scale)

Key Investor Talking Points

  • "One phone number per client — not per agent, not per call." Each company gets a single inbound number. Concurrent callers share it.
  • "Zero idle cost — no calls means no charges." Per-minute billing. When nobody is calling, the bill is zero.
  • "Adding a new client: 3 API calls, 30 seconds, ~$1/month for the phone number." No hardware, no contracts, no provisioning delays.
  • "No hardware, no trunks, no PBX, no contracts." Every call is a temporary software object created by an API call.
  • "Same infrastructure that handles 1 call handles 10,000." AWS auto-scales. No capacity planning needed.

7. The Data — What the AI Queries

Current Database (Simulated)

TableRowsWhat It Contains
companies300Trucking carriers with credit scores, DOT/MC numbers, payment terms
loads8,000Available loads across the Pacific Northwest
complaints400Carrier complaint history with severity scores

Geographic Coverage

  • Pacific Northwest: Washington, Oregon, Idaho, Montana
  • Key cities: Seattle, Portland, Spokane, Boise, Yakima, Tacoma, Bellingham, Eugene, Bend, Medford, Missoula, Billings, Olympia, Kennewick, Wenatchee, Idaho Falls, Salem
  • Date range: March 23 through April 30, 2026

Fields the AI Can Query

  • Origin and destination cities
  • Rate per mile and total rate
  • Weight and capacity (FTL, LTL, Partial)
  • Equipment type (dry van, reefer, flatbed, stepdeck, tanker)
  • Commodity description
  • Refrigerated status and temperature requirements
  • Broker credit score and days to pay
  • Trailer length
  • Hazmat certification
  • Pickup and delivery dates
Transition to real data: "Today this is simulated data — 8,000 loads in the Pacific Northwest. When DAT integration goes live, the AI queries real load board data. Same pipeline, same 1.5-second response time, same dashboard — just real loads instead of simulated ones. The only thing that changes is the data source, not the product."

What DAT Integration Adds

  • Hundreds of thousands of live loads (nationwide, not just PNW)
  • Real-time market rate context from DAT RateView ("This load is above/below market rate")
  • Load freshness ("Posted 2 hours ago" vs. "Sitting for 3 days — broker may negotiate")
  • Deadhead calculation from the truck's current location
  • Verified broker credit scores and days-to-pay
  • 60+ equipment type codes (vs. our current 5 primary types)

8. Common Questions and Answers

Likely questions from investors or prospects, with ready answers.

"How many phone lines do we need?"
One number per client. No phone lines at all — it is cloud SIP. The number is a virtual resource that costs about $1/month. Fifty people can call it simultaneously.
"What happens if 50 people call at once?"
AWS Chime creates a temporary meeting for each call. The default concurrent call limit is 100, and AWS can raise it to 10,000+ on request. There is no busy signal, no queue, no dropped calls.
"How much does it cost per call?"
About $0.30 per 10-minute call. That covers telephony (~$0.05), real-time transcription (~$0.24), and AI inference (less than $0.01). It scales linearly — double the calls, double the cost. No step functions or capacity cliffs.
"What if the AI gets it wrong?"
The agent always has the manual "Ask AI" box as a fallback. Type any question in plain English and get results instantly. The AI also improves with more conversation context — the longer the call, the more accurate the suggestions become.
"Can we use our own load data?"
Yes. The AI queries any PostgreSQL database. We can connect to DAT, Truckstop, your TMS, or any system that can expose data via SQL. The AI pipeline is data-source agnostic.
"How fast can we go live?"
30 seconds per client. Three API calls: provision a phone number, create a routing rule, add the client config to the database. No hardware, no contracts, no provisioning delays.
"Does it work with Twilio?"
The architecture is provider-agnostic. We use AWS Chime today because it gives us per-speaker audio streams natively. We can add Twilio as an alternative telephony provider — the AI pipeline, dashboard, and database layer stay exactly the same.
"What about outbound calling?"
Built and live. The power dialer lets agents call through a contact list without hanging up between calls. Same AI augmentation on every call — proactive load suggestions, transcript, classification. Auto-dial with configurable delays between calls.
"Is the data secure?"
All data stays within AWS. Audio streams are processed in-memory and not stored (no recordings by default). The database is in a private VPC. All connections use TLS. Each client's data is isolated at the database level.
"What AI model do you use?"
Amazon Nova Micro via AWS Bedrock for the proactive load suggestions (two calls: intent extraction + summarization, ~1.5s total). GPT-4o-mini for call classification. We tested Claude, Gemini, and DeepSeek — Nova Micro won on speed-to-quality ratio for our use case.

9. Presentation Flow — Recommended Order

How to structure a 15-minute investor demo. Follow these steps in order.

0:00 - 2:00 (2 minutes)

Open tutorial.lanepal.ai (this page). Deliver the 60-second pitch from Section 1. Briefly show the "All Our Live Pages" section so the investor knows what they are about to see.

2:00 - 6:00 (4 minutes)

Open dashboard.lanepal.ai. Have someone call +1 (626) 842-9780. Show the call appearing, the live transcript streaming, and the proactive AI suggestion appearing automatically when the caller mentions a city and freight type. This is the "wow" moment. Let it breathe.

6:00 - 8:00 (2 minutes)

While still on dashboard.lanepal.ai, click the DEBUG button. Show the architecture diagram lighting up as events flow. Explain each component briefly: "This is the phone call coming in... this is the audio being transcribed... this is the AI querying the database... and this is the result arriving on the agent's screen."

8:00 - 10:00 (2 minutes)

In the DEBUG panel, click Simulate Load. Start at 1x — show a few calls. Click 5x — busier. Click 20x — constant activity. Click 50x — everything blazing, cost estimate visible. Say: "Same infrastructure, 50 concurrent calls, and here is the monthly cost."

10:00 - 12:00 (2 minutes)

Open scale-demo.lanepal.ai. Show 4 companies sharing one infrastructure. Point out the shared architecture diagram in the center. Use the speed controls. Deliver the multi-tenant talking points: one number per client, zero idle cost, 30-second onboarding.

12:00 - 13:00 (1 minute)

Briefly open outbound-demo.lanepal.ai. Show the contact list, the session controls, the disposition buttons. Say: "Same AI, but for outbound prospecting. The agent never hangs up — the system auto-dials the next contact." Do not run a full demo here unless there is time.

13:00 - 15:00 (2 minutes)

Q&A. Use the answers from Section 8 above. Common first questions: cost per call, scaling limits, data integration, and go-live timeline.

Before every demo: Open dashboard.lanepal.ai and confirm the connection status shows Connected. If it shows Disconnected, SSH to the EC2 instance and run sudo systemctl restart lanepal. Verify with curl https://api.lanepal.ai/health.