
A private B2B platform built by Mica Design for Cantaport — giving authorised shade system distributors a single place to browse stock, reserve product, place orders, and manage their account.
The Cantaport admin team manages inventory, orders, and distributor accounts from a separate dashboard — both portals live in one codebase, completely isolated from each other.
What this solves
Before this platform, distributors were calling or emailing Cantaport to check availability, placing orders by phone or PDF form, and waiting on the team for invoice copies — with no visibility into where their order was at.
The Trade Portal replaces all of that. Distributors self-serve from product discovery through to invoice download. The Cantaport team manages inventory, distributor accounts, and the full order pipeline from a dedicated admin dashboard — no shared systems, no crossed wires.
Distributor portal
Authorised distributors log in to a clean, purpose-built portal — no generic CRM, no shared spreadsheet. Every section is built around how a distributor actually interacts with a supplier.
Full product catalog across all five series — LJ, PJR, MSD, USN, and KWC — with series filtering, product images, specifications, pricing, and live stock status badges.
Distributors place a 7-day hold on any available product. A live countdown timer tracks the remaining hold time and the system prevents double-booking between concurrent distributors.
A dedicated view of all active holds. Distributors can release a reservation early or convert it directly to a confirmed order with a single action — no email or call needed.
Full order history with a 4-step progress tracker — processing → confirmed → invoiced → shipped — so distributors always know exactly where their order is at.
Itemised invoices with GST breakdowns, overdue flagging, and print-to-PDF. Invoice copies are available on demand — no waiting on the Cantaport team.
Company name, ABN, address, and contact details — all editable in one place, and automatically pulled into every invoice generated on the account.
Admin portal
The admin dashboard gives Cantaport full visibility across the entire operation — inventory, orders, distributor accounts, and revenue — from a single interface that distributors never see or access.
Live stats across active reservations, open orders, inventory levels, and revenue. Everything the Cantaport team needs at a glance before anything else.
Full product table with a click-to-edit modal for name, pricing, stock quantity, and availability status. Changes are reflected immediately across all active distributor sessions.
All distributor orders in one view with inline status advancement buttons. No separate system needed to move an order from confirmed through to shipped.
A live registry of every authorised distributor account — showing ABN, location, total order count, lifetime spend, and active reservation holds at a glance.
Platform
Every technology choice is deliberate — selected for long-term reliability and maintainability, not trend-chasing. The platform is built to grow with Cantaport's distributor network, with clear separation between frontend, backend, and data layers.
Security & access
A B2B platform handling commercial inventory and invoicing needs access controls that distributors can trust and admins can rely on. Security is enforced at the database level — not just in application code.
The distributor portal redirects unauthenticated requests to login before any page content renders — the middleware runs before every route, not just on protected components.
Supabase RLS policies enforce data access at the database level. Products, reservations, orders, invoices, and distributor records all have RLS policies — even with the API key, you only see what you're authorised to see.
The admin portal uses a separate cookie-based auth layer — entirely disconnected from Supabase Auth. A distributor session cannot cross-authenticate into the admin portal under any circumstances.
All privileged database operations — including inventory updates and distributor management — run through server actions only. The service role key is never exposed in client-side code or API responses.
Notable features
Several parts of this build required more than standard CRUD logic — here's what makes the platform worth noting beyond the feature list.
A custom Postgres function handles stock decrements and availability status transitions in a single transaction. Concurrent reservations can never oversell the same product — the database enforces it, not the application.
The 7-day hold timer counts down in real time on the distributor's screen. Urgency is visible without any server polling — making it clear when a reservation is about to expire and prompting action.
Invoice pages render cleanly to PDF via browser print. Navigation, sidebars, and UI chrome are hidden via print CSS — no separate PDF generation library, no third-party service, no formatting work.
The public marketing site, distributor portal, and admin portal all live in one Next.js project using route-group isolation. One deployment, zero duplication, full separation of concerns.
Working demo
Every screen in this platform is shaped around the real workflow of a shade system supplier — not a generic off-the-shelf solution. What you see below reflects the current state of the build.
Mobile App
A lightweight iPhone app designed for the Cantaport team — built for use in the warehouse, not at a desk. Scan products, process orders, and update stock levels on the go, with changes reflected instantly in the admin portal.
Point the camera at any product barcode to instantly pull up its inventory record, current stock level, active reservations, and pending orders — no manual lookup needed.
Tick off line items as they're picked and packed in the warehouse. Status updates sync immediately to the distributor's portal so they always know when their order is on its way.
Update quantities and availability status directly from the warehouse floor without going back to a desktop. Changes reflect across all active distributor sessions in real time.
The mobile companion app is part of Phase 2 of the Cantaport build — currently in scope and planned for delivery after the core web platform is complete.
Working prototype
Both the admin portal and the distributor-facing portal are live and fully functional. Use the credentials below to explore the full experience.
Full inventory management, order processing, distributor accounts, and the live dashboard. Use the demo account below to explore the admin experience.
Authorised distributors log in with their email to browse the catalog, place reservations, manage orders, and download invoices. Use one of the test accounts below to explore the distributor experience:
Want something like this?
If you have a workflow that's held together by email chains and spreadsheets, we'd like to hear about it. Get in touch and we'll take it from there.