Cross-platform Smart Card Platform
Hardware-to-browser integration without trapping data on the server
A secure cross-platform bridge between physical card readers and browser applications.
The work began with a physical failure: newer Belgian eID cards were arriving while the old reader client was increasingly brittle. I was the only engineer on the replacement, so the boundary between hardware protocol, desktop client, browser library, installer and release pipeline was mine to define.
Each layer got one job. C++ handled APDU commands and memory. C# owned reader state, certificates, SignalR and encryption. TypeScript gave websites a clean API and kept the visible experience inside the browser.
What I walked intoThe setup
A legacy client struggled with newer Belgian eID cards and a polling-heavy browser flow.
How I untangled itThe turning point
I designed the C++ hardware layer, C# bridge, SignalR transport, browser library, installers, certificate handling and signed CI/CD releases. Card data stays in memory and is handed off as a signed, encrypted payload.
What changedWhere it landed
Adopted by 1,500+ users across 3,000+ unique devices; build iteration fell from minutes to seconds.