Asterisk
Work

Web

Prime Steel CRM

Every tonne, every quote, one pipeline.

Client
Prime Steel
Services
Product design, Engineering
Platform
Web
Stack
Next.js 16 · Prisma · Auth.js

Company-wide pipeline in KES, deal stages, 12-month tonnage chart and the mail and calendar panels.

Prime Steel sells rebar, wire rod and structural sections to hardware stores, contractors and developers across Kenya. Sales ran on WhatsApp threads and spreadsheets — no single view of the pipeline, no visibility into which deals needed attention.

A CRM built for a steel mill: a pipeline in KES and tonnes, credit and balance tiles on every customer, five role-specific dashboards, and Gmail and Google Calendar pulled in so reps work from one tab instead of bouncing between apps.

roles, each with its own view
5
of deal history in the demo
3.5 yrs
workspace apps: Gmail & Calendar
2
money and tonnes on every screen
KES · t
Prime Steel CRM admin dashboard: active deals, open pipeline in KES, quotes out and tonnes dispatched this month, plus mail and calendar panels, the credit and dispatch queues, 12-month tonnage chart and follow-ups due.
Admin overview — pipeline value, tonnage chart, credit queue and the day's mail.
The Prime Steel CRM pipeline kanban: deal cards with customer type chip, Bulk tag at 100 t+, Overdue tag, tonnes, KES value, owner and close date. Drag-and-drop with dnd-kit.
Pipeline — every stage, value in KES, tonnes per deal, owner and close date on each card.

Mail & calendar

The deal, the inbox and the diary on one screen.

Reps live in Gmail and Google Calendar. Instead of asking them to copy notes across, the CRM brings both in — customer threads land on the dashboard, visits are booked from the customer page against the rep's real free/busy time.

CalGoogle Calendar@Gmail
Prime Steel CRM dashboard panels: today's calendar with stand-up and customer calls on the left, customer mail threads matched to accounts on the right.
On the dashboard — calendar beside customer mail, threads matched to their account.
Email compose panel addressed to a customer contact with a quote follow-up template and attach quote PDF option.
Email from the account — pick a contact, start from a template, attach the quote PDF.
Schedule meeting panel with a day picker, the rep's busy slots struck through, and an Add to Google Calendar button.
Book the site visit — busy slots from the rep's calendar, invite includes contacts and address.

Ink action bar

Email, Schedule meeting, Call and WhatsApp sit in a black pill at the top of every customer, used consistently across the whole app.

Logged automatically

Mail and meetings write to the customer's activity timeline, so the next rep picks up exactly where the last one stopped.

Status in the sidebar

A Connected group shows each app's sync state, so a rep can see at a glance whether their inbox and diary are live.

Status: the mail and calendar experience is fully designed and clickable. Google OAuth account connection is the next build step — every send or booking shows a Preview notice and nothing leaves the CRM.

Prime Steel CRM customer list: pill search, ink status filter, customer type chips and deal counts.
Customers — pill search, status filter, type chips.
A Prime Steel customer detail page: credit limit, outstanding balance, payment terms and open tonnage as tiles, with tasks and deals below.
Customer — credit limit, balance, terms and open deals at a glance.

Roles

One workspace, five points of view.

Permissions are enforced on the server with Zod, not just hidden in the UI. Reps see their own book; finance and dispatch each get the queue they act on first.

RepJames · on the team since 2023
Dashboard for James — a long-serving rep — showing three years of deals, follow-ups due today and his customers' mail.
Three years of his own deals, follow-ups due today and his customers' mail.
RepFaith · joined this year
Dashboard for Faith — a newer rep — showing a shorter history and a younger pipeline.
A shorter history and a younger pipeline: the data reflects when each person joined.
FinancePeter
Finance dashboard with credit approval queue: orders over a customer's credit headroom.
Orders over a customer's credit headroom wait here for a one-click Credit Review.
DispatchMoses
Dispatch dashboard with confirmed orders, tonnes loaded against ordered, ready to mark dispatched.
Confirmed orders with tonnes loaded against tonnes ordered, ready to mark dispatched.

On the road

Reps sell from their phones.

Most site visits happen away from a desk, so every screen works at phone width with a bottom tab bar, 44px touch targets and swipe-down sheets.

Prime Steel CRM mobile dashboard with stat tiles and a pipeline summary.
Mobile pipeline view with deal cards in a kanban and a bottom tab bar.
Mobile customer list with pill search and type chips.
Parchment#F2EEE7
Lavender#D8CCFA
Peach#FBCDB8
Mint#C9EBD8
Ink#16151A
Indigo#2F33B0
Prime Steel CRM sign-in page: the indigo-to-coral gradient brand panel on the left, an email and password form on the right.

Sign in — the brand panel uses the same indigo-to-coral gradient as the tonnage chart.

Decisions

Why it works this way.

From the Clarity dashboard

Warm canvas, pastel tiles

A warm parchment background replaces clinical grey. Headline numbers sit on lavender, peach, sky and mint tiles — each colour distinct enough to tell apart at a glance without coding data.

From Dynamics 365 and the check-in screen

Ink pill controls

Tabs, filters and the customer action bar all use a black pill with a white active state. One control type for one kind of action — the eye learns it once and reads the whole interface.

From the check-in screen

One gradient, one place

The 12-month tonnage chart is the only gradient in the app — indigo from the Prime Steel mark, warming through violet to coral. Bars are white pills. Every other chart uses a flat palette.

From Ehr.

Editorial type

Urbanist at weight 500 for page titles, tight letter-spacing, a small monospace eyebrow above. Tabular figures so KES and tonnes line up in columns without needing spacers.

127.2M KES · 565 t

Visual design

Type

Interface & display — Urbanist

Pipeline

Qualified · Proposal · Credit Review · Won

34 open deals · 127.2 M KES · 565 t

Labels & metadata — IBM Plex Mono

KES 4,320,000.00

120 t · Q2 2026

CREDIT · QUALIFIED · DISPATCH

Under the hood

Built to be trusted with customer data.

Stack

Next.js 16 App Router with server actions, Prisma 7 on PostgreSQL, Auth.js with five roles, Tailwind v4 tokens, Framer Motion, dnd-kit for the pipeline and Recharts for the tonnage chart.

Kenya Data Protection Act

Only what sales needs is stored. Admins can export or delete a contact's data on request, and both actions are audit-logged without copying the personal data into the log.

Server-side rules

Every action is validated with Zod and checked by role on the server — reps cannot edit prices or approve credit, whatever the UI shows. The frontend only reflects what the server enforces.

Next

Nuru

Donor reports from field data, without the spreadsheet in between.

Nuru’s demo programme: switching quarters on the overview, an indicator’s calculation, personal data columns and the donor report scrolling by.

Tell us what you’re building.

A 30-minute call is the quickest way to see if we’re the right fit. Or send us a message, whichever suits you.