Inspiration
Bank statement extractors quietly get rows wrong, and nobody notices until the totals do not add up. But every statement already carries its own answer key: the running balance.
What it does
Ithamar checks every row of an Indian bank statement PDF against the statement's own running balance. A break is fixed only when exactly one explanation fits. A missing transaction is flagged for a person, never invented.
How I built it
A Python engine (pdfplumber) tested with Hypothesis property tests, and the same engine in TypeScript with pdf.js, so it runs in the browser and a statement never leaves the tab.
Accomplishments that I'm proud of
- On 24 generated statements with 39 injected errors: 0 rows wrongly marked proven
- Privacy by architecture: the browser version never uploads a statement
What's next
More bank formats, and scanned statements.
Built With
- hypothesis
- pdf.js
- pdfplumber
- python
- typescript
Log in or sign up for Devpost to join the conversation.