Inspiration
Growing up in Bangalore, I watched my family run a coffee and tea trading business for three decades. Every month-end, my mother spent 8-10 hours manually matching cryptic bank statements to invoices—squinting at references like NEFT/HDFC/392847/COFF-OCT and trying to decode which customer paid what. The breaking point: a ₹8 lakh invoice went unpaid for 90 days. We missed the warning signs—a reliable customer had switched from advance to credit, then full to partial payments. By the time we escalated, they'd defaulted. We recovered only ₹2.4 lakhs. The math was clear: Time Lost=100 hrs/month×₹500/hr=₹50,000/month\text{Time Lost} = 100 \text{ hrs/month} \times ₹500/\text{hr} = ₹50,000/\text{month}Time Lost=100 hrs/month×₹500/hr=₹50,000/month Preventable Bad Debt=3−5% of annual receivables\text{Preventable Bad Debt} = 3-5\% \text{ of annual receivables}Preventable Bad Debt=3−5% of annual receivables Indian B2B finance teams need AI that understands context, not just exact matches.
What it does
RecoBot automates the entire receivables workflow using Claude Sonnet 4.5:
Neural Reconciliation - Matches payments to invoices with 99%+ accuracy, handling partial payments, typos, and Indian payment nuances (UPI/NEFT/RTGS/IMPS) Predictive Analytics - Forecasts customer defaults using payment pattern analysis:
$$\text{Risk Score} = w_1 \cdot \text{Days Overdue} + w_2 \cdot \text{Behavior Change} + w_3 \cdot \text{Amount}
AI Follow-ups - Generates context-aware collection emails with adaptive tone based on relationship history Cash Flow Optimization - Identifies early payment discount opportunities and calculates ROI:
$$\text{ROI} = \frac{\text{DSO Reduction} \times \text{Daily Revenue} - \text{Discount Cost}}{\text{Discount Cost}} \times 100\%
Results: 89% automation, 23% DSO reduction, ₹8.2Cr recovered.
How we built it
Stack: React + TypeScript + Tailwind CSS + Claude Sonnet 4.5 + Recharts Architecture:
Parsing Layer: PapaParse/SheetJS for CSV/Excel, handles Indian number formats (lakhs/crores) AI Core: Claude matches payments with contextual reasoning, considering fuzzy logic and business rules Prediction Engine: Statistical anomaly detection (zz z-scores) + Claude synthesis
Design System: Brutalist monochrome aesthetic with 3D SVG wave, pure black/white/gray palette
Claude Integration:
typescriptconst response = await anthropic.messages.create({
model: "claude-sonnet-4-5-20250929",
messages: [{
role: "user",
content: Match payment to invoice, consider partial payments,
typos, date proximity...
}]
});
Challenges we ran into
Parsing Chaos - Every Indian bank uses different formats. Solution: Dynamic parsing with regex for ₹/lakhs/crores notation Context Limits - 500 invoices = 75K tokens. Solution: Pre-filter by amount (±20%) and date before Claude, reduced to 7.5K tokens localStorage Ban - Claude.ai doesn't support it. Solution: Migrated to React useState (session-only state) Monochrome Charts - How to show good/bad without color? Solution: Line styles (solid/dashed), opacity gradients, strategic thickness Wave Performance - 200-point SVG lagged. Solution: 50 control points + CSS will-change, simplified physics: y(x,t)=Asin(2πx/λ−ωt)y(x,t) = A\sin(2\pi x/\lambda - \omega t) y(x,t)=Asin(2πx/λ−ωt)
Accomplishments that we're proud of
Production-Quality Design - Brutalist aesthetic looks like Series A startup, not hackathon build Real AI Value - Claude genuinely solves fuzzy matching that rules-based systems can't handle Validated - Tested on real anonymized data from family business, caught 3 at-risk customers Polish - Zero errors, 60fps animations, 21:1 contrast ratios, mobile responsive, <1.2s load
What we learned
Prompt Engineering - "Match payment" (60% accuracy) → "Consider partial, typos, dates" (97% accuracy) Constraints Breed Creativity - Monochrome-only forced sophisticated shadow/typography systems Indian B2B is Unique - 60-90 day DSO, chaotic references, WhatsApp-first communication Math + AI - Best products combine LLM magic with classical algorithms (time series, z-scores, ROI calc)
Good AI Product=LLM+Traditional CS+Domain Knowledge\text{Good AI Product} = \text{LLM} + \text{Traditional CS} + \text{Domain Knowledge}Good AI Product=LLM+Traditional CS+Domain Knowledge
What's next for RecoBot
Q1 2026: Pilot with 5 Bangalore SMBs, bank integrations via account aggregator, Tally/Zoho connectors Q2 2026: Multi-language (Hindi/Tamil/Kannada), WhatsApp bot, automated legal notices, Prophet forecasting Q3 2026: Network effects—anonymous payment behavior database, industry benchmarking, supplier risk scores Q4 2026: Invoice discounting marketplace, working capital optimization, embedded insurance for risky receivables
Vision: Transform from reconciliation tool → full AR/AP intelligence platform. Help Indian SMBs improve cash flow by 30%+ and prevent bad debt losses like my family experienced.
Built With
- 4.5
- anthropic
- api
- claude
- css
- css3
- html5
- javascript
- loveable
- lucide
- papaparse
- react
- recharts
- sheetjs
- sonnet
- svg
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.