Moneyhawk App: Organize Your Money Without Trusting The Cloud

This week, Kevin and I launched Moneyhawk App, a personal finance tool for Mac. With Moneyhawk, you have a single view of where your money goes, while keeping your data and privacy safe.

My experience with interactive tables comes from designing a personal finance app, Moneyhawk. Central to the app is a table of bank transactions. People who use Moneyhawk need to be able to edit data in one or more of their transactions.
Features include:

cloudless, your data is stored on your computer

drag 'n drop file import

view totals for categories

create tags, categories, and notes

rename transaction payee

fast search

date and account filtering

keyboard commands

This post covers the thinking behind a couple of our key features: data safety, spending categories, and performance. To create these features, we've made some unconventional trade-offs such as eschewing auto-download bank sync, mobile or web apps, and budgets.

Tracking instead of budgets

In Moneyhawk, we've built out the tools to categorize transactions for tracking but we haven't added a way to create a budget. Should a budget number persist for each future month? Should a budget be for calendar months or any time period you choose?
For example, I want people to be able to change the payee on a dozen bank transactions from "SQ 34COF#222" to something more readable like, "34th St Coffee".

Are budgets as accurate as they promise to be? Do you always end up with the final balance at the end of the month that you expected from following your budget? What happens when reimbursements are delayed for months? When bills are divided amongst housemates?

There are other great tools out there for budgeting (YNAB, for example), so we're satisfied with tracking spending for now.

Data safety and privacy

It feels like every day another large company is hacked and our sensitive data is compromised. But there aren't many options on the market that protect our data. Many promise high levels of encryption on servers and clients and pieces of the puzzle we've never heard of before.

We chose a simpler solution - we don't transfer or store your data. You have full control.

Having full control over your data with Moneyhawk means that:

you never have to trust us with your bank passwords

you store your bank data locally on your computer, not in a cloud server that could be hacked

The tradeoff with our approach is that you need to download your data from your bank and import it into Moneyhawk, unlike the many automated services out there today. We feel data security is worth the effort.

Performance

Our goal is to make Moneyhawk fast and reliable. A tool you can grow comfortable using.

One aspect of being fast is being responsive. Check out the search. It matches your keystrokes immediately.

Another aspect of being fast is having keyboard commands. Muscle memory wins out over mousing around. Here's a few of the commands:

Tab to navigate between search and the transaction list

CMD + p to edit payee

CMD + t to edit tags

CMD + k to edit categories (didn't want to get in the way of CMD + c for copy)

CMD + n to edit notes

Enter to save

Shift + Enter to save & edit the next transaction for the same field

Reliability means that Moneyhawk won't spaz out and lose the data you just entered.

A side benefit of our security approach is that we don't have to worry about the difficulties of syncing between your bank, our cloud server, and the local app on your computer. Large companies with armies of developers are still working on making the syncing experience seamless.

You might've guessed we're fans of old-school desktop software.

What's next?

We have a few things in progress.

Totals can be confusing. Right now, we sum debits, credits, and all transactions. There are two problems to solve:

transfers give the appearance of higher spending and income - did you really "spend" $100 if you just moved it between accounts?

an overall total could match the sum of your bank balances but only if you've imported your full transaction history (because some banks may not keep the full history, we may need to introduce an "initial balance")

Date filtering for custom time frames.

Better design documentation. This one's a behind-the-scenes feature. You might never see it but it will help us build a better Moneyhawk. For example, we're building a nice state chart for our subscription page so we can make sure the app moves smoothly between states (new, pending, subscribed, cancelled) and won't get stuck in an undefined black hole.