Case study

Vestra Financial Management

Mobile-first PWA for personal finance with multi-user workspaces and recurring transactions.

Vestra finance dashboard overview
Overview

Vestra is a mobile-first PWA for personal finance, built as a TypeScript monorepo that combines a Vite + React 19 dashboard, a Next.js 16 marketing site, and a NestJS API backed by Prisma on PostgreSQL. It supports multi-user workspaces with owner/member permissions and deep cloning, recurring transactions generated by a scheduled cron, JWT authentication with refresh-token rotation, and free/pro subscription gating. A shared shadcn/ui + Tailwind 4 design system keeps both frontends consistent. The stack is deployed on Fly.io (API) and Vercel (web) with a managed Neon Postgres database.

Highlights
Multi-user workspaces with owner/member permissions and deep cloning
Recurring transactions generated by a scheduled cron job
JWT authentication with refresh-token rotation
Free/pro subscription gating
Shared shadcn/ui + Tailwind 4 design system across both frontends
Deployed on Fly.io and Vercel with managed Neon Postgres
Technologies
TurborepoNestJSNext.jsViteReactTypeScriptPrismaPostgreSQLTailwind CSSshadcn/ui