My girlfriend and I buy a lot of things. Our usual flow would be: we go to the supermarket, we randomly decide who was going to pay that time, and then that person would ask the other for their half. Sounds like a good plan, right?
However there were some issues with it, mostly originating due to my laziness. The first issue would be that most of the time she was the one who paid. Either I forgot my wallet, or my phone was dead. Sometimes it was even a combination of the two. The second issue would be that when she asked for my half I sometimes did take a long time to pay back, the reasoning being the aforementioned tendency to have my phone without battery or just being a lazy person in general.
This was not ideal, since most of the time I would accrue a large amount of debt throughout the month, that would eventually be paid when my girlfriend lost her patience and finally demanded that I would pay her back.
From this situation Splot was born. Splot is supposed to be split with an O, because Oh my god I took a long time to pay my girlfriend back. The idea was to build an application that would allow us to track our expenses in such a way, that instead of deciding randomly who would pay each time we could track who was behind in making payments, like a scale.
The benefits would be that we wouldn't need to constantly pay each other back and forth. We could strive to maintain a balanced scale, and there would also be a large record keeping the debt between us.
I was really happy with the end product, even more with the fact that we use it daily. There is something immensely rewarding in building something for yourself, by yourself. I am not really sure what it is, but I get a real kick out of it.
Technologies
The application itself was built with SvelteKit. I like Svelte a lot, it does not feel as combersome to program as other frontend frameowrks. One could say that I react better to their way of doing things.
For the backend I used pocketbase a all in one solution for my backend needs. Authentication, tables, nice sdk that integrates well in the javascript workd. Really pleasent experience. Also in the future I would like to explore more this idea of a product that its bundled into 1 single binary. Very powerfull stuff