Work

Backend
Case Studies

Production systems built at Vertex Special Technologies and Ureka Systems: permission models, document pipelines, financial reporting and device integration. Most are client-owned, so the code stays private. The architecture and the decisions do not.

Case studies

Written up in full: the problem, the constraints, what I decided and what it cost.

Vertex Special Technologies

Permission system securing every endpoint on the platform

Roles created at runtime, granted per module, feature and action across 325+ endpoints, with no policy registered at startup and no database query on the authorization path.

512
possible permissions
ASP.NET CoreAuthorizationEF CoreCaching
Read the case study

Vertex Special Technologies

Async document pipeline that never bills for work it did not do

OCR extraction handled by an external service that can be slow, silent or repeat itself, with live status pushed to everyone watching, credit reserved and settled against real page counts, and callbacks safe to receive twice.

.NETAWS S3SignalRMetered billing
Read the case study

Vertex Special Technologies

Replaced a manual HR export with an automated attendance sync

Ten days debugging a biometric device that stopped answering after every fingerprint scan, the decision to replace the hardware rather than keep fighting it, and the background worker that replaced it, syncing twice a day around the start and end of the working day.

35+
employees synced
.NETZKTeco SDKBackground workerHRMS
Read the case study

Vertex Special Technologies

Two-factor authentication that remembers trusted devices

A request fingerprint hashed from parsed user-agent fields and the network address, a three-month window measured from last use rather than enrolment, and a clear-eyed account of why a device fingerprint is a decision about how often to ask, not a second factor.

ASP.NET CoreTOTPDevice fingerprintingIdentity
Read the case study

Vertex Special Technologies

Four financial statements, four export formats

General Ledger, Trial Balance, Profit & Loss and Balance Sheet, each leaving as JSON, CSV, Excel or PDF from one pipeline: how an account hierarchy survives being flattened into formats that have no idea what nesting is, and what twelve near-duplicate renderers cost.

.NETPostgreSQLEPPlusReporting
Read the case study

Other work

Shipped and in use. Not yet written up at length.

2 projects

Vertex Special Technologies

Word-to-PDF conversion without paid libraries

A Node.js microservice running LibreOffice in Docker, shared across several .NET projects alongside a URL shortener.

Node.jsDockerLibreOfficeMicroservice

Ureka Systems

Event-driven services for an enterprise fintech platform

Distributed .NET microservices with Kafka and Rebus messaging over RabbitMQ, Redis caching, Keycloak identity, gRPC between services and YARP routing at the edge.

KafkaRabbitMQRedisgRPCYARPPolly