Custom business systems

Built, Not Bought.

I design and build custom business systems — quoting, production, payments, and reporting engines shaped around how a specific company actually operates, instead of forcing them into generic off-the-shelf software.

Approach

Systems built to match the work, not the other way around

Off-the-shelf software makes a business bend to fit the tool. When a company's workflow is unusual enough — made-to-order manufacturing, multi-branch operations, non-standard pricing — that trade-off gets expensive. I build the system to fit the business instead: map the real workflow first, then design and build software around it.

Implementation is AI-assisted throughout — I direct the architecture, the business logic, and the verification, and increasingly that's how real systems get built. The part that doesn't change is judgment: what the rules should be, how the data should model the real world, and whether the result is actually correct. Both projects below include a concrete example of catching and correcting a material defect by checking the system against its own data — that discipline is the throughline.

01

Understand the workflow

Map how the business actually runs today — the pricing rules, the handoffs, the exceptions.

02

Design and build

Architect the data model and business rules, then build the system to match — directing implementation end to end.

03

Verify against reality

Cross-check the system's numbers against raw data. This is where real defects get caught before they cost money.

Selected work

Case studies

Novus

Custom manufacturing ERP · 2 locations

A bespoke operations platform for a made-to-order window-covering manufacturer — quote to production to install to cash, in one system.

The problem

Every order is custom-measured, so pricing, cut lists and fabric consumption were all re-derived by hand at each stage. Discounting had no enforced limits, installers worked from ad-hoc printouts, and payments were split across disconnected records — so "how much has this customer paid" had no single answer.

What was built

  • Live-pricing quote builder with enforced discount ceilings and per-profile cut logic
  • Production tracking from cut list through packing, tied to a single measurement record
  • Installer load-out views and a printable per-job field sheet
  • One unified payment ledger — every screen derives balance from a single source of truth
  • Multi-location reporting: revenue, conversion, commissions, tax basis

The catch

Cross-checking the reporting against raw data caught a revenue figure overstated by $17,211 (12%) from soft-deleted quotes being counted, and an earlier 39% inflation in collected revenue from deleted jobs. Separately, a public API exposure across 6 tables — including payroll — was found and closed, taking security advisories to zero.

By the numbers

7
user roles
2
branches
38
tables secured
13+
unit / integration tests

Stack

Node.jsExpressPostgreSQL Row-Level SecurityJWTPDFKit Vanilla JS SPA

Argus

Custom ERP · print & signage

A multi-role operations platform for a print and signage business — replacing handwritten quotes and a whiteboard job tracker with one role-scoped system.

The problem

Pricing in this trade stacks material rates, quantity breaks, discounts, overrides, minimums, rush fees and dual taxes on every line — done by hand, on paper, for every quote. That produced arithmetic errors, stale pricing, and no way to answer basic questions like which jobs were unpaid or how each rep was performing.

What was built / hardened

  • A single pricing engine handling four models (area, per-piece with tiers, fixed, labour), re-validated server-side on every save
  • Row-Level Security scoping each sales rep to their own customers at the database layer
  • A Stripe payments integration with database-enforced webhook idempotency
  • A customer-facing discount-visibility feature and a public payment page with no authenticated session
  • A full pricing and catalog integrity audit across the live system

The catch

The pricing audit found 47% of all discount value was invisible to reporting because manual overrides zero the recorded discount, 12 live quote lines pricing at $0 from unconfigured tiers, and one catalog entry that would have billed $129,800 instead of $236 for the same order — none of which were visible in the UI before the audit.

By the numbers

49
orders processed
484
quote line items
57
catalog products
4
pricing models

Stack

TypeScriptNext.js 16React 19 Supabase / PostgreSQLRow-Level Security StripeVercelVitest

More case studies in progress — this page is built to grow.

Toolset

Stack

Backend & data

Node.jsTypeScriptNext.js ExpressPostgreSQLSupabase Row-Level SecuritySQL migrations

Frontend

ReactVanilla JSTailwind CSS Design tokensResponsive / tablet UX

Integrations

StripeJWT AuthPDF generation Transactional emailWebhook idempotency

Practice

VitestData auditing Production reconciliationVercel
Get in touch

Have a workflow that doesn't fit off-the-shelf software?

If a process in your business is too specific, too custom, or too complex for a generic tool to handle well, that's the kind of problem I build for.