6 ms·
Built an ad-hoc system using flask, Google Spreadsheets, and Twilio (where I work) that my wife and I have been using for 18 months now -- far longer than any o
by gregorymichael 8y ago
Built an ad-hoc system using flask, Google Spreadsheets, and Twilio (where I work) that my wife and I have been using for 18 months now -- far longer than any other system has stuck.
- budget tab: tracks category + allocated budget for the month
- expenses tab: tracks date, amount, category, description
- when we spend money, my wife and I text, eg, "13.31 restaurants lunch at chipotle" to a Twilio number. A flask app splits the body of the SMS expecting "X.XX category description", and uses the Google spreadsheets API to add the row to the expenses tab. (Yes, we manually enter every expense, either via SMS or via the spreadsheet. This was a habit we picked up the old YNAB. We could automate this to some extent, but the discipline of having to do something when we spend money has been beneficial).
- I get a confirmation text. My wife gets a text saying "Greg spent $13 on Chipotle. We have $132 left in the lunch category this month."
- Texting "report" to the number kicks back a text with each category and the amount remaining this month.
It's an imperfect system. Some small dollar stuff gets missed. But it's super flexible for reporting since its just a spreadsheet. Because I built it, I actually use it. The confirmation texts have instilled a bit of accountability between the two of us and also serve as a nice reminder during the day of what the other person is doing. ("Hey! Thanks for logging your lunch. How was it?")
Been meaning to write a blog post about it for a while. Will do so if there's interest.
- goatslacker 8y agoHow much is this in Twilio fees each month?
- gregorymichael 8y agoAbout $5. ($1 for the phone number, and ~500 messages a month).
- beagle3 8y agoCool. Would you say the SMS plays an important part? Or would e.g. a Telegram bot work as well for those of us who do not work at Twilio?
- gregorymichael 8y agoYes, you should be able to recreate the experience on any platform where you can deploy a chatbot (which really overstates the complexity of the logic that's happening here).
- binjo 8y agoThis would be so cool!
- n1tranquilla 8y agoWow. I've used Twilio API before... had no idea you could do something like this. How do you log categories?
- gregorymichael 8y agoWe define one word categories and their allocated budget in the "budget" tab, then the inbound text always takes the form of: "X.XX category as many words for description as you'd like." As for doing this kind of thing with Twilio, here are the two building blocks you'd need: Twilio + Python: https://www.twilio.com/docs/sms/quickstart/python https://www.twilio.com/docs/sms/quickstart/python Python + Google Spreadsheets: https://www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet-in-python.html https://www.twilio.com/blog/2017/02/an-easy-way-to-read-and-...
- zumzumzum 8y agoWhat is it about this system that you like better than YNAB? (new or 4)
- grimgrin 8y agoThe interface is anything that sends SMS (well or a google spreadsheet, which can be viewed on many devices), and all party members can get an alert on spending. I like it
- gregorymichael 8y agoAffirmative. The text input is as low friction as possible, and a spreadsheet is as flexible as possible. We also couldn't figure out the YNAB methodology. I know people swear by it, and we probably just didn't put in enough effort. But we attended a webinar, made it one month, then couldn't figure out how to duplicate our budget for month two. It was just different than how we are used to thinking about finances. Also -- and this is probably the biggest thing -- I built it myself. For 99.999% of the population, YNAB is an objectively better product. But as a developer, I can't overstate the satisfaction that comes from my wife using something that I built multiple times a day.
- PenguinCoder 8y agoI am definitely interested in technical details on putting something like this together.
- psalminen 8y agoSeconded. This sounds like an interesting project, and I'd definitely be interested in implementing something like it myself.
- t3h2mas 8y agoVery cool. I'd love to see a blog post. Will keep creative twilio use in mind for my next side project :)