Mystery Message is an anonymous messaging platform built with Next.js, offering secure user authentication, OTP-based email verification, and AI-powered message suggestions via Gemini API. Users receive anonymous feedback through a unique public link and manage messages in a streamlined dashboard.
-
Secure User Authentication
- Sign-up, Sign-in with email verification (OTP)
- Authentication handled via NextAuth.js
- Email delivery via Resend
-
Anonymous Messaging
- Users receive messages via public URLs (like Ask.fm)
- Option to toggle message acceptance
-
AI-Powered Suggestions
- AI-generated message suggestions using Gemini API
- Streaming handled with Vercel’s AI SDK
-
User Dashboard
- Manage anonymous messages (view/delete)
- Control message acceptance toggle
-
Robust Form Handling
- Form validation with Zod
- Form state with React Hook Form
- Debounced username uniqueness checks
-
MongoDB Integration
- Data models with Mongoose
- Aggregation pipeline to group and sort messages
-
Modern UI/UX
- Built using ShadCN UI components
- Styled with Tailwind CSS
- Carousel for displaying messages
- Next.js (App Router)
- React Hook Form + Zod
- ShadCN UI + Tailwind CSS
- Axios, Sonner, Lucide Icons
- Debounce hook for throttled input
- Next.js API Routes
- NextAuth.js for authentication
- MongoDB + Mongoose for database
- Bcrypt.js for password hashing
- Resend for sending emails
- Gemini API + Vercel AI SDK for AI integration
- Node.js v18+
- MongoDB Atlas or local MongoDB
- Resend account (for emails)
Clone the Repository
git clone https://github.com/your-username/mystery-message.git
cd mystery-message