Back to work
Ordering Portal2025NDA — client withheld

GearForge

Configure-to-order portal for custom safety gear

A safety-gear manufacturer was running its entire custom-order pipeline through one master PDF, refilled by hand for every order and emailed around manually. GearForge turned that into a calm, login-and-go portal: configure, click once, and the paperwork builds and sends itself.

RoleFull-stack design & build
Timeline2025
PlatformWeb portal · desktop
ClientUS firefighter & rescue helmet manufacturer
Next.jsTypeScriptTailwind CSSjsPDFpdf-libAxiosCookie Auth
01 — Discovery

Finding the real problem behind “just a form”

The client described what they needed as “a form on a website.” But before writing any code, I mapped how orders actually moved through the business day-to-day — not how they were supposed to. That’s where the real problem showed up: the form wasn’t feeding the system, the form had quietly become the system.

Every custom helmet order began life as a single master PDF. To place one, a person opened that PDF, manually typed in the distributor details, the helmet model and every spec, then the colors and quantities. They saved a copy, produced a receipt from the same numbers, and emailed it out — once to the distributor, once back to the company.

  • Watched the actual order-to-delivery flow, not the assumed one
  • Found the PDF was acting as data entry, record, and receipt all at once
  • Identified the manual email hand-off as a place orders quietly slipped
02 — Pain points

What the manual flow was quietly costing them

Once the flow was visible, the pain points were obvious — and they were daily, not occasional. The same distributor and authorizer details were re-typed on every single order. Nothing remembered “what we usually order,” so each order started from a blank page.

  • Repetition: identical distributor & authorizer data re-keyed every time
  • Error-prone: hand-typed specs on a compliance-critical safety product
  • Slow: open PDF → fill → save → build receipt → attach → email twice, per order
  • No memory: every order began from scratch, with zero pre-fill
  • Fragmented: configuration, receipt, and distribution were three manual hand-offs
03 — The spec maze

Untangling how the product actually configures

The hardest part was never the UI — it was the domain. Helmet configuration isn’t a flat list of fields. Helmet → type → model cascade, and each combination unlocks a different set of valid suspensions, eye protection, attachments, side panels and compliance rules. Pick the wrong path and you’ve quoted something that can’t legally be built.

I mapped every valid configuration path into a rules layer so the portal only ever offers legal combinations, and surfaces the right NFPA / OSHA compliance warnings at the exact moment a choice is made. Knowledge that used to live in one experienced person’s head is now encoded in the system.

04 — UI / UX design

Making a deeply technical order feel like a short form

The design goal was simple to say and hard to do: take a configuration with dozens of interdependent options and make it feel like filling in a small, friendly form. The interface stays clean and white on purpose — this is a tool people use all day, so low-friction beats flashy.

Distributor info is captured once at the top; below it sits the order builder. Fields appear only when they’re relevant to the chosen model, so users never face a wall of thirty dropdowns. Each configured helmet collapses into a summary card they can edit or remove before submitting.

  • Progressive disclosure — only the fields that matter to the chosen model appear
  • Add multiple helmet configurations to one order, each as an editable card
  • Auto-save of distributor, authorizer and repeat data — the next order starts pre-filled
  • Inline compliance cues (NFPA/OSHA notes, “verify your brim style”) right where you decide
05 — Build

Collapsing the whole chain into one button

The portal is a Next.js + TypeScript app behind a simple login, so only authorized distributors get in. A configuration engine drives the dynamic form from the rules layer, and drafts plus uploads are saved locally — a refresh or a long session never loses work.

Then the payoff: on submit, the system validates everything, assembles each configuration, generates the order and receipt PDFs in the browser, and emails them to the distributor with a copy to the company. The entire manual routine — fill, save, build receipt, attach, send twice — became a single click.

  • One submit → validated order + generated receipt PDFs + emails to both parties
  • Client-side draft persistence so in-progress orders and file uploads survive refreshes
  • Preview & success screens so users confirm exactly what’s going out
  • Cookie-based auth gating the portal to known distributors
06 — Outcome

From “retype the PDF” to “log in and submit”

The team went from opening a PDF and retyping everything to logging in, finding the usual details already there, configuring, and submitting. One click now does what used to be a multi-step manual routine: build the order, produce the receipt, and send both to the right people.

It’s not a giant system — and it didn’t need to be. It’s a focused tool that removed a real daily friction point and made a compliance-sensitive process meaningfully harder to get wrong.

// the result
1 clickConfig to emailed receipt
ZeroRe-typing repeat order data
Built inCompliance guardrails

Got a manual workflow worth automating?

This kind of focused, end-to-end tool is exactly what I like building. Let's talk about yours.