The problem
Understanding AI usage and cost meant combining separate vendor consoles and exports. The data also needed to be useful to different audiences without giving everyone the same visibility into individual activity.
What I contributed
I designed the data model, access rules and privacy controls, directed the AI-assisted implementation, reviewed and tested the work, and maintain the service. I was the principal contributor; a colleague also made early changes.
What changed
The service combines usage and cost data from several AI platforms into a consistent view. Different roles see the information relevant to them, with names hidden where appropriate. Ambiguous account matches are left for review, and an independent spreadsheet cross-check helps detect changes in vendor data. Unused seats can be flagged for review.
What this illustrates
Reporting is useful when people can understand both what the data says and where it is uncertain. Access rules and reconciliation belong in the design from the start.
Technical detailReconciliation and privacy
Scheduled API collection feeds a normalised SQL model. Matching is conservative: uncertain identities are left unresolved rather than assigned to the wrong person. Validation and drift checks help catch changes in source data. Role-based views and pseudonyms limit visibility, and ad-hoc queries use a read-only guard.
