Inspiration
Over 32 million shared households globally endure the same monthly friction: bills pile up, someone spends hours in Excel calculating room-size splits, and someone has to endure the awkward social chore of repeatedly begging friends for money over WhatsApp.
Splitwise solves the math, but leaves 100% of the friction to humans. It is a passive ledger that waits for someone to manually enter numbers and tap "remind."
We asked a fundamental question:
Why should humans do manual data entry and social nagging in 2026?
We built RoomieOps AI to turn a passive spreadsheet into an autonomous, unattended financial ops agent that handles the entire roommate expense lifecycle end-to-end.
What it does
RoomieOps AI is a zero-touch autonomous background agent built on Google Cloud that takes real-world action:
- 📸 Multimodal Receipt Ingestion: Drop a photo or PDF of any messy utility bill or grocery receipt. Gemini Multimodal Vision extracts vendors, line items, taxes, and totals in seconds with zero manual typing.
- 📐 Dynamic Split Mathematics: Automatically applies household split rules (Room Square-Footage, Equal, Custom %, Itemized exclusions) with strict mathematical penny conservation.
- ⚡ One-Tap UPI Deep Links: Automatically generates pre-filled
upi://paymobile links and scannable QR codes for instant 1-tap settlement across GPay, PhonePe, and Paytm. - ⏰ Autonomous 4-Stage Escalation Engine: Runs unattended via Google Cloud Scheduler & Pub/Sub, monitoring payment deadlines and adapting follow-up communication tones across 4 stages (
Stage 1: Friendly Notice→Stage 2: Gentle Nudge→Stage 3: Firm Deadline→Stage 4: Overdue Group Flag). - 🔄 Greedy Min-Cash-Flow Debt Simplification: Graph-theory engine that mathematically compresses $N$ tangled mutual IOUs into at most $N-1$ optimal settlement transactions.
- 🧠 Behavioral Memory Bank: Tracks roommate payment velocity in Google Cloud Firestore, awarding habit badges (
⚡ Rapid Settler,⚠️ Chronic Late Payer).
🥊 Feature Comparison: RoomieOps vs. Splitwise
| Dimension | Splitwise / Traditional Apps | RoomieOps AI |
|---|---|---|
| Data Ingestion | ❌ Manual typing of line items & amounts | ✅ Gemini 2.5 Multimodal Vision |
| Follow-up Friction | ❌ 100% manual nagging by humans | ✅ Autonomous Cloud Scheduler Escalation |
| Payment Workflow | ❌ Disconnected manual transfers | ✅ One-Tap Pre-filled upi://pay Links & QR |
| Debt Optimization | ⚠️ Basic or behind paywalls | ✅ Mathematical Min-Cash-Flow Graph Solver |
| Execution Model | ❌ Passive Human-Input Ledger | ✅ Autonomous "Taskmaster" Agent |
How we built it
RoomieOps AI is engineered with a decoupled 3-Layer Production Architecture:
- Frontend Dashboard: Next.js 14 App Router with a cyber-financial glassmorphism design system, interactive SVG Debt Network Graph visualizer, receipt dropzone drawer, and an interactive Time-Travel Fast-Forward Simulator (+3d / +7d) to demonstrate autonomous cron cycles in real time.
- Agent Core & Backend: Python 3.11 FastAPI powered by the Google GenAI SDK. Tools include
parse_receipt,calculate_split,generate_payment_link,simplify_debts, andescalate_reminders. - Google Cloud Infrastructure: Containerized and deployed to Google Cloud Run, triggered via Google Cloud Scheduler + Pub/Sub for periodic background scans, with persistent state and behavioral profiling stored in Google Cloud Firestore.
Challenges we ran into
- Deterministic Structured Vision Extraction: OCR models frequently hallucinate or miscalculate subtotal discounts. We engineered strict Pydantic JSON schemas with few-shot validation on Gemini Vision to ensure 100% extraction accuracy and penny conservation ($\sum \text{Splits} \equiv \text{Total}$).
- Visualizing Asynchronous Autonomy in a Live Demo: Autonomous background agents run quietly on crons, which is hard to showcase in a fast 4-minute demo. We solved this by building an interactive Time-Travel Fast-Forward Slider in the frontend, allowing judges to fast-forward the state machine by 3 and 7 days to watch the agent escalate reminder stages in real time.
- Graph Theory Invariants: Handling cyclic debts (Alice owes Bob, Bob owes Charlie, Charlie owes Alice) without losing cash conservation required implementing a validated Greedy Min-Cash-Flow Algorithm backed by strict test assertions.
Accomplishments that we're proud of
- 🏆 True "Taskmaster" Autonomy: Created an agent that takes real-world action (generates payment links, fires background webhooks, simplifies multi-party debts) rather than just generating chat text.
- ⚡ Zero-Touch Receipt Ingestion: Successfully extracting messy crumpled receipts and multi-page utility bills with zero user typing.
- 📉 Guaranteed Debt Reduction: Mathematically proven reduction of tangled household debt networks from $\binom{N}{2}$ possible IOUs down to $\le N - 1$ total transfers.
- 🚀 Zero-Config Dual Storage Adapter: Architected the system with a dual-adapter pattern (live Google Cloud Firestore vs. local in-memory fallback), allowing instant local testing and seamless cloud scaling.
What we learned
- How to design agentic feedback loops where the agent acts as an autonomous background fiduciary rather than a reactive chatbot.
- Best practices in Google Cloud Run containerization and integrating Cloud Scheduler with Pub/Sub for reliable webhook-driven agentic state machines.
- The critical importance of penny conservation math when bridging AI extraction with financial settlement systems.
What's next for RoomieOps AI
- 💬 Native WhatsApp & Telegram Bot Agents: Autonomous conversational agents that directly interact with roommates in existing group chats.
- 🏦 Open Banking & Auto-Debit Settlement: Webhook integrations with Stripe / Plaid / Account Aggregators to automatically reconcile bank transfers upon receipt.
- ⚡ Predictive Utility Bill Forecasting: Leveraging Gemini's long-context window to analyze historical electricity and water usage trends and predict next month’s utility expenses for the household.
Built With
- cloud
- fastapi
- firestore
- gemini
- next.js
- pytest
- python
- run
- typescript
Log in or sign up for Devpost to join the conversation.