Postcards Never Sent is a full-stack Next.js web application for creating and publishing anonymous, text-based postcards. The platform allows users to write messages that were never delivered — confessions, apologies, thank-yous, unfinished conversations — and share them publicly without creating an account.
The application intentionally avoids social mechanics: there are no profiles, likes, comments, followers, or direct messaging. There is no delivery system. Every postcard exists in a shared, anonymous space — meant to be read, not responded to.
The project focuses on simplicity, emotional expression, clean UI, and modern full-stack architecture using server actions and a PostgreSQL database.
- Next.js (App Router, Fullstack)
- TypeScript
- Tailwind CSS
- GSAP (animations)
- PostgreSQL
- Prisma ORM
- Adding anonymous postcards
- Browsing all postcards
- Searching postcards
- Viewing single postcard pages
- Bug report system (server-side validation + enum types)
- Postcard reporting system with predefined reasons
- Status-based moderation system (OPEN / RESOLVED)
- Fullstack Next.js with Server Actions
- App Router
useActionStateanduseFormStatus- Intercepted routes with parallel routes (single postcard modal experience)
- GSAP-powered animations
- Responsive design with TailwindCSS
- Drag & drop stamp selection when creating postcards
- Copy-to-clipboard functionality on single postcard page
- Simple animated slider (carousel)
- CTA buttons leading to main actions
- All published postcards
- Search functionality (dynamic search with debounce)
- Dedicated page per postcard
- Copy message feature
- Report postcard option
- Modal version via intercepted routes
- Anonymous postcard creation
- Stamp selection (drag & drop)
- Server-side validation
- Bug report form
- Enum-based validation (device, page, etc.)
- Terms agreement checkbox
- Usage rules
- Content guidelines
- Project description and concept explanation
npm installnpm run devThe app will be available at:
http://localhost:3000