Skip to content
AS.

India —

Open to collaborations

← All departuresFlt 05 / [ 2026 ]

Recon

Personal project · Bank reconciliation for Indian businesses

Role
Solo — product, design and engineering
Year
2026
Type
Personal project
Status
Live
Links
Live app ↗GitHub ↗

01 / 08

Reconciliation summary: ₹5,07,400 of ₹9,61,621 received is matched
Review queue: a payment net of 10% TDS, with the reasons for the match
Unpaid invoices with aging and payment reminders
Matching a payment by hand, candidates ranked by fit
Recon landing: drop a bank statement and an invoice list
Recon on a phone: two inputs and sample data
Reconciliation summary on a phone
A review card on a phone

Drop a bank statement and an invoice list, and Recon matches every payment to its invoice — TDS deductions, bank charges, split and combined payments included — then shows what's still unpaid and drafts the reminder. It runs entirely in the browser.

(01)Problem

Small businesses reconcile by hand in Excel every month: ₹2,12,400 arrives against a ₹2,36,000 invoice (10% TDS), 'BRIGHTLOOP DSGN' is Brightloop Design LLP, one transfer settles two invoices. Accounting tools want a bank integration and a subscription before they'll even try.

(02)Approach

  1. 01Explainable scoring, not a black box: amount (exact, TDS rate, bank charges), invoice number in the narration, fuzzy party name and payment timing — every signal shown on the match.
  2. 02Conservative automation: only confident pairs with no close rival match on their own; an amount with no name or reference is capped below the review line.
  3. 03The awkward cases are first-class — one payment for several invoices, one invoice paid in parts, payments net of TDS.
  4. 04It learns from review: confirmed payers become aliases, rejected pairs are never suggested again, and progress is saved on the device.

(03)What I built

  • Readers for bank statements (CSV, Excel, PDF incl. password-protected) and invoice lists from Zoho Books, Tally, QuickBooks, Vyapar or any spreadsheet.
  • A matcher with Jaro-Winkler and abbreviation-aware name similarity, TDS detection at 1/2/5/10%, subset search for grouped and split payments, and rival detection.
  • A review queue with keyboard shortcuts, manual matching from either side with ranked candidates, and a 'what Recon learned' panel you can undo.
  • Unpaid view with receivables/payables aging, reminder text and WhatsApp share, plus CSV exports of the reconciled statement and open invoices.

(04)Results

sample matches made automatically; the 4 judgement calls go to review
9/13
false auto-matches on the planted ambiguous payment
0
automated tests: 31 engine and 66 browser
97
screen sizes audited for overflow and overlaps
17

(05)Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • GSAP + Lenis
  • pdf.js
  • SheetJS
  • Papa Parse
  • Vitest
  • Playwright
  • Vercel
Next flight · Flt 01Personal project · Trade-credit intelligence for the GulfTagMyCredit