split your bills easily! splitio is an open-source webapp built for tracking debts and payments quickly, without any user accounts. works as a splitwise-clone
I think it would make sense to add a "are you sure" check, even with a simple globalThis.prompt() on deleting expenses. It's a bit too easy to double click for example and delete an expense which I guess there's no way to recover. At least I don't see any obvious undo / redo type functionality.
Not sure why, but the data is taking >10s to load for me right now. Well, it hasn't loaded yet, so maybe it'll take longer! But it took me a while to realise that the title and heading both say "loading...". Would be great to add an overlay with a spinner so that I can't interact with the app until it's finished loading, and also so that I can't miss the fact that it's not yet loaded.
Note the bottom bar which changes size. It's a bit tricky on iOS because the viewport height changes. Trouble is, the modal often opens in the second state where the X in the top left is off the screen. Given that the whole thing doesn't scroll, it's not reachable. The only way to escape the view is by hiding the toolbar at the bottom. But that's a pretty advanced level move, I'd assume that most regular humans would just get stuck here and have to reload the whole page. Bit of a nasty UX bug, and unfortunately I'm not 100% sure what the solution is. I'd guess there's probably some libraries that handle this, or maybe it needs a resize event handler to resize the modal. Or maybe there's an easy way to make the modal always ~50px shorter than the viewport?
There are 6 people in our group, but the dropdown somehow goes upwards from the cursor and gets hidden in the top of the modal or something. I can use the arrow keys to select down the list, but it's a bit weird. This is on a huge laptop screen.
I've created a couple of groups, and I'm slightly worried that people in the group will accidentally mess with the data, delete stuff, or whatever. It would be great to have a JSON export of all the data for a group (plus probably an import option). But, maybe this is unnecessary with GunDB, perhaps the history is always visible with GunDB, I'm not sure.
Also, I'm happy to put some time into some of these feature suggestions, I'm not super familiar with Svelte or GunDB but I have lots of frontend TypeScript experience.
Thank you. This is awesome. p2p database, client side encryption, no need for accounts. This is precisely what I had in mind when I thought about trying to find an open source tool. Thank you for publishing it.
I'd suggest adding the split-expenses and bill-splitting topics to this GitHub repo as I think that could help other people find it.
As an aside, if I can do anything to help support this project, like run a db replica node or something (don't know much about gundb off the top of my head), just let me know, would be happy to help and will try to promote this hard every time somebody suggests another splitwise group.
Partly from #4, I'm realising that I have old groups which I can no longer access. The inspector just shows "loading" for the gun status, and the groups won't load on any of my browsers (including several which had loaded the groups previously).
I'm a bit unclear on how gun persistence actually works. In theory, should every record ever stored be kept forever? Or is it more like ipfs where unless a node persists the data then it will slowly age out of caches and disappear?
I'm thinking it would be neat to figure out how to communicate the persistence part clearly and then add it to the app somewhere so folks can understand what's going on with the data.
It would be awesome if I could see a list of my recently visited groups (for example saved in localStorage) on the homepage. That would make it much more user friendly to jump between groups.