Cargosavvy
Cargosavvy - AI-Powered Freight RFQ And Pricing Operations Platform
Bitontree delivered a dedicated freight RFQ and pricing operations platform for Cargosavvy.
Cargosavvy - AI-Powered Freight RFQ And Pricing Operations Platform
About The Client
Cargosavvy is a logistics and freight forwarding business that handles customer shipment enquiries, vendor pricing, freight quotations, and operational follow-up across email-heavy workflows.
The client needed a system that could turn freight inbox activity into structured operational work: detect new RFQs, extract shipment requirements, contact vendors, compare pricing, prepare customer quotes, track follow-ups, and keep the operations team aligned from one interface.
| Project Detail | Information |
|---|---|
| Client | Cargosavvy |
| Industry | Logistics, Freight Forwarding, Freight Operations Automation |
| Location | .. |
| Duration | .. |
| Project Scope | Cargosavvy frontend, backend API, and mail-processing service |
| Services Used | AI Automation Development, Custom Software Development, Workflow Automation, Logistics Operations Platform Development, Cloud Engineering |
| Engagement | End-to-end product engineering across frontend, backend, and mail automation |
| Live Link | .. |
| Client Contact / Testimonial | .. |
The Objective
Cargosavvy wanted to reduce the manual work required to manage freight RFQs and pricing conversations across a busy shared mailbox.
The goal was not just to build a dashboard. The product needed to understand real email conversations, separate customer and vendor communication, extract shipment and pricing details, generate drafts, and give the pricing team a reliable workflow for turning inbound enquiries into quote-ready requests.
The platform needed to:
- Monitor the pricing mailbox and identify operationally relevant emails
- Extract customer RFQ details from unstructured email threads and attachments
- Preserve customer and vendor thread separation so replies go to the right party
- Create structured requests with shipment, cargo, origin, destination, and mode details
- Match RFQs against vendors, rate sheets, fixed charges, and pricing rules
- Extract vendor quotations and update request pricing data
- Send RFQ requests to selected vendors from one action while keeping each vendor communication separate
- Generate customer-facing quote emails from selected vendor pricing
- Provide a Gmail-like inbox and threaded conversation view for request-linked emails
- Support manual quote creation, drafts, approvals, replies, follow-ups, notifications, assignments, and audits
- Use a unique request ID as the reference point for emails, quotes, drafts, pricing, assignments, and history
- Give operations and pricing teams a single web interface for daily work
The Challenge
Freight pricing is highly communication-heavy. A single customer enquiry can involve incomplete shipment details, multiple vendors, revised rates, negotiated pricing, follow-up reminders, attachments, and several people touching the same request.
Before automation, this type of workflow usually lives across inboxes, spreadsheets, manual reminders, and copied email templates. That creates operational risk: teams can miss a vendor response, quote from stale information, confuse customer and vendor threads, or lose visibility into why a request moved to a certain status.
The key challenges included:
- Customer RFQs arrive as natural-language emails, often with missing or inconsistent details
- Vendor rates can appear in email bodies, PDFs, spreadsheets, or forwarded threads
- Freight modes and quote types vary across air, sea FCL, sea LCL, import, export, EXW, FOB, and multi-mode scenarios
- Customer and vendor communication must remain strictly separated to avoid leakage or wrong-party replies
- Vendor outreach needed to be fast, but each vendor still had to receive its own separate email context
- Operators needed an inbox experience close to familiar email tools, with full conversation history visible before replying
- Multiple team members needed clear ownership of each enquiry so the same work was not picked up twice
- Pricing teams need editable drafts rather than uncontrolled automatic sending
- Some quotes needed to be created manually inside the system when the team already had pricing context or needed to handle an exception
- Request status must reflect real backend and mailbox truth, not just frontend optimism
- Follow-ups, notifications, sent mail, and audit history must stay connected to the correct request
- A production system needs role-based access, structured logs, database-backed workflows, and cloud-ready deployment
Cargosavvy needed an operational product that could handle the messy parts of real freight email work while still keeping humans in control of commercial decisions.
Our Approach
Bitontree designed Cargosavvy as a three-part operations platform: a Next.js frontend for the pricing team, a FastAPI backend for request and pricing workflows, and a Python mail service for continuous inbox processing.
The system was built around a shared PostgreSQL data model for requests, emails, sent emails, customers, vendors, RFQ details, vendor pricing, customer pricing, negotiations, drafts, follow-ups, notifications, and audits.
Our approach focused on:
- Treating email as the operational source of truth
- Using AI where free-text interpretation is valuable, while keeping deterministic controls for sending, status changes, and approvals
- Separating backend business APIs from mailbox ingestion so pricing workflows could scale independently
- Preserving thread metadata, sent-mail history, and request linkage for auditability
- Building a practical UI around the real daily flow: inbox, RFQs, request details, vendor pricing, customer quotes, drafts, sent mail, assignments, analytics, and admin controls
Core Features Developed
AI-Powered Mail Intake And Thread Understanding
We built a dedicated mail-processing service that monitors the pricing mailbox, parses email content and headers, groups related messages into threads, and routes operational emails into the right workflow.
The service uses Gmail/IMAP processing, Gmail Pub/Sub support, message queueing, sent-mail sync, and LangGraph-based processing nodes to classify emails, extract intent, and decide whether a message is a new RFQ, an RFQ update, a vendor pricing response, a negotiation update, a customer confirmation, or an internal operational touch.
Customer RFQ Extraction
The platform extracts structured shipment data from customer enquiries.
Incoming emails are processed into RFQ records with details such as transport mode, origin, destination, cargo details, container or package information, customer identity, and request status. When details are missing or uncertain, the workflow keeps the request reviewable instead of silently treating the AI output as final.
Vendor Pricing Extraction And Updates
We built vendor-pricing workflows that read vendor responses and convert unstructured pricing details into structured records.
The system supports vendor quotation extraction, vendor pricing updates, negotiation analysis, request linkage, and comparison views so the pricing team can see the commercial options behind a customer quote.
One-Action Vendor Outreach
We built a vendor-selection and outreach workflow that lets the pricing team choose the relevant vendors and send RFQ requests from one action.
Behind the scenes, the system keeps vendor communication separated by vendor group so vendors do not see each other and each outbound email remains linked to the correct request, vendor, leg, attachments, and follow-up workflow.
The interface also warns users when a pricing request has already been sent to a selected vendor, helping reduce accidental duplicate outreach.
Rate Sheet, Fixed Charge, And Currency Support
The backend includes freight-rate and pricing data models for air freight, sea freight, sea LCL, fixed charges, rate sheet masters, vendor documents, and currency conversion.
This gives the quoting workflow a structured foundation instead of relying only on free-text emails.
Vendor Rate Sheet And Rate Comparison
We built vendor document and rate-sheet handling so the team can upload vendor rate cards, store documents securely, and keep extracted rate data connected to the vendor profile.
Rate sheets can be processed in the background, tracked independently, and used during RFQ work to compare available rates against the shipment requirement. This reduces the need to search through old files or manually re-check vendor rate documents during every quote.
Customer Quote Generation
We developed customer quote workflows that calculate margins, prepare customer-facing pricing, and generate quote emails from selected vendor pricing.
The backend includes prompt templates for air, ocean, LCL, import, export, EXW, FOB, multi-mode, and general quote scenarios, allowing generated emails to match the freight context while still passing through human review and edit controls.
The team can also create manual customer quotes directly from the system when a quote needs to be prepared from known pricing, special handling, or an exception path that should still remain connected to the request history.
Drafts, Review, And Controlled Sending
The system supports email drafts, request drafts, attachment uploads, reply flows, and review before sending.
This was important because freight quotes carry commercial risk. The platform accelerates drafting and data preparation, but keeps the final operational action visible and controllable.
AI Confidence And Human Review
AI-extracted RFQ and vendor-pricing data includes confidence and review metadata so uncertain records can be checked before they affect pricing decisions.
This gives the team speed without forcing blind trust in AI output. Straightforward emails can move faster, while ambiguous shipment details, pricing values, or update requests remain visible for human review.
Operations Console
We built a Next.js frontend for the pricing and operations team.
The console includes protected login, inbox, sent mail, drafts, compose, RFQ list, RFQ detail pages, vendor management, customer management, assignments, fixed charges, analytics, admin users, admin analytics, settings, logs, and attachment viewing.
The RFQ detail experience brings together shipment details, conversation thread, vendor pricing, customer pricing, activity, and operational controls in one place.
Gmail-Style Inbox And Threaded Replies
We built an inbox experience that lets users view request-linked email trails in one place, similar to how teams already think about Gmail conversations.
Users can open an email, view the full conversation history, jump back to the linked RFQ, and reply within the right customer or vendor thread. This keeps communication context attached to the request instead of spreading across separate inbox searches.
Unique Request ID Backbone
Every request receives a unique request ID that becomes the operating reference across the platform.
The request ID appears in vendor RFQ emails, quote templates, compose flows, inbox links, drafts, sent mail, follow-ups, notifications, and audit history, giving the team one consistent way to track the complete lifecycle of an enquiry.
Follow-Up, Notifications, And Audit History
The platform tracks follow-up tasks, unread notifications, activity logging, user audit records, email audits, sent email records, and request status transitions.
This gives the team better visibility into what happened, who acted, and what needs attention next.
Follow-Up Control And Reply Tracking
We built follow-up controls so users can pause, resume, skip, reschedule, send immediately, or mark follow-ups as replied.
This helps the team keep vendor and customer chasing organized without relying on personal reminders or manual spreadsheet trackers.
Assignment And Team Controls
We implemented assignment workflows so enquiries can be owned by the right user or team instead of being picked up informally from a shared queue.
This gives managers visibility into workload and helps operators avoid duplicate effort on the same customer request.
Role-Based Admin Controls
We implemented authentication, protected routes, user management, roles, teams, assignment rules, admin analytics, and audit logs.
This supports a controlled operational environment where pricing work can be assigned, monitored, and managed across users.
Ops Handover Workflow
We added an operations handover flow so quote and pricing work can move cleanly from the pricing team into the operational execution stage.
Users can create handovers, assign them, complete them, and loop operations into the relevant customer communication. This keeps the post-quote workflow connected to the same request instead of splitting execution details into separate email chains.
Analytics And Management Visibility
We built analytics views for request flow, quote turnaround, vendor response, margins, pricing trends, customer activity, email operations, and team workload.
Admin analytics add deeper management visibility into team performance, operational SLA, revenue pipeline, follow-up effectiveness, user activity, and AI extraction data quality.
Cloud-Ready File And Attachment Handling
The system includes attachment handling, vendor documents, email attachment storage, and Azure Blob Storage integration so freight documents can stay linked to the request workflow instead of being scattered across inbox downloads.
Reliable Mailbox Processing
The mail service supports both IMAP polling and Gmail Pub/Sub processing with queueing, retry handling, unread reconciliation, watch renewal, and operational alerts.
This makes mailbox automation more reliable in production and reduces the chance that an important customer or vendor message is missed during service restarts, provider delays, or temporary processing failures.
Technology Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js, React, TypeScript, Tailwind CSS, Radix UI, Shadcn-style components, TanStack Query, Zustand, Recharts, TipTap |
| Backend API | Python, FastAPI, Pydantic, SQLAlchemy, Alembic |
| Mail Service | Python, FastAPI, Gmail/IMAP processing, Gmail Pub/Sub, aiosmtplib, LangGraph |
| Database | PostgreSQL |
| AI / LLM | Google Gemini / Google GenAI, LangGraph, structured prompt templates |
| Gmail mailbox processing, IMAP, sent-mail sync, SMTP-style sending | |
| Storage | Azure Blob Storage |
| Authentication | JWT-based login, roles, protected routes |
| Deployment | Azure-ready Python services and Next.js frontend |
| Testing | pytest for Python services, TypeScript checks and linting for frontend |
Product Architecture
| System | Technology | Role |
|---|---|---|
| Cargosavvy Frontend | Next.js, React, TypeScript | Operations console for inbox, RFQs, drafts, quotes, vendors, customers, analytics, and admin workflows |
| Cargosavvy Backend | Python, FastAPI, PostgreSQL | Core API for requests, customers, vendors, pricing, quotes, assignments, notifications, audits, and sending workflows |
| Cargosavvy Mail Service | Python, FastAPI, LangGraph | Mailbox monitoring, email parsing, intent classification, RFQ extraction, vendor-pricing extraction, draft creation, and sent-mail sync |
The Result
Bitontree delivered a dedicated freight RFQ and pricing operations platform for Cargosavvy.
The system brings mailbox intake, AI extraction, structured request management, vendor pricing, customer quote preparation, controlled sending, follow-ups, and audit history into one workflow.
| Outcome | Result |
|---|---|
| Mail operations | Pricing mailbox activity converted into structured request workflows |
| RFQ handling | Customer enquiries extracted into searchable, editable RFQ records |
| Vendor outreach | Selected vendors can be contacted from one action while each vendor receives separate communication |
| Vendor pricing | Vendor replies processed into structured pricing and comparison data |
| Vendor rate management | Rate sheets and vendor documents stored, processed, and connected to quote workflows |
| Quote preparation | Customer-facing quote drafts generated from selected pricing and templates |
| Inbox experience | Request-linked email trails and replies handled from a familiar threaded view |
| Thread safety | Customer and vendor conversations kept separate across reply and thread flows |
| Request tracking | Unique request IDs tie emails, drafts, quotes, pricing, follow-ups, and audit history together |
| Team workflow | Clear request ownership, drafts, follow-ups, notifications, ops handover, and audit history connected to each request |
| Manual quoting | Pricing teams can create customer quotes inside the platform while keeping them linked to the request |
| Management visibility | Analytics cover turnaround, vendor response, margin, workload, SLA, and follow-up effectiveness |
| Mail reliability | Gmail/IMAP processing supported by queues, retries, reconciliation, and operational alerts |
| Platform foundation | Three-service architecture across frontend, backend API, and mail automation |
Business Impact
The platform gives Cargosavvy a stronger operating system for freight pricing work.
Instead of relying on manual inbox tracking and disconnected spreadsheets, the team can manage pricing work through a structured workflow where emails, requests, vendor rates, customer quotes, follow-ups, and audits stay linked.
The final solution helped Cargosavvy:
- Reduce manual effort in reading and structuring customer RFQs
- Improve visibility across customer enquiries, vendor responses, and quote status
- Reduce RFQ turnaround time by letting users contact selected vendors from one workflow instead of preparing separate manual emails
- Improve pricing accuracy and speed by keeping vendor rate sheets, fixed charges, currency conversion, and rate comparison inside the quoting workflow
- Prepare customer quotes faster using request-linked vendor pricing
- Create manual quotes inside the same workflow when special cases require human pricing input
- Reply from request-linked email threads so customer and vendor context stays visible during communication
- Assign enquiries to the right team members and reduce duplicate handling of the same request
- Keep follow-ups controlled with pause, resume, skip, reschedule, send-now, and mark-replied actions
- Move won or ready-to-execute work into operations through a connected handover flow
- Keep high-risk customer and vendor communication separated
- Preserve a traceable history of sent emails, drafts, notifications, and request changes
- Give managers clearer visibility into assignments, analytics, and operational workload
- Surface quote turnaround, vendor response, margin, SLA, follow-up effectiveness, and AI extraction quality for management review
- Reduce missed-mail risk through resilient mailbox processing, queue recovery, unread reconciliation, and operational alerts
- Build a scalable foundation for future freight automation and AI-assisted pricing workflows
Key Engineering Problems We Solved
Turning Email Threads Into Reliable Workflow Data
Email is flexible, but operations software needs structure. We built parsing, thread tracking, request linkage, and AI classification so inbound messages could become operational records without losing the context of the original conversation.
Keeping Customer And Vendor Communication Separate
Freight pricing workflows involve different parties with different information rights. We designed the system around strict customer/vendor separation in thread handling, reply flows, sent-mail records, and request attribution.
Sending Vendor RFQs Faster Without Mixing Recipients
The system lets users send pricing requests to selected vendors in one workflow, while the backend still creates separate vendor-group sends and request-linked sent-mail records. This improved speed without compromising confidentiality between vendors.
Making The Request ID The Operational Anchor
We used the request ID as the common reference across inbox views, email subjects, vendor templates, drafts, follow-ups, pricing, and audit trails. This made it easier for the team to find the full context of a shipment enquiry without relying on scattered inbox searches.
Managing Vendor Rate Data As A Reusable Asset
Vendor rates often live in files, emails, and old attachments. We built document upload, rate-sheet tracking, background extraction, and rate comparison so pricing data could be reused during RFQ work instead of being rediscovered manually each time.
Keeping Follow-Ups And Handovers Inside The Request
Freight workflows do not end when an email is sent. We connected follow-up controls and operations handover to the same request so the team can chase replies, track next actions, and move work into execution without losing context.
Making Mail Automation Production-Ready
The mailbox layer needed to tolerate real-world failure modes. We added queueing, retry handling, unread reconciliation, watch renewal, and operational alerts so email intake could recover from interruptions and keep the workflow moving.
Combining AI With Human Review
The product uses AI for extraction, classification, negotiation analysis, and draft generation, but keeps pricing, sending, and final quote decisions under user control. This balance lets the team move faster without turning sensitive commercial communication into a black box.
Supporting Freight-Specific Pricing Complexity
Freight quotes are not one-size-fits-all. The backend supports different transport modes, fixed charges, rate sheets, vendor pricing, margin calculation, currency conversion, and customer quote templates for multiple shipment scenarios.
Building Across Three Production Services
The system required coordination across the frontend, backend API, and mail service. We built clear service boundaries so the mailbox processor could handle intake and extraction, the backend could own business state, and the frontend could provide a focused operating console.
Development Timeline
| Phase | Deliverables |
|---|---|
| Phase 1 | Backend data model, authentication, core request/customer/vendor APIs, PostgreSQL setup |
| Phase 2 | Mail service foundation, IMAP/Gmail processing, thread extraction, RFQ intent classification |
| Phase 3 | AI RFQ extraction, vendor pricing extraction, request status workflows, drafts, and sent-mail sync |
| Phase 4 | Next.js operations console for inbox, RFQs, request details, vendors, customers, drafts, and sent mail |
| Phase 5 | Vendor bulk outreach, customer quote generation, manual quote creation, margin workflows, rate sheets, rate comparison, fixed charges, follow-ups, notifications, assignments, and analytics |
| Phase 6 | Ops handover, admin controls, audit history, attachment/blob handling, mailbox reliability, release hardening, and deployment support |
Why This Project Stands Out
Cargosavvy needed more than a generic CRM or an AI email summarizer. Freight pricing has its own operational rules: messy RFQs, vendor negotiations, commercial quote preparation, rate sheets, attachments, customer/vendor separation, and status visibility.
Bitontree built Cargosavvy around that real workflow. The result is a freight operations platform where AI helps structure and accelerate the work, while the business keeps control over pricing decisions, customer communication, and operational accountability.