Skip to content
IC Israel Chidera
All projects
Personal project Live

MyMoney

A personal finance tracker that brings savings, investments and goals spread across different platforms into one dashboard.

MyMoney landing page: 'See your entire financial life in one place'

The problem

Savings and investments often sit across several apps and platforms, so there's no single view of net worth or of progress toward a goal.

MyMoney gives people one place to record them and see the whole picture. Entries are added manually; it doesn't connect to bank accounts.

What I built

Dashboard
Net worth overview, allocation chart, contribution history and recent activity.
Savings and investments
Create, edit and delete savings accounts and investments (stocks, ETFs, bonds and crypto) across platforms.
Goals and reports
Financial targets with progress tracking and deadline countdowns, plus monthly reports with charts.
Accounts
Email and Google sign-in with Firebase Authentication. Forms are validated with Zod and react-hook-form.

Technical decisions

  1. 01

    Security lives in the data layer

    Next.js middleware redirects signed-out users as a convenience, but Firestore security rules are what stop anyone reading or writing data they don't own.

  2. 02

    A service per domain

    Savings, investments, goals and activity each have their own Firestore service, so data access stays out of the UI components. A Zustand store holds client state.