Skip to main content

Finances

A comprehensive personal finance management application built with TypeScript.

Overview

A full-stack TypeScript personal finance management application that helps users track their financial health with multi-account support, household expense sharing, and automated transfer suggestions.

Tech Stack

  • Frontend: React 18 + TypeScript + Vite + TailwindCSS
  • Backend: Node.js + Express + TypeScript
  • Database: PostgreSQL with Prisma ORM
  • Deployment: Docker Compose

Key Features

  • Multi-tenant Architecture: Header-based authentication with user isolation
  • Account Management: Track multiple financial accounts (checking, savings, etc.)
  • Income & Expense Tracking: Recurring payments with flexible scheduling
  • Household Management: Shared financial tracking for families/roommates
  • Transfer Suggestions: Automated recommendations based on paydays
  • Dashboard: Upcoming payments and budget overview

Architecture

  • Authentication via X-User-ID headers (designed for Ory Oathkeeper proxy)
  • Development mode includes user switching for testing
  • Real-time data with TanStack Query
  • Secure API with input validation and sanitization

Development

# Frontend
cd client && npm run dev

# Backend
cd server && npm run dev

# Docker
docker-compose up