tristanfaure.com /projects / qos-hub
QoS Hub
Multi-country incident-analysis platform — Axian Digital & Fintech
2026 · LIVE
Stack
Python · FastAPI · pandas · PostgreSQL · Docker · Kubernetes · oauth2-proxy · Entra ID · nginx · RHEL
Key figures
- Incidents
- 22,451 unified
- Countries
- MG / TZ / TG
- Tests
- 129 automated
- Access
- 3 layers, negative-tested
Three Axian subsidiaries delivered their incidents in three different formats, analyzed by hand in spreadsheets. Built during a summer internship at Axian (Digital & Fintech), QoS Hub turned that analysis chain into a shared platform: exports uploaded through the UI, asynchronous processing, one dashboard over 22,451 tickets.
The structuring choice: ask nothing persistent from the cluster. Raw exports, produced files and the published dashboard live in the database, and every container rebuilds what it needs at startup. Verified by wiping the whole disk — the platform came back identical.
The hardest part was not the code but the data: a cp1252 export dated in UTC+3, another with durations in seconds and no resolution date, a hand-kept register without identifiers where inserting an old row renumbers everything. Every deviation is documented and owned rather than masked — out-of-scope tickets are flagged, never deleted, and every dashboard figure opens onto the ticket IDs behind it.
Access: three independent layers, each proven by a real negative test — an account outside the tenant rejected by Microsoft, an employee outside the group rejected by the proxy, per-country scoping enforced server-side. The application itself has no login screen and stores no password: it is handed an identity by the proxy, read in a single file, so the whole sign-in mechanism can be swapped without touching anything else.
Went live after three days of coordination with four teams in three countries — including a network diagnosis that required proving, packet capture in hand, that the blockage did not come from our servers.
Links
- Architecture note
- Source is private — access on request, via the contact details.
All 33 projects · Open the interactive portfolio · About Tristan