Practice
Five areas we work in.
Not a service catalogue, five kinds of problem we have stayed with long enough to know their usual breaking points. Each area is described the same way: how we look at it, what we have actually built, and what follows for an organisation. With named standards and numbers, because generalities carry no accountability.
- 01
Enterprise architecture
Architectural effort proportional to risk, the model in a repository, validation that returns an exit code, instead of documents that protect nobody from anything.
EA practice at a bank with 300+ IT staff and a core banking replacement · own toolchain: ArchiMate 3.2 validated against the Open Group XSD, dispensations with expiry dates
- 02
Business processes
Measured losses in the as-is process first, then automation with a state machine and an auditable trail. The other order encodes the faults in code.
Polish e-invoicing under FA(3) with whitelist checks and a JPK_V7M(3) generator · debt recovery filed with the e-court over SOAP · ISA-95 planning with a CP-SAT solver
- 03
Cybersecurity & identity
Trust boundaries drawn deliberately: isolation enforced in the database, an audit trail that cannot be overwritten, and a server that takes nothing on trust.
Custom Keycloak 26 SPI: EIP-191 with an anti-replay nonce, passkeys · row-level security and a hash-chained audit trail · SBOM and artifact signing in CI
- 04
Applied AI
The model proposes, deterministic code rules, a person approves what goes out, with a known unit cost and a trail behind every decision.
Six in-house MCP servers and a WhatsApp gateway for five applications · five verification layers · 2,827 photos from 7 markets → 26,864 observations
- 05
Software delivery
Systems built on the assumption that someone else will maintain them: a decision log with the rejected options, an environment reproducible from the repository, tests that actually exclude something.
Two backend ecosystems (Java 21/Quarkus, Python 3.12/FastAPI) · OPC UA and MQTT Sparkplug B on the plant floor · golden tests and property-based tests