
CoupleGrowth
A private web app for couples to track shared goals, plan dates, and keep a joint journal. Built with Next.js and TypeScript; state kept in typed React context with localStorage persistence, no backend or accounts required.
Work
Everything below is built and running — each project lists the stack behind it, with a live demo and source where available.

A private web app for couples to track shared goals, plan dates, and keep a joint journal. Built with Next.js and TypeScript; state kept in typed React context with localStorage persistence, no backend or accounts required.

A CRM dashboard for small teams: customer records, deal pipelines, and role-based access control. Next.js with TypeScript, route-level code splitting for the dashboard, and Tailwind for the UI layer.

This website. Nuxt 4 with server-side rendering, hand-written SCSS and Tailwind, and a contact form backed by a server route. Built to score well on Core Web Vitals — no UI framework, no animation library.

A two-person project simulating core online-banking flows: account creation, transfers, and transaction history. Vue 3 with Pinia for state, an Express API standing in for a real backend, and SCSS for styling.


A personal-finance dashboard for recording transactions and seeing where money goes: income vs. expenses summarized with interactive charts. Vue 3 with Pinia, Supabase for storage.

