A full-stack profile discovery platform designed around thoughtful introductions rather than endless swiping. Users can create personalized profiles, upload images, discover compatible profiles, and manage their account securely.
The platform also includes a moderation workflow where moderators can review submitted profiles, approve or reject them, and provide field-specific feedback for corrections.
- Built with Next.js App Router and React
- PostgreSQL database managed with Prisma ORM
- Schema validation using Zod
- Secure password hashing with
scrypt
- Token-based password recovery with hashed reset tokens
- Role-based access control for users, moderators, and administrators
- Image uploads powered by UploadThing
- Email delivery handled through Resend
- Responsive UI built with Tailwind CSS and Radix UI
- Server actions for authenticated profile and moderation operations
- User registration and secure authentication
- Profile creation and editing
- Avatar and banner image uploads
- Profile discovery with search, pagination, and randomized results
- Profile verification and moderation workflows
- Rejection feedback for specific profile fields
- Password reset via email
- Session management and protected routes
- Responsive interface with animated transitions
- Support for metric and imperial height units
This project strengthened my experience building production-style full-stack applications, particularly around authentication, database relationships, role-based permissions, validation, file uploads, moderation systems, and secure account recovery workflows.