- Client
- Amerigo Auto Transport
- Role
- Full-Stack Design & Development
- Timeline
- Ongoing product
- Year
- 2025
- Category
- Business Platform
Overview
Amerigo Auto Transport runs quotes and dispatch in ShipDesk: a Vite/React CRM with Express + Postgres (Drizzle), RingCentral SMS, SendGrid, Stripe, and Meta CAPI. A separate quote form/API sits on Replit and embeds with the WordPress site amerigoautotransport.com.
Why
Amerigo ran quotes, carriers, and follow-up across disconnected tools. SMS was manual; ad spend was hard to attribute. ShipDesk exists so a public quote form and an internal CRM share one pipeline — quotes → orders → dispatch — with RingCentral, Stripe, SendGrid, and Meta CAPI.
Relevant to logistics SMBs. The WordPress site (amerigoautotransport.com) embeds a quote form/API (Replit) that feeds the same desk the dispatchers use.
The challenge
Amerigo ran quotes, carrier coordination, and follow-up across disconnected tools — conversion and ad spend were hard to see.
What made it hard
- Quotes, carriers, and follow-up lived in disconnected tools.
- SMS outreach was manual; marketing spend was hard to attribute.
- The public quote form and the internal CRM had to share a pipeline.
Approach
Public simple-quote → booking → checkout form, then CRM for orders, dispatch, carriers, SMS templates, financial health, and Meta CAPI analytics.
Process
- Public quote: Form/API that can live on WP and Replit.
- CRM: Quotes → orders → dispatch.
- Attribution: Meta CAPI + SMS/email automation.
What we built
- Quote → order CRM: ShipDesk dashboard for quotes, orders, and carrier assignment.
- SMS desk: RingCentral templated outreach in the same ops UI.
- Payments + mail: Stripe and SendGrid on the path from quote to booked load.
- Meta CAPI: Conversion API tracking so ads are not a guess.
How it was built
Vite/React CRM with Express + Postgres (Drizzle). RingCentral SMS templates, SendGrid, Stripe, Meta CAPI. Public simple-quote → booking → checkout form. CRM for orders, dispatch, carriers, financial health, and analytics.
The public form and the internal desk share a pipeline so a web lead is not a copied email. Attribution via CAPI so ads are not a guess.
Stack
- Vite + React: CRM + quote UI
- Express + Postgres: Drizzle ORM
- RingCentral: SMS
- Stripe + SendGrid: Pay and notify
- Meta CAPI: Ad attribution
Outcomes
- CRM: Quotes → orders → dispatch
- SMS: RingCentral desk
- Meta: CAPI tracking
- WP + app: Public quote + internal ops
Wins
- ShipDesk CRM: quotes → orders → dispatch.
- RingCentral SMS desk in the same ops UI.
- Stripe + SendGrid on the path from quote to booked load.
- Meta CAPI tracking plus a public quote form that feeds the CRM.
Hard parts
- Disconnected tools: Quotes, carriers, and follow-up did not share state. Conversion was invisible.
- Manual SMS: Outreach had to be templated inside the desk, not a phone tree.
- Two fronts: WordPress + quote API + CRM had to look like one company to the customer and one pipeline to staff.
Services
- Vite + React (TypeScript) Frontend
- Express API + PostgreSQL (Drizzle ORM)
- Quote & Order Management CRM
- Carrier Dispatch & Assignment Workflows
- RingCentral SMS + SendGrid Email
- Stripe Payments + Meta CAPI Tracking