ai newsSo., 18. Okt.
EilmeldungDeepSeek Search API: $0.75 per 1,000 Calls vs Tavily's $8. Here's the Catch

CashNudge — AI-Powered Invoice Risk & Payment Follow-Up Assistant

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle CashNudge — AI-Powered Invoice Risk & Payment Follow-Up Assistant "Know the risk. Nudge the payment." What I Built The Freelancer's Cash-Flow Dilemma According to industry surveys from the Freelancers Union and

dev.toSonntag 20:05 · 18.10.7 Min. Lesezeit
Bild: dev.to

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

According to industry surveys from the Freelancers Union and independent workforce reports, nearly half of freelancer invoices experience late payments, and solo operators can spend dozens of unpaid hours each year chasing clients for money they have already earned.

Yet the biggest obstacle isn't accounting—it's emotional friction:

CashNudge is an AI-powered invoice risk estimation and payment follow-up assistant designed specifically for independent operators. It combines:

Monetization Model: At $15/month or $120/year, CashNudge pays for itself on day one by preventing a single delayed $3,000 invoice or saving 4 hours of agonizing follow-up drafting.

+-----------------------------------------------------------------------------------------+ | CASHNUDGE DASHBOARD | | | | [ Receivables Summary ] [ Risk Stratification ] [ Open Invoices Table ] | | - Outstanding: $42,000 - High Risk: $24,700 (58.8%) - INV-019 (High: 95.1%) | | - At-Risk: $28,600 - Medium Risk: $3,900 (9.3%) - INV-020 (Low: 6.1%) | | - Late Rate: 38.9% - Low Risk: $13,400 (31.9%) - [ Draft Follow-Up ] | +-----------------------------------------------------------------------------------------+ | v +-----------------------------------------------------------------------------------------+ | FOLLOW-UP COMPOSER DRAWER | | | | Tone Selector: [ Gentle Check-In ] [ Firm Balance Notice ] | | AI Engine: Google Gemma Open-Weight Model (Hosted / Ollama) | | | | Recipient Email: [ accounts@client.com ] | | Subject Line: [ Payment Follow-Up: Invoice #INV-019 ] | | Message Body: [ Dear Team, I hope you are having a productive week... ] | | | | Actions: [ Copy Message ] [ Copy Full Draft ] [ Email App ] [ Open in Gmail ] | +-----------------------------------------------------------------------------------------+ | v +-----------------------------------------------------------------------------------------+ | GMAIL DIRECT COMPOSE TAB | | | | To: accounts@client.com | | Subject: Payment Follow-Up: Invoice #INV-019 | | Body: Dear Team, I hope you are having a productive week... | | | | [ Send ] <-- Freelancer reviews and clicks Send with 100% human agency! | +-----------------------------------------------------------------------------------------+ Enter fullscreen mode Exit fullscreen mode Note on Benchmark Figures: The demo summary above reflects CashNudge's included synthetic benchmark dataset (18 historical invoices + 6 open invoices). Within this dataset, Invoice INV-2024-019 ($15,500) is evaluated by TabPFN at 95.1% late-payment risk, and INV-2024-020 ($6,800) is evaluated at 6.1% risk based on client payment history, terms length, and scope revision counts.

The complete source code is open-source under the MIT License:

Traditional machine learning algorithms like XGBoost, LightGBM, or Logistic Regression require hundreds or thousands of training records to discover patterns and tune hyperparameters. Freelancers typically possess only 10 to 30 past invoices.

CashNudge uses TabPFN (Prior-Data Fitted Network) by Prior Labs:

Language generation for financial communication requires extreme discipline. A hallucinated interest penalty or aggressive accusation can permanently destroy a six-figure client relationship.

CashNudge enforces three tiers of prompt guardrails in backend/prompt_builder.py:

Rather than sending emails through an impersonal, deliverability-plagued third-party SMTP server (which often lands in spam or looks like automated debt collection), CashNudge keeps the freelancer in complete control.

Using standard URL and URLSearchParams APIs in frontend/src/lib/email.ts, CashNudge builds a direct Gmail web compose URL:

export function buildGmailComposeUrl ( recipient: string, subject: string, body: string ): string { const url = new URL ( " https://mail.google.com/mail/?view=cm&fs=1 " ); url. searchParams. set ( " to ", recipient. trim ()); url. searchParams. set ( " su ", subject. trim ()); url. searchParams. set ( " body ", body ); return url. toString (); } Enter fullscreen mode Exit fullscreen mode Safely encodes all newlines, spaces, ampersands, punctuation, and currency symbols ( $, € ). Clicking Open in Gmail launches a new tab directly into Gmail's native Compose window with the recipient, subject, and message prefilled. The freelancer can review the text, make any final personal adjustments, and click Gmail's own Send button.

Built-in popup blocker detection provides an immediate fallback direct link ( Open Gmail Directly ↗ ) and a Retry action. Why Does Open Innovation Matter? Open innovation is not just an ideological preference—for CashNudge, it is the fundamental architectural requirement:

Freelancers frequently sign client Non-Disclosure Agreements (NDAs). Transmitting raw client names, billing rates, and project scopes to opaque, closed-source LLM APIs raises serious confidentiality concerns. In the deployed cloud configuration on Render, CashNudge enforces strict data minimization: client identifiers are stripped from TabPFN's numerical matrices, and only the minimal invoice facts needed for the draft (recipient, client name, invoice number, amount, days overdue) are transmitted to Gemma. Furthermore, because both TabPFN and Gemma are open-weight models, freelancers requiring total air-gapped privacy have the option to run Gemma locally via Ollama and TabPFN in local Python mode without sending any data over the public internet.

Closed commercial APIs frequently change underneath developers. A sudden change in system prompt or alignment fine-tuning can cause a closed LLM to switch from polite check-ins to overly aggressive demands. Open-weight models like Gemma 2b and Gemma 26b provide immutable, reproducible inference outputs that remain stable across versions.

Prior Labs' decision to publish TabPFN transformed tabular machine learning. Closed-source AutoML solutions (like Google Cloud Vertex or AWS SageMaker) are heavyweight, slow, and cost-prohibitive for a solo developer. Open research in Prior-Data Fitted Networks makes enterprise-grade tabular classification available in milliseconds on commodity infrastructure.

Proprietary closed APIs often charge usage fees that crush side-hustle margins. Open-weight intelligence enables a solo creator to run high-throughput inference at predictable, near-zero cost, democratizing access to financial tools that were previously the exclusive domain of large corporate treasuries.

This entire project was developed and refined using Google DeepMind's Antigravity IDE alongside specialized agent workflows:

Sarah completed a major web application deliverable for a venture-backed startup. The invoice for $4,800.00 was 14 days overdue on Net-30 terms. Sarah spent 45 minutes staring at her email draft, paralyzed by hesitation:

"I was terrified of sounding like a collection agency because the founder had mentioned discussing a Q1 retainer extension. I kept rewriting the email, deleting it, and doing nothing."

Sarah uploaded her 18-invoice ledger to CashNudge:

"If CashNudge saves me just one delayed payment a year or saves me an hour of stress every billing cycle, it's worth $20 a month without hesitation. I'd pay for an annual subscription today."

CashNudge was built specifically to compete in the three official partner categories of the Hacktoberfest Open-Source AI Challenge Week 2:

Render acts as the central application coordinator and cloud runtime for CashNudge, delivering maximum operational reliability at zero infrastructure cost.

+-----------------------------------------------------------------------------------------+ | RENDER GLOBAL CLOUD RUNTIME | | | | +-------------------------------------+ +------------------------------------------+ | | | Render Static Site (Global CDN) | | Render Web Service (Free Tier) | | | | Name: cashnudge-frontend | | Name: cashnudge-backend | | | | Runtime: static (Node 24 / Turbopack) | | Runtime: python 3.12+ (FastAPI/Uvicorn) | | | | Cost: $0.00/month (Free Tier) | | Cost: $0.00/month (Free Tier) | | | +-------------------------------------+ +------------------------------------------+ | | | | | +--------------------|---------------------------------------------|----------------------+ | | v v Instant Global Edge Assets In-Memory Data Minimization Zero Cold-Starts Worldwide Sliding-Window Rate Limiting Reverse-Proxy Header Protection TabPFN & Gemma Model Coordination Enter fullscreen mode Exit fullscreen mode Why Render is the Central AI Runtime: The Cost-Optimized Hybrid Architecture ($0.00/month): Frontend on Render Static Site ( runtime: static ): Served globally across Render's CDN edge with instant TTFB, unlimited bandwidth, and zero cold-starts at $0.00/month. Backend on Render Web Service (Free Tier): Containerized Python 3.12 environment with 512 MB RAM, automated TLS termination, and health check monitoring ( /health ). The service sleeps during prolonged inactivity to conserve resources, making it 100% free to operate for bootstrapped creators and indie developers.

Declarative Infrastructure with Render Blueprint: Both services are version-controlled and orchestrated via the repository's root render.yaml: services: - type: web name: cashnudge-backend runtime: python plan: free region: oregon buildCommand: pip install -r requirements.txt startCommand: uvicorn backend.main:app --host 0.0.0.0 --port $PORT healthCheckPath: /health - type: web name: cashnudge-frontend runtime: static rootDir: frontend buildCommand: npm install && npm run build staticPublishPath: out envVars: - key: NEXT_PUBLIC_API_BASE_URL sync: false Enter fullscreen mode Exit fullscreen mode Security & Reverse Proxy Defense: Render terminates TLS and forwards the client IP in the X-Forwarded-For header chain. CashNudge's custom sliding-window rate limiter ( backend/rate_limiter.py ) safely inspects the rightmost untrusted hop, protecting backend endpoints from spoofed headers without adding heavy external dependencies like Redis. Instant Scalability: Upgrading the backend from Free tier to 24/7 dedicated compute with persistent availability is a single-line configuration change ( plan: starter ) in render.yaml. 🏆 2.

Best Use of TabPFN CashNudge solves the fundamental machine learning limitation in freelance finance: the small-data cold start problem.

Financial follow-up requires absolute factual grounding. A single hallucinated late fee or hostile accusation can permanently damage a critical client relationship.

Built with passion for Hacktoberfest 2026. Know the risk. Nudge the payment.

Quelle: dev.to (dev.to). Original öffnen