Writing
Engineering notes
Databases, background processing, integrations and reliability — written from systems I have built and operated.
No articles are published yet.
These pieces are in progress and will be published here first.
Synchronizing Identity Data with Keycloak
Keeping an identity provider aligned with a system of record as people join, move and leave.
Designing Idempotent APIs
Idempotency keys, natural keys and safe retries for payment and ingestion endpoints.
Designing Reliable Reconciliation Pipelines
Matching records across systems you do not control, and why a weeks-long process can often become minutes.
EF Core vs Dapper: Choosing the Right Tool
Using both in the same codebase — where each earns its place, and how to keep the boundary clear.
Building Reliable Background Services in .NET
Designing long-running workers that can be stopped, resumed and observed — lessons from generating payslips at scale.
Partitioning PostgreSQL Tables for Large Datasets
When declarative partitioning helps, when it does not, and how to introduce it to a table that is already large.