Get involved: Discord • Website • Issues
🚨 NOTE: This is the original React app of the previously-defunct personal finance app, Maybe. This original version used many external services (Plaid, Finicity, Auth0, etc) and getting it to fully function will be a decent amount of work.
There's a LOT of work to do to get this functioning, but it should be feasible.
We spent the better part of 2021/2022 building a personal finance + wealth management app called Maybe. Very full-featured, including an "Ask an Advisor" feature which connected users with an actual CFP/CFA to help them with their finances (all included in your subscription).
The business end of things didn't work out and so we shut things down mid-2023.
We spent the better part of $1,000,000 building the app (employees + contractors, data providers/services, infrastructure, etc).
We're now reviving the product as a fully open-source project. The goal is to let you run the app yourself, for free, and use it to manage your own finances and eventually offer a hosted version of the app for a small monthly fee.
Ultimately we want to rebuild this so that you can self-host, but we also have plans to offer a hosted version for a fee. That means some decisions will be made that don't explicitly make sense for self-hosted but do support the goal of us offering a for-pay hosted version.
As a personal finance + wealth management app, Maybe has a lot of features. Here's a brief overview of some of the main ones...
- Net worth tracking
- Financial account syncing
- Investment benchmarking
- Investment portfolio allocation
- Debt insights
- Retirement forecasting + planning
- Investment return simulation
- Manual account/investment tracking
And dozens upon dozens of smaller features.
This is the current state of building the app. You'll hit errors, which we're working to resolve (and certainly welcome PRs to help with that).
You'll need Docker installed to run the app locally.
First, copy the .env.example
file to .env
:
cp .env.example .env
Then, create a new secret using openssl rand -base64 32
and populate NEXTAUTH_SECRET
in your .env
file with it.
To enable transactional emails, you'll need to create a Postmark account and add your API key to your .env
file (NX_POSTMARK_API_TOKEN
). You can also set the from and reply-to email addresses (NX_POSTMARK_FROM_ADDRESS
and NX_POSTMARK_REPLY_TO_ADDRESS
). If you want to run the app without email, you can set NX_POSTMARK_API_TOKEN
to a dummy value.
Then run the following yarn commands:
yarn install
yarn run dev:services
yarn prisma:migrate:dev
yarn prisma:seed
yarn dev
The biggest focus at the moment is on getting the app functional without some previously key external services (namely Auth0, Plaid and Finicity).
You can view the current high-priority issues here. Those are the most impactful issues to tackle first.
To pull market data in (for investments), you'll need a Polygon.io API key. You can get one for free here and then add it to your .env
file (NX_POLYGON_API_KEY
).
- Next.js
- Tailwind
- Node.js
- Express
- Postgres (w/ Timescale)
- Learn about how the app is organized as a monorepo
- Data model assumptions and calculations
- Handling money
- REST API
The original app was built by Zach Gollwitzer, Nick Arciero and Tim Wilson, with design work by Justin Farrugia. The app is currently maintained by Josh Pigford.
Maybe is distributed under an AGPLv3 license. "Maybe" is a trademark of Maybe Finance, Inc.