Nit/general rant about finance management products: awesome idea but I do my finances on a computer with a keyboard, mouse, large screen and copy/paste capabilities that don't require a microscope.
I could be wrong but it does not appear that this offers a desktop/web client which makes it DOA for me.
It seems like so many finance applications target mobile devices which is a great place for reviewing data and making small modifications but the worst place for the substantial data entry required for managing personal finances.
I use parsers to normalize statements into CSV format, pipe that into a SQL database then query/represent it in Google sheets - I still haven't found a better way to do it. I don't think that would work on this app given I don't have access to any tools on a mobile device.
You are right about missing the web part. It's substantial space that we miss out on mobile. But mobile lets you enter transactions on the go, and is always there when you need it. A web version is planned in the future.
I started Paper to bring the beancount + automated parsing with python stack to everyone. Double-entry is an objectively better way to manage your finances, when we build an automatic reconciliation engine that automatically categorizes the bank transactions we'll have the best personal finance tracker app.
It would be great for Gnucash to get a competition
I'm not sure why Mobile Only approach though as most complicated transactions do not need to be dealt with in real time and I think much more conveniently handled on Desktop
What does your schema look like? Either out of paranoia or naivety I feel that this is actually not such a simple task.
The variety of formats and tools out there plus things like “double entry accounting”, makes me think that the database design would also need to be thought about deeply.
We use a proper ledger to track the flow of money. It was sizable technical investment to get the schema right, but it has made the subsequent implementations of features easier.
Dates are in ISO UTC, I have several bank accounts across multiple countries so it's helpful to track currency and bank. Credit cards are just an account.
Anything additional that I might experiment with (like post processing transactions and assigning tags) I do in additional tables that relate back to the original transaction's PK.
I have additional tables tracking my adventures trading stocks/forex and another one for assets.
I wanted it to be serverless because of cost/convenience so I host the DB using CloudFlare's D1 database.
I have a CloudFlare worker that takes a POST request accepting raw SQL, executes the query and returns the result as JSON. Basically a crappy firebase implementation where the client does the work. Obviously this is not safe for a production application, but I'm the only user so it's fine.
I wrote a little web frontend to help with data entry and complete tasks like parse bank statements - which, at least in Australia and New Zealand, are distributed as PDF files. The banking sector is in the stone ages here.
I've experimented with using AWS Lambda + DynamoDB as the back end. I have also tried Lambda + S3 Athena but nothing has been as simple to set up as Cloudflare D1. I may migrate to Athena at some point, but I am lazy and what I have works.
To represent the data/generate reports & summaries, I use Google Sheets with custom AppScripts that make http requests to the data source (CF worker) with various SQL queries.
AppScripts are a bit slow and I'd like to create a custom front end for this but I am lazy and Google Sheets works.
I have my statements sent to my email so I have been thinking about setting up an AWS SES + lambda to receive and automatically parse & add them. I wrote web scrapers for the bank accounts that I could log into programmatically - but there are no "webhook" facilities on transaction events so syncing is manual.
I like some of the ideas in OP's app - like calculating cash flow and incorporating assets into the net worth calculation - so I might add those calculations.
I'd open source my system, add authentication and all that but I doubt anyone would use it.
I could be wrong but it does not appear that this offers a desktop/web client which makes it DOA for me.
It seems like so many finance applications target mobile devices which is a great place for reviewing data and making small modifications but the worst place for the substantial data entry required for managing personal finances.
I use parsers to normalize statements into CSV format, pipe that into a SQL database then query/represent it in Google sheets - I still haven't found a better way to do it. I don't think that would work on this app given I don't have access to any tools on a mobile device.