Custom manufacturing — laser cutting, CNC routing, 3D printing, molding, casting — mostly runs on phone calls, WhatsApp threads and a guy who "knows a guy." A client with a CAD file has no fast way to find a workshop that can actually make it, and a workshop with open machine time has no fast way to find that client.
FabriHub set out to be the marketplace in between: upload a file, get it made.
Instead of a request form, we designed the order around the file itself. A client doesn't describe what they need in a paragraph — they choose a process, attach the part file, and let a few spec fields do the rest. Providers, in turn, only see requests that match machines and categories they've actually listed on their own profile.
Everything sits on three connected surfaces sharing one system: a client marketplace, a provider console, and an admin operations layer that keeps the other two honest.


The category grid a client sees when placing an order — Laser Cutting, CNC Routing, 3D Printing, Molding, casting and more — is the marketplace's actual shape. Each tile maps to the machines and processes a provider has declared on their own profile, so a category isn't just a label, it's a filter.
A client doesn't write a spec in prose — they upload the part file and answer four fields: quantity, material, thickness, process. That file becomes the single source of truth a provider quotes against, not a paragraph someone has to re‑read three times.
Every order rides a status ladder that providers, clients and admins all watch: New → Quoted or Rejected — always with a reason, never a silent no — → In progress → Shipped. Confirmation is the moment a client hands the file over and that ladder starts moving.
Clients and providers share the same shell — same login screen, same visual language — then branch into completely different consoles: one places orders and compares suppliers, the other manages machines, quotes and an incoming queue of files. An admin layer sits above both.




FabriHub shipped as three connected products sharing one design system: the client marketplace for browsing, ordering and tracking; a provider console for managing machines, quotes and fulfillment; and an admin layer built for running the business, not just moderating it — near‑delivery and late‑job alerts, a manufacturing‑cost report comparing partner price to quoted price, and a top‑requested‑services view the team used to decide which categories to grow next.
Monetization lived inside the same design rather than bolted on afterward: a free listing tier next to paid Premium and "Golden Page" placements, unlocked by a verification ladder — business documents first, then a site audit and ISO record for shops that wanted the top slot.

Design the margin report like a product screen. The admin's manufacturing‑cost view — partner price versus quoted price — was the one screen the business actually ran on. It deserved the same care as the client‑facing order form, not a leftover spreadsheet export.
A rejection needs a reason. "Rejected" with no explanation just reads as the platform failing. Pairing every decline with a reason turned a dead end into information a client could act on.
Trust has to be visible, not just verified. A supplier passing document checks in the backend didn't help anyone until that status became a badge a client could actually see before they placed an order.