Inspiration

Ever split a recurring bill with a friend or family member? Or ever forget to pay someone on time? It gets awkward to follow up with friends and family! We wanted to remove the friction from that process and also make it seamless to pay each other.

What it does

Onlysubs is a peer-to-peer subscription service using Square APIs. It lets users set up recurring payments from themselves to another, or from others to themselves. Examples:

  • Have a water bill that needs to be split among roommates every month?
  • Want to give your kids a weekly allowance of $10?
  • Want to split the cell phone bill among family members?
  • Want to not have to remember to pay your gardener each month?

How we built it

We want users to be able to use this app without having any knowledge of Square, so we relied heavily on automatically handling all the processing in the background. Once the user signs up for and authenticates to Onlysubs, they will go through the Square OAuth flow which allows everything to happen seamlessly for them in the background.

Then the user is able to set up a recurring payment. For example, let's say they are splitting a $15 Spotify premium bill with 2 friends each month. In the setup subscription form, they fill in $5 from two people (using email address), then they will specify to be paid monthly on a certain date.

Once the user hits submit, several things happen: 1) For each payer, a location is automatically set up called "onlysubs payments" 2) Customer accounts are looked up or newly created for each payer. 3) A catalog item and subscription plan are created for the payee. 4) Subscriptions are created for each payer 5) ??? 6) profit!

Challenges we ran into

We originally wanted to make this a mobile app, but ran into problems with some of the bootstrapping of the app, oauth, and the like using react-native. As a result, we had to make a last minute change to make this web (for now). This app definitely should be a mobile app though, so that would be next.

Accomplishments that we're proud of

The whole flow works end to end! It required a lot of back and forth with the square APIs and is super-simple to use. Our team is also just a husband and wife team with a 2 year old (featured in the demo) and a newborn (3 months old)! We had to balance out working on this hackathon project with taking care of our two little ones.

What we learned

As usual, we bit off a bit more than we could chew at the start. Our ambitions with mobile app experience, credit card payments, pulling in facebook friends automatically, bill parsing all had to take a backseat, an approval flow.

What's next for onlysubs

Tons of ideas!!! 1) QR code scanning - create a payment plan which your friends scan with their phones to accept. 2) Calendar - show when your upcoming payments are coming in, your monthly or weekly cashflow, and your net outgoing payments. 3) Pull in bills from a third party source, parse and automatically split recurring payments with friends 4) Ingest a contact list from facebook so that you can easily load your friends as payers (similar to venmo) 5) An approval flow, which creates outstanding subscription requests for each user. They need to approve, and then should be able to disable or cancel their payments. 6) A mobile app experience 7) Different forms of payments, like credit cards, bank transfers or crypto.

Built With

Share this project:

Updates