Home›Shipped›Divisio

Divisio

Split expenses, not friendships.

View the live product
Divisio
%Fewer settlement transactions vs direct transfers
Cold starts after Vercel serverless migration
sLoad time on Vercel Edge Network
Infrastructure cost at current scale

Overview

Divisio came to us in the state most projects like this do: the team knew something wasn't working, but every function had a different theory about why.

We were brought in not to patch the symptom, but to rebuild the underlying flow: new instrumentation, a redesigned experience, and a technical foundation that could hold up as the product grew.

The Challenge

Splitting money sounds simple until you are three trips deep and nobody agrees on who paid for what. These were the real problems to solve:

  • Keeping balances accurate across simultaneous expense additions without race conditions
  • Minimising settlement transactions using a debt-simplification algorithm
  • Eliminating cold start delays by migrating from Render-hosted Node to Vercel serverless
  • Preparing the app for Play Store submission as a PWA/TWA
Did you know?

The naive expense-settling approach requires one transaction for every person-to-person debt. A simplification algorithm can reduce this to the theoretical minimum, which is always fewer than the number of people in the group minus one.

Our Approach

The philosophy was restraint. One job: help people track shared expenses and settle up without drama. Everything else was noise.

1. Scope it tight

Started with a clear, minimal scope: group creation, expense logging, flexible split types, and a clean settle-up flow. No social feed, no gamification, no unnecessary features.

2. Debt simplification algorithm

The naive approach results in too many transfers. Built a simplification algorithm that minimises the number of transactions while keeping the maths fully transparent to users.

3. Serverless migration

Moved from a separate Render-hosted Node server to Vercel serverless functions inside the same monorepo. Eliminated cold starts, simplified deployment, and brought everything under one roof.

Divisio in progress
An early working version, a few weeks into the project.
Divisio: group expense tracking built for people who hate awkward money conversations.
Tip

The most important number a user needs is how much they owe or are owed. That number is front and centre on every screen. Everything else is secondary.

Results

The core loop works. Real groups are using Divisio to track expenses and settle up without WhatsApp arguments.

  • Fully functional group expense tracking with real-time balance updates
  • Debt simplification reduces average settlements by 40 to 60 percent compared to direct transfers
  • Sub-second load times on Vercel Edge Network
  • Serverless migration eliminated cold starts and reduced infrastructure cost to zero
  • PWA configuration complete, Play Store submission in progress

Key Takeaways

Divisio reinforced a few principles that now shape how I approach every product decision.

Clarity before code. The temptation to add features (recurring expenses, receipt scanning, social sharing) was constant. Resisting it and shipping a focused, working core was the right call.

Migration is a product decision. Moving from Render to Vercel serverless was not just a technical change. It eliminated an entire category of reliability risk and reduced infrastructure cost to zero.

Algorithm design is UX. The debt-simplification logic is invisible to the user, but it is the reason settling up with Divisio feels effortless compared to anything else.

“

Building Divisio reinforced how much product clarity matters before a single line of code is written. The temptation to add features was constant. Resisting that and shipping a focused, working core was the right call.

Neeraj Raisinghani, Builder, Divisio

Looking Forward

Next up: Play Store submission via TWA, and a UPI-native settlement flow designed specifically for Indian users. The long-term goal is to make Divisio the default way friend groups handle money together.

Related projectJourneeX→
--:--Gurugram
0000 X 0000 Y