Pallet Sourcing Platform for a US Supplier

Brand, an animated marketing site, a back office and a customer portal in one platform for a US pallet sourcing agency, with automation from first lead to closed books.

Service
Web & Mobile
Industry
Logistics and B2B commerce (US)
Platforms
Web, Customer portal, Back office
Technology
Next.js, TypeScript, PostgreSQL (embedded), Background job queue, Signed payment webhooks, Claude-powered drafting (cost-capped), SVG motion, Docker

The problem

The client buys recycled pallets from local recyclers and sells them by the truckload, delivered, to warehouses, distributors and manufacturers. They own no yard and no trucks, so every margin depends on getting supplier cost, freight and paperwork right on every load. Leads came from lists and inboxes, quotes were built by hand from supplier prices that change weekly, and orders, freight, proof of delivery and invoices lived in email threads. Nothing stopped a quote going out below cost, and a team of two or three people could not check every number by hand.

Our approach

We kept the system deliberately simple to run: one Next.js application with PostgreSQL embedded inside it, deployed as one container with one volume. The public website, the back office, the customer portal and the API all read and write the same records, so a quote request on the site becomes a lead, a task and an opportunity in a single transaction. We set clear principles: every price, stock level and freight rate records how it was verified and when it expires; each risky order step checks its paperwork in code; whoever requests a risky action can never approve it; and automation is switched on one capability at a time, each with its own limit.

How we delivered it

Brand and website

  • Brand kit, logo, palette, type and voice rules
  • Animated marketing site with grade guide, ZIP check and quote funnel
  • Static pages, about 106 kB first-load JavaScript, no tracking scripts

Lead engine and quoting

  • Discovery, import, dedupe and 100-point scoring with written reasons
  • Compliant outreach with approvals, caps and permanent opt-outs
  • Decimal-safe quoting with margin floors re-checked at every step

Orders, freight and money

  • 17-state order machine with paperwork gates
  • Freight requests, bills of lading and proof of delivery
  • Invoices, signed payment webhooks and per-load reconciliation

Control and portal

  • Dashboard of approvals, replies, tasks and cash exposure
  • Automation switches with limits, plus an append-only audit log
  • Customer portal for quotes, orders, invoices, documents and reorders

What we built

A brand that reads like the dock floor (forklift green, hi-vis amber, stencil-plain type) and an interactive website where isometric pallet stacks, drawn in code as SVG, drop into place. A two-minute quote form captures size, grade, heat treatment, quantity, frequency, delivery ZIP and receiving details, and lands in the back office as a ready-to-quote opportunity. A lead engine discovers pallet-heavy businesses, deduplicates them, scores each on a transparent 100-point model and runs compliant outreach with permanent opt-outs. Quotes are built in exact decimal arithmetic from a verified supplier price, a freight quote for the lane and the active margin policy, and are blocked if anything is assumed, expired or below the floor. A 17-state order machine refuses to dispatch without a matching bill of lading or to close without proof of delivery, and invoices, payments and supplier bills reconcile per load.

Results

The agency now runs on a working, tested operating system: brand kit, animated website, lead engine, quoting, order and freight control, invoicing, payments, reconciliation, supplier management and dashboards, in one platform with 156 automated tests passing against a real database. Margins are protected by rules instead of memory, and the small team is asked only for the decisions that are genuinely theirs.

  • A complete operating system from first lead to closed books in one platform
  • 156 automated tests passing against a real PostgreSQL database
  • Margins protected in code: no quote below floor, no PO on stale stock
  • Seven automation capabilities, each off until an admin switches it on with a reason and a limit
  • One container and one volume to run, with daily backups

More case studies · Start a similar project