Inspiration Alice and her roommates share everything — but every expense becomes a group chat nightmare. Receipts lost, math wrong, Carlos still owes €18. bunq had the infrastructure to fix this, but four real gaps made it impossible: no native split endpoint, bunq-only requests, fixed amounts only, and no retroactive splits. We built the layer that was missing. What It Does Smart Splitting lets users snap a receipt, choose a group, assign items per person, split shared costs by percentage or equally, and send requests instantly. bunq users get in-app requests; non-bunq users like Carlo get a bunq.me payment link via WhatsApp. Reminders fire automatically. Past payments can be split retroactively

How We Built It We built a Split Intelligence Engine — a microservice layer on top of bunq's API combining: • OCR pipeline — Google Vision API + LLM to extract line items from receipt photos. • Participant router — detects bunq vs non-bunq users, routes to request-inquiry or bunq.me link • Pattern Recognition — After few transactions are made, the model will also decide who is likely consumer of that individual item in a group based on history

• Our model is generating individual patterns puts it in a database. That database becomes the input for next transaction. That’s how multimodality is achieved by adding memory layer

OCR · Prev Transactions ↓ Split Intelligence Engine ↓ bunq API · bunq.me · WhatsApp · Push ↓ Analytics · Pattern Recognition ↓ Split Intelligence Engine ↓ bunq API · bunq.me · WhatsApp · Push

Challenges We Ran Into

  1. Using bunq api at first was not very easy. Some steps did nit work, but eventually we were able to use it for our solution.
  2. Non-bunq recipients — The API requires a valid bunq alias. We worked around this by generating bunq.me links with pre-filled amounts, delivered via WhatsApp, then auto-reconciling payments through webhook matching.
  3. OCR on messy receipts — Tesseract alone failed ~30% of the time on crumpled or rotated receipts. Switching to a multimodal LLM with the raw image raised accuracy significantly. We added optimistic UI to hide the latency.

Accomplishments We're Proud Of • End-to-end receipt-to-split flow working in a single camera tap • Non-bunq users fully included via WhatsApp bunq.me links — no app download required • Retroactive split linking on past payments, something bunq's API doesn't natively support • A unified multimodal architecture where mage, transitional data , and memory layer all feed the same engine

What We Learned • APIs expose capability, not experience. The orchestration layer between primitive and delight is where product engineering earns its keep. • Non-bunq users are the silent retention leak. One person outside the ecosystem breaks the whole group — fixing that is a retention firewall, not a nice-to-have. • Multimodal is empathy. Alice reaches for her camera. Lars uses his voice. Priya uses WhatsApp. A great product meets all three without asking them to change. • Churn is predictable — if you instrument the right behavioral signals and act on them fast enough to matter.

What's Next for Smart Splitting, Personalized by Your Habits • Group memory — learn recurring roommate groups and pre-fill them automatically • Merchant integration — direct POS-to-split, skipping the receipt photo entirely • Fairness analytics — surface insights like "Carlos has owed the group money 7 of the last 8 months" • Cross-app identity — when Bob eventually joins bunq, retroactively link his payment history • Multilingual NLP — serve bunq's pan-European user base in Dutch, German, French, Spanish and more

Built With

  • ai
  • api
  • bunq
  • claude
  • multimodal
  • sonnet
Share this project:

Updates