Inspiration
- Budget apps feel reactive: they describe yesterday, not tomorrow.
- Users juggle bank portals, spreadsheets, and manual categorization → low adherence.
- Capital One / modern fintech patterns show how intelligent, secure, real-time systems should behave.
- We asked: What if a personal finance tool behaved like a proactive co‑pilot—flagging drift early, predicting stress points, and coaching toward goals?
What it does
- Unified dashboard: live balances, categorized transactions, cash flow & forecast.
- AI/LLM powered transaction categorization with confidence scoring + fallback heuristics.
- Predictive budgeting: spend drift & savings trajectory projections.
- Anomaly & recommendation engine: surfaces overspend risk, unusual category spikes, and savings opportunities.
- Scenario sandbox: experiment with adjustments to savings or discretionary spend.
- Calendar integration: highlights upcoming recurring charges & predicted cash tension windows.
- Consistent data layer across pages (no mismatched balances or stale numbers).
- Built to evolve into a mobile-first push-driven companion (micro nudges & milestone alerts).
How we built it
- Frontend: Next.js 14 (App Router) + TypeScript + modular UI (shadcn/ui + custom chart components).
- Backend/Data: Supabase (Postgres, Auth, Row-Level Security) for secure multi-tenant storage.
- External Feed: Capital One Nessie API → normalized account + transaction tables.
- Edge Functions: ML inference (spend prediction, enrichment) + LLM prompt orchestration.
- AI Layer: GPT-3.5 for semantic categorization & narrative insight generation; lightweight statistical + rule hybrids for anomaly detection.
- Real-Time: Supabase channels for live updates (near-instant dashboard refresh).
- Utilities: Transaction normalization + formatting helpers to keep logic consistent across views.
- Dev Workflow: Rapid iteration focused on correctness (percentage metrics, unified balances) before adding new surface features.
Challenges we ran into
| Challenge | Why it Mattered | Resolution |
|---|---|---|
| Savings rate showing 9000% | Broke trust in metrics | Audited pipeline; removed double scaling; standardized thresholds |
| Divergent transaction sources (dashboard vs transactions page) | Inconsistent UI | Centralized fetch + normalization layer |
| Confidence variability in AI categorization | Noisy recommendations | Introduced confidence gating + fallback deterministic mapping |
| Forecast volatility on sparse mock data | Unstable user experience | Added smoothing, variance clamps, minimum window guards |
| Maintaining cross-page balance consistency | Visual & cognitive mismatch | Shared dashboard data fetch logic reused in all feature pages |
| Time constraints (hackathon) vs. architectural cleanliness | Risk of brittle code | Early utility abstraction + modular UI primitives |
Accomplishments that we're proud of
- Delivered a functioning end-to-end intelligent finance assistant (not a static mock).
- Blended semantic AI + lightweight ML forecasting in under hackathon time constraints.
- Established a secure, extensible architecture (RLS, edge functions, modular components).
- Rapidly fixed core trust issues (metric accuracy + consistency) mid-build without derailment.
- Built a future-facing roadmap (mobile-first evolution, predictive nudging) grounded in current architecture.
- Clear differentiation: forward-looking anomaly & drift insights rather than passive logging.
What we learned
- Trust is earned through consistent numbers—fixing data drift early multiplies user confidence.
- Hybrid AI (LLM + rules + statistics) hits a sweet spot for velocity + reliability.
- Normalization utilities pay compounding dividends when expanding feature surface.
- Forecasts without smoothing erode perceived intelligence—presentation matters.
- Designing for mobile engagement from day one influences data model decisions (event granularity, subscription patterns).
What's next for FinSight
Short-Term (Weeks):
- Add PWA manifest + offline cache for recent transactions.
- Push notification MVP (budget threshold, anomaly, savings milestone).
- Refactor shared transaction utilities across all pages (remove duplication fully).
Mid-Term (1–2 Months):
- React Native / Expo wrapper sharing core logic.
- Background sync + on-device secure token storage + biometric unlock.
- Adaptive notification throttling (engagement-aware cadence).
Long-Term (3–6 Months):
- Multi-bank aggregation (Plaid / open banking connectors).
- Goal engine: dynamic savings targets tuned by behavior clusters.
- Receipt OCR + reinforcement loop for category refinement.
- Financial health score (volatility, resilience, discretionary decay composite).
- Edge/federated mini-models for privacy-friendly personalization.
Built With
- nessie
- next.js
- openai
- postgresql
- python
- pytorch
- react
- supabase
- tailwind
- tensorflow
- typescript

Log in or sign up for Devpost to join the conversation.