Home

LystMate

Create, share, and manage lists with the people you trust: groceries, travel, tasks, anything.

OVERVIEW

LystMate is a collaborative list-keeping app and installable PWA built for sharing. A custom Express 5 and Prisma backend on PostgreSQL powers three permission tiers: owners control the list and its members, members contribute and edit, viewers just read. The invite system brings in collaborators by email, including people who don't have an account yet; their invite links activate automatically the moment they verify. Ownership can be transferred between members, which sounds like a small detail until you've used a shared app where the original creator left and took access with them. Authentication runs end to end with JWT access tokens, httpOnly refresh cookies, email verification, forgot and reset flows, and rate limiting. Transactional email goes through Resend. The Next.js 16 App Router frontend on Vercel talks to the API on Railway, dresses each list in one of eight cascading colour themes, and feels native on mobile with a bottom dock, smooth page transitions, and skeleton loading states.

HIGHLIGHTS

  • Custom Express 5 and Prisma API with JWT access and httpOnly refresh cookies
  • Three-tier role system: owner controls membership, members contribute, viewers read
  • Email invite system that activates automatically once the recipient verifies
  • Ownership transfer so lists survive changes in who manages them
  • Eight cascading colour themes applied across every list surface
  • Installable PWA with per-page SEO, sitemap, and offline service worker

ROLE

Full-stack + API design

TYPE

Collaborative productivity app · Web / PWA

STACK

Next.js 16TypeScriptExpress 5PostgreSQLPrisma
PreviousDishmeisterNext TuneSaver