← All work

Nimpression Ops

Nimpression Ops runs dispatch, timesheets, payroll and compliance for a small New Zealand freight fleet, in C# on .NET 10 with an Angular front end. I rebuilt it from a system described in a university capstone report; it is not work for the company.

Full-stack systemC# · .NET 10 · ASP.NET Core · EF Core · PostgreSQL · AngularTry the live demo ↗︎Source on GitHub ↗︎
nimpression.a-dobe.club
Nimpression Ops live demo captured 23 October 2026: a seeded driver payslip showing earnings, PAYE, KiwiSaver and take-home pay, marked as a demonstration calculation.

The starting point

The report described the system well, but not how it should behave when things go wrong: a dropped realtime connection, a pay rule at the edge of the law, personal data that must be protected and later forgotten.

My contribution

A .NET 10 Minimal API in Clean Architecture layers, with CQRS through MediatR, EF Core on PostgreSQL and SignalR. Payroll compares hourly and per-trip pay and tops up to the minimum wage; personal fields are encrypted with AES-256-GCM; a transactional outbox commits domain events with their data.

A key decision

Let the realtime channel carry nothing that matters. A SignalR message only says what changed and the client refetches over HTTP, so a lost message costs one extra request, never a wrong record. Likewise fines and payslips share no key: NZ law bars taking a fine from wages without written consent, so the code cannot.

What came out of it

A public repository and a live demo with administrator, dispatcher and driver accounts. 683 xUnit test methods, the integration suite on real PostgreSQL via Testcontainers; CI passed on the deployed commit. The demo data is generated; the demo is a showcase, not a production service.

A conversation with Shaun’s AI

Ask about my work, or explore with /projects.