Revolut AI Bill Split: Project Story

Inspiration

Our team was inspired by a common pain point we all experienced: the awkward moment at the end of a meal when everyone pulls out calculators to figure out who owes what. Despite the existence of bill-splitting apps, we noticed most required tedious manual input and item assignment. We asked ourselves: "What if splitting a bill was as easy as having a conversation?"

What We Learned

This project taught us how to effectively integrate AI voice recognition into a practical financial application while maintaining Revolut's sleek user experience. We gained valuable insights into:

  • Natural language processing for financial contexts
  • Building accessible voice interfaces for diverse accents and languages
  • Creating intuitive UI flows that combine traditional tapping with voice commands
  • Handling edge cases in bill-splitting scenarios (shared items, tips, discounts)

How We Built It

We built our solution as a feature extension to Revolut's existing infrastructure, focusing on three key components:

  • Voice Recognition Layer: We developed a specialized model trained to understand bill-splitting terminology and commands, tuned to recognize item names, amounts, and person assignments even in noisy environments.
  • Smart Assignment Engine: Our algorithm intelligently maps voice instructions to specific bill items, handling complex requests like "split the appetizers between Taylor and Jordan" while understanding context.
  • Reactive UI: We designed an interface that provides visual feedback as voice commands are processed, allowing users to see and correct assignments in real-time.

The tech stack includes React for the frontend, with custom hooks for voice processing and state management. We implemented extensive debugging tools to trace the data flow from voice input to final payment assignments.

Challenges We Faced

Building this feature presented several interesting challenges:

  • Voice Recognition Accuracy: Restaurant environments are often noisy, and food items frequently have unusual names. We had to build robust error correction and confirmation flows.
  • Data Flow Management: Ensuring consistent state between the voice commands, visual interface, and payment processing required careful architecture and extensive testing.
  • Friend Identification: Connecting spoken names to actual contacts in a user's Revolut network required developing a smart matching algorithm that could handle nicknames and partial names.
  • Performance Optimization: Processing voice commands and updating the UI needed to happen instantly to maintain a natural conversation flow, requiring careful optimization.

The most significant breakthrough came when we redesigned our data structure to better handle the relationship between items, people, and payment amounts, which solved persistent bugs in the friend assignment flow.

What's Next

Looking forward, we're excited to expand the AI capabilities to handle even more complex scenarios like recurring bills, delayed payments, and cross-currency splits for international travel. We're also working on making the voice recognition component more accessible by supporting multiple languages and regional accents.

Share this project:

Updates