Case Study
Highland Ordering Platform
Replaced an emailed spreadsheet ordering workflow with a production customer portal integrated directly with NetSuite.
Role: Project manager & lead developer · Highland Cabinetry Inc.
Problem
Customers submitted orders through emailed spreadsheets, which account managers manually reviewed and entered into NetSuite. The process created avoidable administrative work, slower handling, and more opportunities for data-entry mistakes.
Constraints
External users, internal system of record
400+ customer users needed to create and manage orders themselves, but the system of record is NetSuite. Order data had to land in the ERP cleanly — without account managers re-keying anything.
Approval had to be earned
Replacing a process the business ran on required stakeholder buy-in first. The prototype had to make the new workflow concrete enough to approve before full investment.
Replacing a live process
The emailed Excel workflow was actively handling real customer orders. The portal had to take over that volume as the primary ordering channel, not run as a side experiment.
Architecture
Frontend
A Next.js + TypeScript web application covering the full order lifecycle for external customers — creating orders, reviewing them, and managing them over time. The production app grew directly out of the approved prototype.
Backend
NetSuite SuiteScript services, deployed with SDF, handling order submission, customer order management, and workflow automation inside the ERP itself.
Integration & hosting
REST APIs connect the web application to NetSuite, with SQL for supporting data and Azure hosting the surrounding internal systems and operational dashboards.
Key decisions & tradeoffs
Prototype first, spec second
Instead of pitching the replacement on paper, I built a working Next.js recreation of the ordering workflow and used it to win stakeholder approval. The same codebase was then hardened into the production portal — no throwaway work, no gap between what was approved and what shipped.
Backend inside the ERP
Order logic lives in NetSuite as SuiteScript services rather than in a separate middleware layer. Order data lands directly in the system account managers already work in, so there is no sync layer to build, monitor, or reconcile.
Remove the re-keying, keep the oversight
The portal eliminated manual order entry, not the account managers. They continue to work orders in NetSuite as before — the difference is the data arrives structured and customer-entered instead of transcribed from emailed spreadsheets.
Outcome — First 6 Months in Production
The portal became the primary ordering channel for 400+ customers and processed $6.5M+ across 3,500+ orders in its first six months while eliminating an estimated 314 hours of manual order entry.
Code
The production code is proprietary to Highland Cabinetry. I'm happy to walk through the architecture, data model, and design decisions in as much depth as you'd like.