Inspiration
Inspired by real-life frustration of managing over 400 sim cards. Telecom invoices arrive on a predictable monthly schedule, but the reference data required to allocate them does not. Employees move between cost centres, numbers change ownership, and SIM cards are replaced while the phone number remains the same. I wanted to build a tool that could reconcile those changes without turning a language model into an unreliable calculator.
What it does
ChargeSift validates two consecutive telecom invoice exports against an effective-dated phone assignment register and a dated cost-centre catalogue. It aggregates charges, compares billing periods and identifies records requiring manual review, including unknown numbers, inactive assignments, duplicate invoice rows, significant increases and cost-centre changes.
It generates structured JSON, review CSV files, a Markdown audit report and a self-contained HTML dashboard.
How we built it
ChargeSift is a repository-scoped Codex skill backed by deterministic Python. Mobile Number is the primary identity key, while ICCID is used only as a secondary validation field. Python performs all monetary calculations, assignment matching, comparisons, thresholds and anomaly detection.
GPT-5.6 runs inside Codex and receives only the deterministic reconciliation results. It explains existing anomalies, prioritizes the review queue and proposes non-destructive manual actions. The project does not require a runtime OpenAI API key, database or backend service.
Challenges we ran into
The hardest part was preserving auditability while still making meaningful use of GPT-5.6. The solution was a strict findings contract: GPT can explain only anomaly IDs already generated by Python and cannot introduce new amounts, anomalies or financial decisions.
Accomplishments that we're proud of
ChargeSift now validates its inputs, compares consecutive months, respects effective-dated assignments, produces reproducible reports and exposes a concise manual-review queue. The public demo uses synthetic data and works without network requests.
What we learned
- I learned that I really like using Codex! I will definitely be using it again.
- the correct identity key is not always the most technical one. A SIM card can be replaced, damaged, or converted to an eSIM, while the phone number remains the stable business identifier
- ordinary contractual discounts had to be separated from genuine refunds or corrections so that the review queue stayed meaningful.
- building ChargeSift as a Codex skill rather than a conventional AI web app made the architecture simpler and more auditable. It removed the need for a runtime API key, backend, database, or network calls while still allowing GPT-5.6 to add useful interpretation after the deterministic reconciliation was complete.
What's next for ChargeSift
Future versions could support additional provider schemas, longer historical comparisons, configurable business rules and controlled export integrations while preserving the same deterministic trust model.
Built With
- amazon-web-services
- amplify
- codex
- css
- gpt-5.6
- html
- javascript
- pytest
- python
Log in or sign up for Devpost to join the conversation.