Inspiration

Gig workers are the fastest-growing segment of the American workforce — yet they are among the least financially protected. No employer safety net, no paid sick leave, no steady paycheck. When a car breaks down, a medical bill arrives, or a platform deactivates an account overnight, most gig workers have no plan and no buffer.

We built Crunch because the tools that exist — budgeting apps, financial advisors, credit trackers — were designed for salaried employees with predictable income. A gig worker's financial reality is fundamentally different. Their income swings wildly month to month, their expenses are tied directly to their ability to earn, and their risks are invisible until it's too late.

We wanted to build something that speaks their language: not "track your subscriptions" but "you have 19 days of runway — here's what to do today."


What it does

Crunch is an AI-powered financial survival dashboard built specifically for gig workers and variable income earners.

  • Onboarding via bank statements — Users upload up to a year of bank statements. Crunch uses Gemini AI to extract income trends, spending breakdowns, savings, and debt — categorized by month automatically.
  • Financial Health Score — A 0–100 score calculated from runway, income volatility, savings cushion, and insurance coverage, with actionable AI insights on how to improve it.
  • Cash Runway — Answers the most important question a gig worker can ask: "If my income stopped today, how long could I survive?" Calculated using the formula:

$$\text{Runway (days)} = \frac{\text{Savings}}{\text{Fixed Expenses} / 30}$$

  • Crisis Advisor — When a crisis hits (medical emergency, job loss, car breakdown), Crunch builds a personalized step-by-step response plan using the user's real financial data.
  • Spending Analysis — A month-by-month breakdown of where money is going, with a visual donut chart and category-level progress bars.
  • AI Coach — A conversational assistant that answers questions about the user's specific financial situation — runway, bill negotiation, financial aid, spending pressure — using their actual numbers, not generic advice.
  • Claim Guard — Upload an insurance EOB or medical bill and Crunch scans it for billing errors, incorrect denials, and overcharges, then generates a ready-to-send appeal letter.
  • Prepare tab — A preparedness score and this-week action plan tailored to the user's gaps: tax reserves, emergency fund, platform diversification, and insurance coverage.

How we built it

Frontend: React + TypeScript + Vite + Tailwind CSS + shadcn/ui components

AI: Google Gemini 2.5 Flash via direct API — used for bank statement extraction, crisis plan generation, conversational coaching, and EOB analysis

State management: React Context API with localStorage persistence — no backend required, everything runs client-side

Routing: React Router v7 with a protected layout that redirects unauthenticated users to onboarding

Charts: Recharts for the spending donut and progress bars

Audio: ElevenLabs API for text-to-speech in the AI Coach

Financial modeling: All scores and metrics are computed deterministically from user data:

$$\text{Health Score} = \min\left(\frac{\text{RunwayDays}}{90} \times 35 + \max\left(25 - V \times 25, 0\right) + \min\left(\frac{\text{Savings}}{\text{Expenses}} \times 20, 20\right) + I_{20}, \ 100\right)$$

Where $V$ is income volatility $= \frac{\text{High} - \text{Low}}{\text{Avg}}$ and $I_{20} = 20$ if insured, else $0$.


Challenges we ran into

  • Bank statement extraction accuracy — Getting Gemini to reliably extract savings balances without confusing checking and savings accounts required very precise prompt engineering. We had to explicitly instruct it to look only at "Ending Balance" on savings statements and never use checking balances.
  • Per-month spending history — Extracting a full year of monthly spending breakdowns from multi-document uploads in a single API call pushed the limits of what Gemini could return in one structured JSON response.
  • Preventing duplicate API requests — Since all AI calls happen client-side, rapid user interactions could trigger overlapping requests. We built a slot-based AbortController system that cancels any in-flight request for a given feature before starting a new one.
  • Merge conflicts and multi-branch development — Managing multiple concurrent feature branches without a backend caused several conflicts that had to be carefully resolved without losing either version's work.
  • API quota management — The free tier of Gemini 2.5 Flash has strict rate limits. We added quota detection that surfaces a clear user-facing banner instead of a silent failure when limits are hit.

Accomplishments that we're proud of

  • Built a fully functional, production-ready financial tool in a hackathon timeframe with zero backend infrastructure
  • Gemini-powered bank statement parsing that extracts 12 months of categorized spending data in a single API call
  • A financial health score model that is explainable, deterministic, and directly tied to actionable improvements
  • The Crisis Advisor generates a personalized, data-driven response plan — not generic tips — in seconds
  • Claim Guard can detect real billing errors in insurance documents and draft appeal letters citing federal law
  • The entire app works offline after first load and persists data in localStorage with no account required

What we learned

  • Prompt engineering for structured data extraction is an engineering discipline in itself — small wording changes produce dramatically different JSON outputs
  • Building financial tools for underserved populations requires deeply understanding their mental model, not just their data
  • Client-side AI apps are more viable than ever, but require thoughtful UX around loading states, error handling, and quota limits
  • The most important metric for a gig worker is not their balance — it's their runway

What's next for Crunch

  • Push notifications — Weekly runway alerts and "slow month incoming" warnings based on income trend detection
  • Tax estimation — Automatic quarterly self-employment tax calculations with a dedicated savings tracker
  • Platform integrations — Direct read access from Banks, Uber, DoorDash, and Upwork APIs to eliminate the need for manual statement uploads
  • Community benchmarks — Anonymous peer comparisons so users can see how their health score compares to gig workers in the same category
  • Backend + accounts — Encrypted cloud sync so users can access their data across devices without re-uploading statements
  • Multilingual support — Full UI localization for Spanish, Vietnamese, and Arabic — the three most common non-English languages among gig workers in the US

Built With

Share this project:

Updates