We built CoconutSplit because we wanted an expense splitter on Telegram.
Tricount and Splitwise could do what we needed, but we didn't like having to convince our friends to download them. Getting everyone onto another app was a hassle, especially when all we wanted to do was split some expenses.
Nearly everyone we knew in Singapore used Telegram. We already had group chats with the people we were splitting expenses with, so it made sense to build something we could use there.
The first version was awkward
Our first attempt was a Telegram bot that worked much like a . You typed commands into the chat to create a group, add an expense, or edit one:
/create_group/add_expense [expense amount] person1 person2 person3/edit_expense [expense_number] person1 new_expense_amount person2 new_expense_amount2
To be frank, it was somewhat unusable. Even adding an expense meant remembering what to type and where each person's name belonged. Editing one was worse. Looking at that last command now, I wouldn't want to use it either.
I doubt it would have gained much traction if we'd released it like that.
There was good work in that version, though. We put a lot of care into the and the . Almost three years later, the schema in today's CoconutSplit is still quite similar to the original one. A lot of those early decisions held up.
Adding a screen inside Telegram
After some feedback and brainstorming, we decided to give the bot a through a .
Telegram has a feature called . These let us show forms and buttons inside Telegram, with information such as the user's name and ID already available to the app.
People could enter an amount and select who was splitting it through a form. That was much easier than typing a long command into the chat, and they still didn't have to download anything.
This became the first version of CoconutSplit we shared with friends and family. Here's what it looked like:



How it spread
When someone used CoconutSplit to split expenses with their friends, those friends had to interact with the bot too. It concerned their money, so they had a reason to pay attention to it and see how it worked.
Some of those people found it useful enough to add to their own group chats. Then another group of people would use it, and some of them would do the same.
Nearly 10,000 users
Slowly, we watched the user count climb to 50, then 100, then 500. Now we're close to 10,000.
We've changed the screens quite a bit since that first version. Here's what CoconutSplit looks like today:



I'll write about CoconutSplit's architecture and my homelab in a separate post.
