Inspiration

Late payments are a quiet killer of small businesses. Contractors and vendors finish the work, send the invoice, and then wait 60 to 90 days while still having to pay their own staff and suppliers. I've seen this problem up close working in India's bill-discounting and working-capital space, where entire subcontractor businesses stall not because they lack work, but because they're owed money they can't access yet. Most invoicing tools just track what's owed. None of them connect "who's likely to pay late" to "how do I get paid anyway." That gap is where DueDrop started.

What it does

DueDrop is an invoice tracker that turns client payment behavior into cash flow you can act on.

Invoice tracking: log clients, amounts, and due dates, and see total outstanding, overdue, and upcoming payments in one dashboard. Client reliability score: every client gets a score based on their payment history, average delay, and percentage of invoices paid late. Smart reminders: one-click polite, firm, or final-notice messages, sent automatically as invoices age. AI invoice scan: upload a photo or PDF of an invoice, and the details autofill instead of being typed in by hand. Get Paid Early: the signature feature. For any unpaid invoice, DueDrop calculates a live early-payment offer, priced off the client's reliability score, so a good payer gets a low fee and a slow payer gets a higher one.

Tracking tells you what's owed. DueDrop tells you what it's worth today.

How we built it Frontend: React, built as a PWA so it installs straight to a phone with no app store needed, since most of our users work from their phones. Backend: Node.js and Express, exposing a REST API with multi-tenant data isolation from day one. Database: PostgreSQL via Supabase, with indexes on client, due date, and status to keep dashboard queries fast as invoice volume grows. Automation: a daily cron job scans for overdue invoices and queues reminders. AI layer: a vision model reads uploaded invoice images or PDFs and extracts client name, amount, and dates, with manual entry always available as a fallback. Scoring and offer engine: two separate service functions, deliberately decoupled, so the score can later become a proper ML model and the offer engine can plug into a real lending partner without touching the rest of the app.

We kept the core logic (score, offers, dashboard) as plain, explainable code rather than black-box AI, and used AI only where it removes real friction: reading invoices so users don't have to type them in.

Challenges we ran into Keeping AI optional, not load-bearing. We wanted the invoice scan to feel magical but never wanted a failed API call to block someone from logging an invoice, so manual entry had to work just as well as the AI path. Designing a fair scoring formula. A reliability score that's too harsh punishes clients for one late payment; one that's too lenient is useless to lenders. We settled on weighting average delay days alongside the percentage of invoices paid late, rather than either alone. Pricing the early-payment offer honestly. We're not a licensed lender, so the offer had to be clearly simulated while still feeling real enough to demonstrate the business model, which meant being upfront about what's live versus what's a roadmap item. Scope discipline. It was tempting to add a chatbot, ML risk prediction, and multi-language support. We cut all of it to keep the core loop, tracking, scoring, and the early-payment offer, working end to end. Accomplishments that we're proud of A complete working loop: add an invoice, watch the reliability score update, trigger a reminder, and get a live early-payment quote, all in one demo. A multi-tenant architecture built for real growth from the start, not retrofitted later. A business model that stands on its own, not just a feature list: a free tracking tier that funnels into paid financing. Keeping the product honest about what's simulated and what's a real roadmap, rather than overselling the demo. What we learned The best AI feature isn't the flashiest one, it's the one that removes the most tedious step in a repetitive task. A good score needs at least two signals (how late, how often) to feel fair, not just one. Judges and users both respond better to an honest "this part is simulated, here's how it becomes real" than to a feature that pretends to be fully built. What's next for DueDrop Partner with an NBFC or lending platform to turn the simulated early-payment offer into real disbursed cash. Pull invoice data directly from tools like Tally and Zoho Books instead of manual or scanned entry. Add a client-facing portal so the people who owe money can view and pay invoices directly, closing the loop on both sides. Build toward using payment-behavior data as a credit signal that lenders and suppliers would pay to access.

Built With

  • opencode
Share this project:

Updates

Submission history