Private conversations that vanish into thin air.
Phantom is a secure, anonymous, and ephemeral chat application built for privacy. Create a room, share the passcode, and chat. When you're done, or after 10 minutes of inactivity, everything disappears forever. No sign-up. No history. No trace.
- 👻 Anonymous: No accounts, no sign-ups, no tracking.
- 💨 Ephemeral: Rooms and messages self-destruct after 10 minutes of inactivity.
- 🔐 Secure: Rooms are protected by a random 6-digit passcode.
- ⚡ Real-Time: Instant messaging and live typing indicators.
- 🎨 Beautiful UI: Modern, dark-mode first design with smooth GSAP animations.
- 📱 Responsive: Fully optimized for mobile and desktop devices.
- ⛔ Room Destruction: Explicitly destroy a room to wipe data instantly.
- Framework: Next.js 16 (App Router)
- Database: Upstash Redis (Ephemeral storage)
- Realtime: Upstash Realtime (WebSockets)
- Styling: Tailwind CSS
- Animations: GSAP
- State Management: TanStack Query
- Node.js 18+
- An Upstash account (for Redis and Realtime)
-
Clone the repository:
git clone https://github.com/yourusername/phantom-chat.git cd phantom-chat -
Install dependencies:
npm install
-
Environment Variables: Create a
.envfile in the root directory and add your Upstash credentials:UPSTASH_REDIS_REST_URL="your_redis_url" UPSTASH_REDIS_REST_TOKEN="your_redis_token" NEXT_PUBLIC_APP_URL="http://localhost:3000"
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Built with ❤️ by Zahid