Shipsoft 2.0
Isolated freight CRM for 35+ forwarders — one lead-to-booking platform instead of scattered tools, with each tenant’s data on its own database.
Role: Full-stack · primary backend contributor · Apr 2025 – Present · post-production (demo not public yet)
shipsoft · tenant SPADrop in shipsoft-1.jpg (dashboard / SPA)
quoting · bookingwebmail · rates · AIProblem
Freight sales and operations were fragmented across tools that could not safely isolate each forwarder’s data or unify prospecting, quoting, booking, rates, and email. Shipsoft needed a single SaaS platform with database-per-tenant isolation and a modular commercial lifecycle.
Role
As the primary backend contributor on a multi-developer team, I owned Laravel modules, tenancy, REST APIs, workflows, integrations (IMAP, Paperless, rate-sheet agent/OpenAI), Nova admin surfaces, migrations, and automated tests—while collaborating with frontend engineers on the Angular SPA. I also owned the rate-sheet agent repository that feeds AI-assisted extraction into the platform.
What I built
- Multi-tenant modular Laravel backend with central master data and per-tenant databases.
- REST APIs for CRM and freight flows: leads, customers, enquiries, quotations, bookings/shipments, and dashboards.
- Sanctum authentication with tenant resolution, team permissions, and admin impersonation.
- Integrated webmail with IMAP sync, compose/reply, and background sync jobs.
- Carrier rate-sheet ingestion/approval pipeline with AI-assisted extraction hooks — see Rate Sheet Agent.
- Durable enquiry/quote lifecycle workflows and document workflows via Paperless-ngx.
- Operator SPA surfaces (with the team) for dashboard, quoting, booking, and mail; Nova for central/tenant administration.
Stack
Laravel 11, PHP, Stancl Tenancy, Sanctum, Nova 5, Angular 19, Tailwind/Metronic, PostgreSQL multi-DB tenancy, Redis queues, Reverb, IMAP, Paperless-ngx, OpenAI, Scribe, PHPUnit.
Related
Also built the Rate Sheet Agent (carrier sheets → quoting JSON; in production, internal use) and the Enquiry Email Automation Agent — mailbox → CrewAI/OpenAI → Shipsoft create-enquiry (97% accuracy, ~10 min saved per enquiry).