Skip to content

New guideModernizing a legacy system without stopping the business

Manufacturing & Distribution · Case Study

MarbleMart CRM

One live view of stock, leads and quotations shared by sales, logistics and management.

Platform
Web
Business type
B2B
Scope
Sales and inventory CRM for a stone distributor
MarbleMart CRM: Sales and inventory CRM for a stone distributor

Impact

Sales, logistics and management now work from the same records.

Project overview

MarbleMart sells and distributes natural stone to builders, architects and retailers. Each slab is unique, expensive and physically stored in one of several locations. The business needed a single operating system for leads, stock, quotations and field sales instead of a chain of spreadsheets and phone calls.

The challenge

Stock lived in spreadsheets updated at different times by different people. Sales staff quoted slabs that had already been reserved, logistics had no structured view of what was promised to whom, and management could only see the pipeline by asking. Every mistake was costly because every slab is one of a kind.

The approach

We started with the reservation problem, because it caused the most expensive errors. We mapped the life of a single slab from arrival to delivery, identified who changes its state at each step, and designed the CRM around those state changes rather than around generic contact records.

The architecture

  • Next.js application with server-rendered dashboards for each role
  • PostgreSQL (via Supabase) as the single source of truth for stock, leads and quotations
  • Real-time database subscriptions so inventory changes appear on every open screen
  • Row-level security and role-based access for sales, logistics and administrators
  • Server-side PDF generation for quotations and invoices

The product

Sales staff get a pipeline of leads with assigned owners and follow-ups, an inventory browser with live availability, and a quotation builder that reserves slabs as it is issued. Logistics see what has been sold and what needs to move. Management gets dashboards across the whole operation.

Key features

  • Lead capture, assignment and follow-up tracking
  • Slab-level inventory with location and reservation status
  • Quotation builder that reserves stock on issue
  • Automated PDF quotations and invoices
  • Role-based dashboards for sales, logistics and administration
  • Document storage against customers and orders

UX decisions

  • Availability is shown as a status on every product row, so no one has to open a record to know if it can be sold.
  • Quotation creation happens in a single screen with stock search built in, because that is where most errors used to happen.
  • Dense tables for office staff; simplified cards on tablet for warehouse use.

Technology

  • Next.js
  • TypeScript
  • PostgreSQL
  • Supabase
  • Tailwind CSS

Deployment

Cloud-hosted web application with managed PostgreSQL, deployed through a Git-based pipeline with separate staging and production environments.

Outcome

Sales, logistics and management now work from the same records. Reservations are made in the system rather than by phone, quotations are produced from live stock, and the leadership team can see pipeline and inventory without asking for a report.

Need something
like MarbleMart CRM?

Tell us about the operation behind it. We'll reply within 24 hours.