Software

Pricing and Inventory Control

A local-first pricing and inventory control application with a Windows desktop surface and a browser surface. It compares an untouched supplier export against the current ServiceM8 materials list, applies the confirmed 30 percent markup on GST-exclusive cost, and produces an operator-reviewed import CSV in ServiceM8's exact format, with change, exception, rollback and audit reports.

Client software with automated verificationCase study 4 of 10

Workflow diagram connecting supplier exports, exact pricing rules, operator review and a ServiceM8 import with exception and recovery reports.
Engineering diagramFull-size image ↗

The challenge

A trade services client reprices its ServiceM8 materials catalogue from supplier price exports. Doing that by spreadsheet risks damaged item numbers and barcodes, an inconsistent markup and unreviewed price changes reaching the job system.

How the system works

A shared React and TypeScript interface over pure domain modules for money, pricing, comparison, mapping and output. A typed platform adapter selects the backend: scoped Tauri commands with bundled SQLite on the Rust desktop build, a loopback Node server for local web use, and a session-only store for the static demonstration.

Design decisions

  1. Matching is deterministic and fail-closed: exact normalised code, then operator-approved alias, then description similarity as a suggestion only. Items missing from a supplier file are never deleted, and money is never binary floating point.
  2. Imported business rows stay in memory and are never persisted; repository checks and CI enforce a no-production-data and no-secrets rule on every change.

What the evidence shows

More than 500 automated checks: Vitest unit and property-based tests, Playwright browser tests with axe accessibility runs, WebdriverIO tests against the installed desktop app and Rust unit tests, including a byte-for-byte round trip of the ServiceM8 CSV contract. Typecheck, lint, tests and packaging run in CI.

Engineering case study

Go deeper into the design choices, tests and lessons from the project.

Read the Pricing and Inventory Control case study

Contact

Let's make the next system work.

Discuss an engineering role, a project or a research collaboration. Tell me what you are building, where it gets difficult and what a useful result would look like.

  1. Send the formIt is sent from this page, without publishing my email address.
  2. I reply to youTo the address you give, with questions or a next step.
  3. Project work starts with DefineA short, fixed-fee phase that sets the scope and the tests.

0 of 4000 characters

Sent from this page, so my email address is never published.