Browser + HTMX
Native forms and server-returned HTML, with very little long-lived client state.
Engineering case study · Azure · 2026
I designed and built a serverless pre-registration platform with Azure Functions, Table Storage, Key Vault, HTMX and TypeScript. The goal was not to reproduce an existing ticketing system, but to test whether a narrower registration problem could be made simpler, safer and easier to scale.
The public Amsterdam 750 ticket release showed a familiar failure mode: large numbers of visitors waiting for access to a scarce downstream process. I used that situation as a starting point for a smaller engineering question.
What if pre-registration itself were a short, stateless operation? Instead of keeping a browser tied to a long-running queue, capture intent quickly, protect the data immediately, and move follow-up work out of the request path.
This case study deliberately isolates that registration problem. It is not a claim that the complete original ticketing chain can be replaced by this architecture.
Native forms and server-returned HTML, with very little long-lived client state.
Validation, anti-abuse checks, normalization and registration handling.
Encrypted records, hashed uniqueness controls and optimistic concurrency.
Key-encryption operations are separated from the data itself.
Invitations and follow-up work are processed independently from the initial request.
Stored PII is encrypted with AES-256-GCM before it reaches storage.
Each data-encryption key is wrapped with a Key Encryption Key held in Azure Key Vault.
Public registration and privileged administration/decryption responsibilities are split.
Rate limits, anti-abuse controls, hashed uniqueness locks, RBAC, monitoring and data minimisation reduce impact when one layer fails.
| Metric | Published result |
|---|---|
| Virtual users | 250 |
| Test duration | 5 minutes |
| Successful registration POSTs | 126,124 |
| Failed HTTP registration requests | 0 |
| Calculated throughput | 420.57 req/s |
| p95 response time | 634 ms |
The source repository contains the public and admin Function Apps, the HTMX frontend, shared security code, tests and Bicep infrastructure source. It was exported without private Git history, local settings, production drift files or operational credentials.