Hacker News new | past | comments | ask | show | jobs | submit login

Hi Show HN, I'm really excited to share what I have been working on the side since late November last year.

I am a one-person team and this project has allowed me to harness and grow from my few years of experience working as a software engineer. I was also able to flex my design muscles a little bit, while learning some marketing along the way.

Stack:

* Node.js w/ Typescript backend

* React + Semantic UI w/ Typescript frontend

* Bull for Redis queues

* Postgresql for database

* (soon) Flutter for mobile app

Lunch Money is a personal budgeting tool with native multi-currency support. This 100% grew out of a need to expand and improve the spreadsheet we had been using for about 1.5 years prior to starting development on this. My main goal was multi-currency support but also to rethink certain aspects of budgeting. Check out the website for more details & screenshots!

If this looks interesting, I encourage you to try it out, especially if the multi-currency aspect is useful to you. Thank you and open to any feedback.

Side story: I started this project while living abroad in Fukuoka, Japan for a few months. I did a whole write up on that journey here: https://lunchbag.ca/lunch-money




I tested a lot of similar project in the past 2 years: Buxfer, GNUCash, YNAB 4 & 5, Mint, and Banktivity (currently using) and I'm willing to pay as high as $70 per year for a product that fulfills my needs.

I liked your project, the interface is clean, responsive and fast. If I may, I would like to give you my list of the most useful features :

- Self-hosted: Although, I used online apps in the past, this is now an _absolute_ requirement. I'm never, ever, going back to linking my bank accounts to a SAS app. I would be, of-course, happy to pay a premium for this (and for the Kubernetes templates).

- Transaction imports: OFX, QIF, CSV, XLSX...

- Regex category matching: For automatically matching transactions to the correct category

- Subset selection on reports: Ignoring specific accounts, categories or tagged operations from specific reports reports

- Multi-currency: I tried apps where the only currency available was USD, they did not stick around

- Exports: transactions and reports

- Rewrites: Rewriting transaction labels automatically (following user-defined rules)

- Sanity checks: Travel expenses + Reimbursements must equal zero. If not, Amex messed up again and I should know about it

Hope this helps!


> Banktivity (currently using)

> - Self-hosted: Although, I used online apps in the past, this is now an _absolute_ requirement.

Based on the rest of your post, your feature requirement list matching my own, as well as the privacy aspect, how do you reconcile the forced cloud-sync aspect of Banktivity? There doesn't appear to be an option to use anything except that which results in them getting an (encrypted) copy of your accounts.

Or am I failing to see that they actually support (at the very least) iCloud or custom storage providers (e.g. self-hosted NextCloud)?


I bought their software but I didn't log in their app. Without and ID or Direct access configured, they can't sync with their remote services.

I'm backing up the file using an encrypted git repository to a local NAS.


This is a great list of my exact same needs. I believe that the correct solution is a desktop application. How many of you/us do you think there are? And how much would you/they pay for this?


For personal budgeting, I believe it's crucial to have a mobile app for entry on the go and basic reports.

Going through statements monthly/weekly and assigning the correct categories retroactively is just too hard.


I’ve always found it much easier to lean on downloaded transactions.

Data entry through the day is way too cumbersome to me.

Am I alone on this?


Same here, I tried the data entry way (telling myself that the friction encourages thinking more before spending). It lasted about 2 years before I started creating import helpers to get transactions from my current accounts and etc.

Now, I put together some JS to create custom import helpers that adapts to different bank formats. Unsurprisingly, banks doesn't seem to want to converge/adopt a standard on transaction exports still (like a simple standard on the CSV will do), despite all the hype about open banking and such. Step by step?

I have some libraries that I reuse to create these custom helpers documented here:

https://docs.prudent.me/docs/dev/creating_ext

This works with the wrapper that I created as well :)


I have similar requirements, except I wanted something on my laptop (well, I could self-host locally too). After about 10 years or so with GnuCash, I started using Ledger-CLI. Both satisfied those requirements...But I wanted to have more control over imports and reports.

As I go about normalizing that in my life, I started writing GUIs to make interaction easier and import helpers to make imports easy. Sometime ago, I packaged all of that into a desktop/laptop app: https://prudent.me


For people already tracking their finances, more than half of the one I talked to prefer self-hosting. I would personally pay as high as 70 EUR a year. Amazon prime is 50 EUR, Netflix 144 EUR, Spotify 180 EUR.


Any thoughts on GoodBudget? It's what I've been using for the last couple of years and it does not link bank accounts (and I wouldn't want it to).

Long term I'm looking for something self-hosted too, but I think we're a very small subset of users.


I didn't try GoodBudget, but I'm more of a Mac/ipad user for that sort of things.


can you provide a comparison of the products you've used?


Absolutely ! Here is a small personal description of the tools I used :)

- YNAB 4: Wonderful tool ! Simple, efficient, and locally available ! I was not a big fan of their budgeting strategies/options (especially when you go over the allocated envelopes) and I wanted more reports.

- YNAB 5: The interface was nice, but it was not self-hosted. It has the same negative points as YNAB 4. So I decided I won't pay for it.

- GNUCash: I don't remember testing it for a long time. It was self-hosted, and the reason I'm not using it today is probably personal taste.

- Ledger: Amazing. The CLI interface was too arcane for me.

And now, the bad experiences:

- Mint: Kept trying to sell me stuff. Not self-hosted. My financial institution was not available for linking, and I think they were using my transaction information to train their ML models on category assignments. Their automatic categorization was - of course - shitty.

- Buxfer: It started well, but then quickly degraded. I linked only one of the financial institution I use. They were accessing my personal account automatically without my approval (I had connection alerts in my bank's interface, and they were popping everyday at midnight). They kept accessing my bank account, even when I disabled the sync and deleted the bank account from the interface. Their automatic category assignment was - again - shitty (spoiler alert: IT'S ALWAYS SHITTY), but they offered rule-based category assignment ! Their account reconciliation was not accounting-ly correct (they changed the balance without adding a rectification transaction, so sum(transactions) == account_balance, would be false >< ). And finally : "Can I exclude certain transactions/accounts/tags from my Reports and Budgets?" "Buxfer does not support excluding transactions or accounts from Reports/Budgets. Excluding data can sometimes cause confusion and not lead you to see a complete view of your finances. (https://www.buxfer.com/help/reports)". Well, not-excluding my travel expenses from reports give me a completely inaccurate view of my finances and leads to even more confusion. Bonus : they were unresponsive to support and feature requests and I was on the PRO plan before they introduced the PRIME one.

Generally, online services are very bad at automatic category assignment. You will absolutely be exposed if they don't maintain a high-level security practice. They can be acquired by bigger companies, they can be terminated because they lacked funds. They will do "UI improvements" when you don't want that and they will clusterfuck a perfectly working version once in a while. They can also keep your data hostage, remove the "export" button, "reorganize" their pricing every 2 years and more.


Thank you! It looks really sleek. I have one question:

Financial data is generally viewed as highly private. What measures have you taken to ensure that the data that I enter to the service won't get exposed?


Hey! It looks awesome!

I'm a die-hard YNAB person and evangelist. The being said, I have bank accounts in two currencies and it's REALLY tough to balance that. Would you say there's a fit between the YNAB philosophy and the flow you created?


Thank you for the kind words! Lunch Money is definitely a different way of budgeting. I mentioned this in an earlier comment, but my target audience is more first-time budgeters. I know it would be an uphill battle to convert YNAB'ers since they are very loyal to envelope-based method. That being said, since you're a die-hard YNAB'er, if you have any ideas around this, I'm all ears!


I do the envelope method with EveryDollar.

I like the simplicity of everydollar, but I want some of the features you’ve built (like average for a category - so obvious and simple, but SO useful!)

How does this tool work in contrast to an envelope system?


I would say that there are definitely similarities between Lunch Money and the envelope system, but the main differentiator lies in the execution and psychology behind it.

The envelope system is pretty strict and while there are some good points about it such as encouraging discipline and planning, Lunch Money way is more about course correction. Instead of focusing on setting the amount of money in your envelope for this month and cutting yourself off when you've depleted it, go through a mental exercise of predicting how much you'll be spending. Then, reassess how you did and adjust accordingly for the next budget period. The overarching goal is to get better at predicting your spending next month, rather than constraining yourself to adhere to your budget this month and I hope the tools we offer, such as the average, help to facilitate this.


Since you're targeting first-time budgeters, have you thought about using any "game theory" to encourage them to learn about the importance of budgeting and keep coming back?


You might mean "gamification" rather than "game theory" - one is the application of game-design elements and game principles in non-game contexts, the other is the study of mathematical models of strategic interaction in between rational decision-makers.


TypeScript is a beautiful thing.

The next level things that powered me up are:

- relay + graphql : map queries/mutations and object types to typescript. I have a workflow at the moment where python + graphene typings "bubble up" to typescript types via schema.graphql

- React.FC + hooks : makes it that much easier to grok a component in a large codebase.

- prettier : automatic code formatting on save, configuration works project-wide so all team members commit organized code

- DefinitelyTyped being reliable when it comes to releasing packages has helped a lot

I don't even use the autocompletion / go to definition that editors also usually bundle, but it's there, especially with VSCode. When the pieces don't fit, tslint catches it initially, if not that tsc.

Also, despite only using TS less than a year, the typing errors have been getting more friendly in the past few TS releases.


I took a look and won't use it as it can't connect to European banks and there is no manual import option.

Is there a way to delete my account, can't find it?


Hi there, you can email support@lunchmoney.cc to request that we fully delete your data.


Will do but that shouldn't be necessary, especially a service that wants me to trust it with my financial details.


Congrats on what looks like a great project.

I've been a paying YNAB customer for over a year, so I assume I'm your target market. I haven't felt a particular need for multi-currency support. What would you say the advantage is over YNAB aside from multi-currency support?

If it helps I can tell you what I really like about YNAB:

- The mobile app is very easy and intuitive for entering transactions as they occur. It prefills fields based on my location so that I often only have to enter the amount.

- Cloud sync and multi-device support means it is easy to share a budget with my wife.

- Because all accounts, loans and recurring transactions are in there the reporting feature gives me a complete overview of our financial situation, past, present and future.

- The YNAB community was very helpful when getting started, because in the beginning it can be tricky to understand how to fit edge cases into the transaction history (like loans and credit cards).

As an aside: I don't use any transaction import features. I tried it out and found it disconnected me from my spending. Within the YNAB community it is considered best practice to not import transactions automatically. For that reason you may want to choose to not offer those features, as there is a good case to be made people shouldn't use them and they are likely to drain a huge amount of your time.


I would actually say that because you are a YNAB'er, you are not my target audience. Lunch Money works best for first-time budgeters because they don't have a previous foundation for budgeting. The Lunch Money philosophy is fundamentally different from YNAB, being that it's not envelope-based and we don't track/assign every dollar. YNAB'ers tend to be very loyal to the YNAB philosophy and while there's nothing wrong with that, it would be an uphill battle to convert already paying users of YNAB to Lunch Money.

We started off with not importing transactions, but ultimately integrating with Plaid was useful for us to get our first 50 or so users off the ground and running right away.

Thanks for the kind words and for taking the time to write feedback.


I'm moving soon and could use the multicurrency support. I'm also graduating college so got to do all of this on my own now, I guess I'm your perfect new customer. Compared to all of the other apps, why would I for example choose you? Do you also have some more information on the credit card linking? Do you support debit cards? This is crucial to be honest. And what about UK bank accounts?


Congratulations on graduating college and good luck with the upcoming move! We currently use Plaid to connect to bank accounts which unfortunately only supports US/Canadian banks, so you might be out of luck for now if you were hoping for automatic imports. We are working on more ways beyond Plaid to import your transactions so if you would like, you can sign up for our mailing list to keep updated on our progress and eventually sign up when we can support your bank.

If you would like a budgeting solution that is thoughtfully designed and encourages building good habits rather than setting spending constraints, I would encourage you to give Lunch Money a try. I would also encourage you to give the other apps a whirl, since our methods are all different. I hope you find a budgeting solution that works for you!


Hi there! Keith here from Plaid. We launched in the UK back in May this year - check out our blog post here https://blog.plaid.com/plaid-in-the-uk/ and feel free to shoot us an email at europe@plaid.com if we can be of any help getting you set up!


Any specific reason you decided to use Flutter instead of React native for your mobile app, given you use React for your existing frontend?


I suspect it's down to wanting to learn new tool-sets and skills:

> this project has allowed me to harness and grow from my few years of experience working as a software engineer.


Nailed it. I've worked on a React Native app before and honestly, didn't love it. I did my research on Flutter and love the motivation and execution behind it. Also, being able to quickly get to the first prototype and having way less platform-specific code as well as greater and sleeker performance compared to RN was a huge selling point for me. I also figured it wouldn't hurt to learn a new technical skill.

However, I may be way in over my head now at this point to tackle this on my own. If there are any Flutter devs out there interested in helping out, feel free to shoot me an email at jen@lunchbag.dev


That's what I wondered as well...


Does it work on Linux?


This is a web-based app, so as long as you have a modern browser, yes it works on Linux :)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: