← Projects

My Wish Vault

A wishlist SaaS built with Next.js App Router: create lists, add items with prices and images, share via a public link, and let visitors reserve items anonymously to avoid duplicate gifts.

Year
2024
Role
Full-Stack Developer (solo)
Duration
~4 active months (Dec 2023 – Mar 2024)
Team
Solo
Links

Context

Build a wishlist app I actually wanted to use: easy public sharing without forcing guests to sign up, with anonymous item reservation so duplicate gifts stop happening.

What I did

  • Prisma schema (7 models, UUIDs, cascade rules, unique constraint on Reservation.wishId)
  • NextAuth credentials provider with argon2 hashing, email-verification and password-reset token flows
  • All CRUD via Next.js Server Actions + next-safe-action + Zod validation
  • Migrated backend from NestJS to Next.js Server Actions mid-project
  • Resend transactional emails, Unsplash API integration with the required download-trigger event

Results

  • Launched on Product Hunt: ~115 upvotes
  • Production application used by family and friends
  • Anonymous reservation flow that doesn't require visitors to create accounts
  • Compliant Unsplash integration including the required download-trigger event

Key features

  • Multiple wishlists with categories and drag-and-drop ordering
  • Wishes with price (30 currencies), image, and product URL
  • Public sharing via a unique code with optional spoiler mode for the owner
  • Anonymous reservation by email, no guest account required
  • Unsplash image search inside wish forms
  • Email verification and password reset via Resend

Stack

  • Next.js
  • NestJS
  • React
  • Prisma
  • NextAuth
  • Mono-repo
  • Resend
  • Unsplash
  • Radix UI