Akila Welihinda

My technical blog and past works

05 Jan 2022

Quick Splits: Manage Your Shared Finances Better

Using Venmo has always been a frustrating yet unavoidable part of my life. I cannot realistically use another platform because most of my peers use Venmo. I think Venmo lacks some core features that any P2P payments service should have. Quick Splits is a mobile app (currently iOS only) I built that effectively adds 3 main features to Venmo:

  1. Group Splitting
  2. Recurring Requests
  3. Credit Card Transaction Splitting

Each of these features aims to reduce the amount of manual work required to manage your shared finances. I’ll discuss each of these features in detail below.

Group Splitting

You may have noticed that you charge the same set of people frequently for shared expenses. For example, you probably charge your roommates or your family members pretty often. Quick Splits lets you create groups of people using their contact information, Venmo username, or direct phone number. Once you have created a group, you can split any group expense evenly on Venmo with just one click!

Example Groups in Quick Splits.

Groups in Quick Splits.

Recurring Requests

Sometimes you want to charge someone on a recurring basis for something. Maybe it’s because you both share a Spotify family plan or because you’re the one who pays the landlord rent every month. You might also want to charge someone in a recurring fashion but you don’t know the amount beforehand (e.g. the utilities bill). Venmo doesn’t provide any support for recurring payments or requests, so Venmo users usually have to remind themselves to charge their friends using some external system.

Quick Splits alleviates this painpoint by allowing you to schedule Venmo requests that charge individuals or groups at a weekly, monthly, or yearly cadence. Quick Splits will send you a push notification when it’s time to send out Venmo requests. After clicking the notification, you will be prompted to approve a Venmo request with all the transaction details automatically filled out. For recurring charges with variable amounts (e.g. the utilities bill), you can leave the charge amount blank and specify it after receiving the push notification.

recurring requests and autogenerated venmo request

Recurring Requests in Quick Splits (left) and the autogenerated Venmo request (right).

Credit Card Transaction Splitting

Many Venmo users check their credit card bill periodically and then manually split shared expenses via Venmo. Quick Splits automates this process by displaying your credit card transactions securely via Plaid and remembering which transactions you already split. This approach lets you avoid manual entry/reconciliation and accidentally double-charging people. You also get helpful metadata automatically included in the Venmo request description.

credit card transaction splitting and autogenerated venmo request

Credit Card Transactions in Quick Splits (left) and the autogenerated Venmo request (right).

Limitations

There are some issues I’ve encountered that prevent me from building certain features I wanted. I’d like to outline these limitations here since I’m sure people will be wondering why some features are missing.

Limitation #1: Venmo doesn’t have an API

Venmo has suspended API access for new applications since 2016. Currently the way Quick Splits integrates with Venmo is via deeplinking. Because Quick Splits doesn’t have Venmo API access, it can’t do the following things:

  1. Automatically pay or request people without your manual approval
  2. Search for other Venmo users
  3. Detect if you approved the Venmo request that Quick Splits created for you

These limitations can be frustrating and create gaps in the user experience. I hope Venmo changes their stance on this because it prevents innovation over their platform.

Limitation #2: Plaid Transaction Data Staleness

Plaid is an amazing service but I’ve encountered certain limitations that have prevented me from building a feature I really cared about. I wanted to send every Quick Splits user a push notification immediately when their credit card is charged so they can split shared expenses instantly and avoid having to remember later. Unfortunately this wasn’t possible because Plaid’s transaction pull webhook doesn’t fire whenever there is a new transaction - it only fires 4ish times a day when Plaid actually fetches the transactions from the banks. Plaid does offer a forced transaction refresh feature that fetches the latest data, but it requires a $500 monthly minimum which I wasn’t willing to pay. I don’t think this is Plaid’s fault though because not all banks have webhooks (or APIs for that matter), so it’s probably impossible for Plaid to offer realtime updates without constantly polling.

Future Ideas

Quick Splits provides helpful building blocks to manage your shared financial life, but there are so many improvements that can still be made to it. Here are some features I’d like to add in the future:

  1. Allow users to link multiple credit cards.
  2. Let users select multiple transactions and split them all with an individual or group. For example, this can be helpful when splitting multiple shared expenses after traveling with a group of friends.
  3. Interoperate with other P2P payment apps like Apple Cash, Google Pay, or Zelle to let our users split shared expenses regardless of what platform their friends use.

Comments