Landfall

International shipping risk, cost, and routing — scored before you book.

Landfall is an AI workspace for logistics planners. Describe a shipment (product, lane, weight, ship window) and a coordinated set of agents pulls live web signals to estimate disruption risk, landed-cost drift, delay bands, alternate ports, and a prioritized action list. When you are ready to commit, Landfall can place a live phone call to the carrier to verify the quote.

Built for the Bright Data AI Agents & Web Data Hackathon; live calls via Callwright (VOYGR).


Pipeline

Stage What runs
Product profile Category, HS codes, material mix, upstream dependencies
Market signals Commodity, freight, port, weather, geopolitics, supplier, regulatory agents
Port scout Congestion-aware alternate discharge ports
Duty desk Effective tariff stack + import document checklist
Synthesis 30/60/90-day cost curves, mode table, alerts
Briefing Executive summary + dated action plan
Quote confirm Optional live carrier call (Callwright)

Deliverables: composite risk index, expected delay range, cost exposure charts, dependency map, news feed, and carrier confirmation transcript.

Live web data

Intelligence agents talk to the Bright Data MCP (@brightdata/mcp):

  • search_engine — SERP for rates, congestion, commodities, tariffs, weather
  • scrape_as_markdown — deeper page extraction when a source is worth opening

src/lib/brightdata.ts owns the client. Without a token, Landfall serves a deterministic offline corpus so demos still complete (header shows DEMO vs LIVE).

Layout

src/
  app/                 # Next.js routes, SSE analyze endpoint, Callwright proxy
  components/          # Intake UI, agent console, dashboard, map, call flow
  lib/
    agents.ts          # LLM + search agent definitions
    orchestrator.ts    # pipeline scheduler + risk aggregation
    brightdata.ts      # MCP client + offline fallback
    callwright.ts      # carrier call integration
    drivers.ts         # commodity time series for charts
    geo.ts             # port geocoding

Progress streams over Server-Sent Events so each agent lights up in the console as it finishes.

Stack

Next.js 16 · React 19 · TypeScript · Tailwind CSS v4 · Recharts · Leaflet · Framer Motion · OpenAI · Bright Data MCP · Callwright

Local run

cp .env.example .env.local   # OPENAI_API_KEY, optional BRIGHTDATA_API_TOKEN, CALLWRIGHT_API_KEY
npm install
npm run dev                  # http://localhost:3000

Use a preset (e.g. plastic chairs Shanghai → LA) or the chat intake, then run analysis.

Keys are optional for a full UI walkthrough; add them for live SERP/LLM/call paths.

Env vars

Variable Role
OPENAI_API_KEY Agent reasoning
OPENAI_MODEL Defaults to gpt-4o-mini
BRIGHTDATA_API_TOKEN Live search/scrape
BRIGHTDATA_PRO_MODE Extra browser tools when set
CALLWRIGHT_API_KEY Live carrier phone confirmation

Landfall · Bright Data · OpenAI · Callwright

Built With

Share this project:

Updates