Argonaut CRM

An internal CRM for Argonaut that runs the quote and RFQ workflows behind multi-million-dollar pipelines: registrations, supplier and consultant tracking, and dashboards for quotation value across won, lost, and pending.

Role
Design and engineering
Period
2025
Stack
Node.js, Postgres, Prisma, TypeScript, Next.js, React, Tailwind, Figma

Context#

Argonaut's commercial process runs on quotes. An RFQ goes out to suppliers, equipment gets specced, a price comes back, and a number goes out to the client with consultants and contractors tracked as counterparties alongside it. Before the CRM, that lifecycle lived across spreadsheets and inboxes, which is workable right up until someone needs to answer a question about a quote nobody remembers.

I designed and built the system the team now uses every day to run that pipeline.

Modeling a noisy, relational process#

The core design problem is that quote data is inherently relational and inherently messy. Many parties touch a single quote over its life: the client, one or more suppliers, a consultant, an internal owner. Any of them can change mid-flight, and the same supplier shows up across hundreds of unrelated quotes.

Modeling that properly in the database is the easy half. The hard half is making it legible in the interface without burying an operator in a hundred fields. The resolution was to make the quote the spine and treat every other party as a relationship hung off it, surfaced only at the point in the flow where it becomes relevant.

Registrations and supplier tracking#

In this industry, being registered with a client and having a supplier relationship approved are gates that sit upstream of any quote. The CRM tracks both as first-class records, so the team can see which opportunities are actually reachable rather than discovering a blocker after the specification work is done.

Pipeline dashboards#

Dashboards aggregate quotation value across won, lost, and pending. The metric that matters to management is not the count of quotes but the value distribution and where it stalls, so the reporting is built as a projection over the quote lifecycle rather than a set of manually maintained totals.