VoiceSplit: voice-first group expense splitting, powered by Vocal Bridge
Published 12 August 2026
A voice agent that creates a group, logs who paid what, and tells you who owes whom, built on Vocal Bridge's Voice for App surface.
TL;DR VoiceSplit is a voice-first group expense splitter built by Naveen Kumar Vandanapu on Vocal Bridge's Voice for App surface. It started as an MCP tool that modeled a group as a graph of people (nodes) and debts (edges), then became a voice agent you can talk to. In the demo, a "Vegas Trip" group with two people and three expenses gets settled out loud in under three minutes, ending with a clean answer of "Harish pays Naveen $15 and you're all square."
The problem: splitting a bill is a conversation, not a spreadsheet
Group expenses are messy because they happen in motion. One person grabs lunch, another covers the ride, a third buys the round at dinner, and nobody wants to stop the trip to open an app, tap through a group, and type in each line item. By the time everyone is home, the receipts are gone and the math is a guess.
Naveen built VoiceSplit because the existing apps disappointed him. He first wrote it as an MCP tool so he could manage group expenses through something like Claude Desktop, modeling the group as a graph where nodes are people and edges are who owes what amount. The logic was solid. The interface was still the bottleneck. Typing expenses into a tool is only marginally better than typing them into an app.
What he built
VoiceSplit lets you run the entire group-expense flow by talking. You create a group, add the people in it, log each expense out loud as it happens, and ask for the final settlement, and the agent does the bookkeeping and the math, including who owes whom.
The point is that the whole interaction stays a conversation. You never leave the moment to maintain a ledger. Voice fits because splitting expenses is a talking problem, the kind of thing that happens right at the table, not a form-filling one.
How VoiceSplit uses Vocal Bridge
VoiceSplit is built on Vocal Bridge's Voice for App surface. The voice agent and the backend talk over the same real-time channel, so each spoken instruction maps to a tool call that mutates the underlying expense graph. In the backend logs during the demo, you can watch the calls fire as Naveen speaks: CreateGroup for "Vegas Trip," AddPeople for Naveen and Harish, AddExpense for each line item, and GetGroupInfo to compute the balances.
from vocalbridge import tool
@tool
def add_expense(group_id: str, payer: str, amount: float, label: str):
"""Log an expense and re-split it across the group graph."""
group = store.load(group_id)
group.add_edge(payer=payer, amount=amount, label=label)
group.rebalance() # recompute who owes whom across the graph
store.save(group)
return group.settlement() # e.g. "Harish pays Naveen $15"
Illustrative. The real implementation uses Naveen's graph-based splitting logic from his MCP tool.
What he did not have to build is the voice layer. Vocal Bridge owns the real-time, sub-second voice channel, the streaming text-to-speech, transcript handling, and the conversational fillers ("getting that set up now") that keep the caller oriented while a tool call runs. He kept the part that was his: the graph model, the settlement math, and the expense store.
What's hard about voice here
A settlement query reads and recomputes the whole group, which takes a beat, and a beat of silence reads as a dropped call. Vocal Bridge's barge-in and filler handling let the agent hold the line and check in naturally instead of leaving dead air while it computes.
That is the honest texture of voice, and handling it gracefully is what keeps the whole flow feeling like a conversation rather than a form.
"After looking at Vocal Bridge, I wanted to turn this idea into a voice agent and, within no time, I was able to do it." Naveen Kumar Vandanapu, builder of VoiceSplit
Why voice for group expense splitting
Splitting expenses is something people already do out loud, at the table, in the car, at the end of the night. The friction was never the math, it was making someone stop and become a data-entry clerk in the middle of a trip. A form makes you switch contexts and remember the receipt later. A conversation lets you log "Harish paid $50 for drinks" in the second it happens and ask "who owes whom" whenever you want the answer. The interface matches the moment, so the ledger actually gets kept instead of reconstructed from memory.
Create your free account, deploy a voice agent, and integrate it into your app
No credit card required.
Sign Up Free →Full Developer Guide