Runwave

AI-Powered Working Capital Operating System for Wholesale SMEs

Inspiration

Runwave was born from real operational pain. My dad runs a mid-sized furniture wholesale business. Working alongside him, I saw how liquidity planning was done in Excel, restocking was based on instinct, and cash forecasts were reactive. Wholesale businesses rarely fail because they’re unprofitable. They fail because they mismanage working capital. There was no system answering: How much deployable cash do we actually have? What happens after the next restock cycle? Is this purchase safe given projected surplus? When do we hit a liquidity floor? So we built one.

What Runwave Does

Runwave is a real-time working capital command center for wholesale SMEs. It connects to bank accounts, ingests invoices from Gmail, models inventory lag cycles, and generates forward-looking cash projections. Unlike accounting software, Runwave is forecast-first. It shows: Unified live cash across institutions Forward cashflow projections (historical + invoice-based) Monthly deployable surplus Inventory lag modelling (sales → restock correlation) Purchase impact simulation AI-detected cost leaks Instead of asking “What happened?” founders can ask: “What happens next?”

Core Financial Logic (Simplified)

We compute surplus as: "Surplus"="Cash"+"Expected Inflows"-"Committed Outflows"-"Restock Forecast"

This is not accounting profit — it’s deployable working capital. For wholesale businesses, restocking is delayed relative to sales. We model that lag and estimate future inventory pressure using: 〖"Restock" 〗(t+k)=〖"Sales" 〗_t×r"COGS"

Where kis the detected lag window and r_"COGS" is the cost-of-goods ratio. This turns raw transaction data into forward capital intelligence.

How We Built It

We engineered Runwave as a deterministic financial modelling engine wrapped in an AI interface. Event-Driven Financial State All data flows into a single canonical financial state. Bank transactions sync incrementally Invoices are parsed and structured automatically Reconciliation matches expected vs actual payments Every update recomputes derived metrics immediately The dashboard is computed, not static.

Historical Reconstruction + Forward Projection

Instead of storing historical balances, we reconstruct them by replaying transaction deltas backward from today. Forward projections use structured receivables and payables — not naive trend extrapolation. This cleanly separates: Historical certainty Future obligation And makes forecasts defensible.

Inventory Lag Detection Engine

Wholesale cash cycles are non-linear. We built a rolling correlation engine that: Measures the relationship between sales inflows and inventory outflows Detects the dominant restock delay window Computes confidence thresholds Projects upcoming inventory pressure This is the core working capital insight layer.

Concurrency & Async Architecture

The system runs multiple financial detection modules in parallel: Cost anomaly detection Subscription duplication Price creep Runway stress scenarios Surplus compression Outputs are deduplicated and prioritised by AI. All execution is concurrency-safe and isolated.

AI as Interpretation Layer — Not Calculation Layer

Financial values are computed deterministically. AI is used for: Pattern interpretation Natural-language explanation Deduplicating overlapping insights Generating prioritised recommendations This prevents hallucinated numbers while preserving conversational usability.

Voice Agent Loop

We have developed two functions using ElevenLabs technology. Briefing gives a rundown of the most important financial insights for that day. Chat gives the user the opportunity to speak to an agent with knowledge of their financial ecosystem. These two features greatly increase the user friendliness and usability of the website.

Challenges We Faced

Identifying the Right Projections SME CEOs don’t need more dashboards. They need: Surplus after restock Liquidity floor awareness Purchase safety simulation Cash horizon clarity Defining these minimal, decision-critical metrics was harder than building the system.

Multi-System Integration

We integrated: Bank aggregation Gmail ingestion PDF extraction pipelines AI reasoning engines Voice synthesis Payment execution Each had independent async behaviour, rate limits, and error states. Maintaining deterministic state across all of them was a major engineering challenge.

Avoiding “AI Gimmick” Syndrome

It’s easy to build a financial chatbot. It’s much harder to build a system where: Numbers are correct Projections are defensible Insights are actionable AI enhances rather than replaces logic We intentionally separated computation from interpretation.

What We’re Proud Of

End-to-end automation: Email → Invoice → Approval → Payment → Reconciliation A wholesale-specific working capital model Deterministic forecasting layered with AI reasoning A stable continuous voice agent A system that feels operational, not decorative Everything works together as one financial operating layer.

What We Learned

The biggest lesson: Clarity beats complexity. Once we narrowed the proposition to: “Working capital clarity for wholesale SMEs” …the product sharpened immediately.

What’s Next for Runwave

Runwave starts as a visibility and decision engine. Next, we expand into capital optimisation. Phase 1 — Deeper Modelling Seasonality detection Supplier term optimisation Longer forecast horizons Phase 2 — Execution Layer Intelligent payment scheduling Automated collections nudging Restock timing alerts Phase 3 — Embedded Capital Working capital advances Inventory-backed financing Autonomous treasury logic

Long term: Runwave becomes the capital management layer for SMEs — not just showing where money is, but actively managing how it flows.

Built With

  • fastapi
  • framer-motion
  • google-gemini-2.0-flash-(insights-engine
  • institution-data)-email-automation:-zapier-mcp-over-streamable-http-(gmail-invoice-polling)-pdf-processing:-pdfplumber-(text-extraction-from-invoice-attachments)-cloud-/-hosting:-vercel-(frontend)
  • languages:-typescript
  • lucide
  • openai-gpt-4o-(invoice-pdf-parsing)-voice-apis:-elevenlabs-text-to-speech-(multilingual-v2-model)
  • python
  • react
  • real-api)-banking-/-open-finance:-plaid-(account-linking
  • recharts-(financial-charts)
  • recharts-databases-&-backend:-supabase-(postgresql)
  • sql-frameworks:-next.js-14-(app-router)
  • structured-json-output)
  • supabase-auth
  • supabase-cloud-(database-+-auth)-other:-web-audio-api-+-canvas-api-(real-time-microphone-waveform-visualisation)
  • supabase-service-role-client-ai-/-llm-apis:-google-gemini-2.5-flash-(chat-assistant)
  • tailwind-css
  • transaction-sync
  • web-speech-api-(browser-native-stt)-payments:-stripe-(sandbox-paymentintents
Share this project:

Updates