Last year, after looking at solutions in the space and deciding none jived with me, I built a #PersonalFinance management app in #PHP.

@BeeTurland and I have been using it for nearly a year now. It's been a great help, but could still be a lot better. And, while it works, the source code is also a bit of a mess.

Now that the overall concept has born out as useful, I want to rewrite it, and ideally release it as #OSS. And I think I'd rather not do it alone.

Anyone interested in collaborating?

@elazar @BeeTurland what’s the concept behind it? I’ve also noodled with a similar idea.
@chrisarter In short, we use it to track expenses (e.g. what's cleared or outstanding), to coordinate spending, and to know what funds we have available in our checking account and credit cards at any given time. It gives us more confidence of affordability anytime we consider a purchase.
@elazar this sounds a lot like Simple, which is now gone after getting bought out (RIP) and I’ve been looking for something similar but nothing exists. It told you what you had “free to spend” based on upcoming bills and other automations and had little wallets for each bill.

@chrisarter Not that familiar with Simple, but yeah, it does sound pretty similar. 🙂

Something like recurring transactions and/or templated batches of transactions (e.g. to make paying a bunch of bills at once easier) was a feature addition I had in mind.

Another possibility is integration with something like Plaid for potentially more real-time data and to minimize data entry required by the user.

@chrisarter I also wanted to build this piece-wise: library, backend service, mobile web frontend. Would make usage in custom applications, custom backend integrations, and custom clients all possible.

@chrisarter I drew from past experiences using ledger when building the first iteration of this.

https://matthewturland.com/2014/03/29/ledger-basics-and-habits/

Compared to ledger, my iteration is relatively simplified in a number of ways (e.g. no hierarchical category support, no currency exchange support, transactions only support two postings, etc).

I'm hoping to make it more robust in terms of feature offerings, ideally in an iterative fashion so that a first version can be delivered to prospective users sooner.

Ledger Basics and Habits - Matthew Turland

I thought I'd take a blog post to talk about some basics of using ledger and some of the habits I've cultivated in my own usage of it.

@chrisarter With regards to the backend, I was thinking of starting by creating an OpenAPI specification, as that can be then used to generate documentation, to handle validating requests and responses, and to generate structured client libraries in other languages, among other things. 🙂

As you can probably tell, I have no shortage of ideas for this project. I just have limited time and energy that I can devote to it. It would progress further and faster if I had help to design and build it.

@chrisarter @elazar didn't Simple get bought like over a year ago?

I switched to Monarch Money when that happened, and I use it with Wealthfront and One.

@jessicamauerhan @chrisarter Interesting. Can't say that I've heard of any of these. Monarch definitely looks better than the UI I built myself. 😅 I'd be curious to hear more about your experiences with all of these solutions, though. I think I may still pursue this project, though, for those that want a self-hosted / #OSS solution.

@elazar One Finance and Wealthfront are banking institutions, but both offer features I liked from Simple.

After my frustrations with Simple shutting down, I also tried Aspiration Bank, but they had a data breach and didn't disclose it, then I decided to diversify even my checking/savings.

@jessicamauerhan Gotcha. Do you think you might have use for the sort of project I'm proposing, depending on what features it offers? On that subject, what features would you find useful that you either use regularly with these providers or wish they had?
@elazar I'll think on it and see if I have any ideas for features - I think I'm just not your target audience because I would rather use a hosted product for something like this.
@jessicamauerhan That's fair, though the nice thing about a self-hosted solution is that you can pay someone else to host it for you. 😉

@elazar A self-hosted solution is a great idea, but does that allow you to automatically pull data from all your accounts?

That's one of the things I really like about Monarch, is I linked all my accounts via Plaid.

Wealthfront has one feature I wish Monarch did, which is projecting how big events will affect when I can retire - for example, when we decided to move, I entered the projected home sale / purchase into Wealthfront, and it showed me what would happen to my ability to retire at 65.

@jessicamauerhan My first iteration didn't because I wanted to keep it simple. I keep running into mention of Plaid, though, and if it's possible to use it on an individual basis (which I think it is), we could look at integrating with it to have more automation.
@jessicamauerhan Insofar as retirement calculators of that sort, I don't know that I could say they'd be a feature for a v1, but it's possible. One thing I definitely want is for this thing to be extensible, so people can easily add functionality via plugins or what have you.
@elazar @BeeTurland Sounds pretty cool.
Plus, I certainly need to keep track of my finances hahah

@elazar @BeeTurland

Definitely interested in collaborating. I don't know how much time I will have though, but do keep me in mind if you need help.

@nickistre To start with, I'm mainly interested in gaining a broad perspective in how this project could work, how prospective users would actually use it, etc. since my use cases are likely relatively few or different compared to others.

Once goals for the project are better established, work can probably be divided up to whoever wants it to do on a relatively lax async basis. 🙂

@elazar this sounds interesting, and I'd be really interesting in collaborating but time isn't something I have a lot of lately. But that may change in the future.
@Tylae No worries! I'm cultivating a Mastodon list of people who have responded with interest. I think what I'll do to kick things off is condense my thoughts into a gist to start with, then anyone who's interested can chip in to the subsequent discussion as they like. 🙂

@elazar @BeeTurland I'm curious how it gets bank data (if it does)?

That's one big stumbling block here in Canada for software like this. Banks simply don't have APIs, it seems. Screen scraping is usually the only way to get data, and naturally introduces major infosec issues.

@kboyd @elazar it doesn't get bank data, as of yet. We manually put in credits and debits as they occur.
@kboyd At the moment, the end-user enters transactions manually, then reconciles by downloading CSV exports from their bank site and then uploading them into the app. It's not great from a usability standpoint, but it works. It may be possible to use something like https://plaid.com for a more seamless solution that maintains security, but I haven't explored that much yet.
Enabling all companies to build fintech solutions | Plaid

Plaid helps companies build fintech solutions by making it easy, safe and reliable for people to connect their financial data to apps and services.

Plaid
@kboyd If Mint can pull banking and credit card data from my accounts (shudders at the thought), then there must be something that can used.
@tfevens back when I tried it (must've been almost 10 years ago), it would constantly trip account protections & die. It was screen scraping.
@kboyd I had no troubles the last few times I tried it, a year or more ago. 🤷‍♂️
@elazar @BeeTurland I'd be interested to find out more about this!

@elazar @BeeTurland I'd certainly be interested in lending a hand - as well as being a user!

Not a huge fan of big banking orgs sharing my financial data around... so something self-hosted would be great!

@elazar @BeeTurland

Cool project! You'll see a link in my profile. Originally written in 2003 in #classicASP, T-SQL, I rewrote it in 2017 with a C# .NET API backend and a jQuery front-end. (I'm old 🤣.)

Similarly I've been managing transactions manually for 19 years! But my recurring reminders / placeholders do a lot of heavy lifting to make it less painful.

I'll be watching and happy to help if I can in some way.

@neogodless Wonderful! Added you to my list of interested folks.

Also, my career started pre-jQuery. My first web dev job was with classic ASP as well. So, we're both old. 😉

@elazar What features does it have or help with out of curiosity?

@hunter My first iteration on the idea allows @BeeTurland and I to quickly enter transactions as they happen, search them by account, reconcile them against CSV exports from financial institutions, and view available funds for credit accounts based on assigned limits.

I'd definitely like to expand the feature set beyond that, though. Take a look at some of my replies in this thread if you're interested. 🙂

@elazar I've used these 2 tools for some time, in case they could be of any inspiration for your project https://facturascripts.com/descargar/docker (in spanish) and https://kmymoney.org/
Desplegar FacturaSctipts con Docker

Despliegue FacturaScripts rápida y cómodamente con Docker gracias a nuestro Docker oficial en Docker Hub.

FacturaScripts
@steinkel Thanks! I'll take a look. 🙂
@elazar @BeeTurland Hello, I only have some experience with PHP but if there are petty tasks for juniors I'm ready to help!
@atmorojo Very possible! 🙂 I've added you to my list of those interested. You can read more about what I have in mind for the project here if you like: https://gist.github.com/elazar/7a4ab612acc8b892795fda1c4674e6a4
Personal Finance Project RFC

Personal Finance Project RFC. GitHub Gist: instantly share code, notes, and snippets.

Gist

@elazar currently, I'm running GNUCash for my family's small business. At some point found Akaunting and interested in hosting one but I don't think it is what I need.

Finished reading what you have in mind. Multi-tenancy and mobile interface would be awesome!