Inspiration
I work as a tester in telecom data mediation. Every phone call creates a record (a CDR), and operators receive millions every day. One bad record means a customer billed twice or revenue lost, yet testers like me still check these files largely by hand. I wanted a tool that gives the verdict in seconds.
What it does
Upload a CDR file (or try the built-in samples). CDR Explainer gives an instant health score (green, orange, red), runs 5 checks (missing or malformed fields, duplicates, end before start, invalid duration, invalid phone numbers), and explains each failure as its billing impact, like “customers would be billed twice for the same call.” A filterable table shows the exact rows to fix.
How I built it
Plan first, with the Devpost Learn Skill Pack and Claude Code: scope, then PRD, then spec, then three small build slices, each tested before the next. Python, pandas and Streamlit. All checks are plain deterministic Python rules, not AI guesses, so results are reliable and repeatable. Samples are synthetic, with errors planted on purpose.
Challenges
Making the counts honest: one root problem must count in one check only (for example, an end-before-start row is not counted again as an invalid duration). And learning Streamlit’s rerun model, which was new to me.
Accomplishments
The sample file has exactly 51 planted errors, and the tool finds every one with the right count per type, and nothing else. 45 automated tests prove it, including a test that the committed samples never drift.
What I learned
Writing a measurable result in the plan, then turning it into a test, changes everything. The AI agent works much better when the decisions are written down first.
What’s next
A configurable schema: load each data flow’s spec from a file, so the tool adapts to any mediation flow instead of the built-in simplified voice CDR schema.