Inspiration

LLMs are unreliable at arithmetic. They approximate — they don't compute. Ask one to split a dinner bill with subgroups, prior payments, and mixed currencies and you'll get plausible-looking numbers that don't add up.

What it does

bunqSplit uses the LLM only for what it's good at: understanding your natural-language description and classifying it into structured transactions. All math — splitting amounts, tracking balances, computing settlements — runs in a deterministic tools with explicit rounding, not in a token predictor.

How we built it

Python + FastAPI + Strands Agents. Claude is used only to parse user input into structured transactions; deterministic code handles all math, rounding, balances, and settlement. bunq API powers payments, Whisper handles voice transcription.

Challenges we ran into

Ambiguous phrasing, tricky rounding edge cases, handling partial prior payments, and making the bunq API flow reliable end-to-end.

Accomplishments that we're proud of

This is a fully functional, turnkey project

What we learned

LLMs are great for language understanding, but financial arithmetic must be deterministic to be trustworthy.

What's next for bunqSplit

Automatically send payment links between participants who don't have the Bunq app

Built With

  • bunqapi
  • claude
  • fastapi
  • python
  • strandsagents
  • whisper
Share this project:

Updates