A powerful React application for creating, customizing, and exporting high-quality chat conversation mockups.
Try it now at https://quead.github.io/
- 🎨 Multiple Layouts: Authentic recreations of popular messaging apps including WhatsApp, iMessage, Snapchat, Facebook Messenger, Instagram, and Tinder.
- 🌓 Light & Dark Modes: Full support for light and dark themes across all layouts.
- ⚡ Live Preview: Real-time rendering of your conversation as you build it.
- 🖼️ High-Quality Export: Download your creations as PNG or JPEG images with custom scaling.
- 👥 Participant Management: Add multiple users with custom avatars and names.
- 📱 Responsive Design: Works seamlessly on desktop and mobile devices.
- 🖱️ Drag & Drop: Reorder messages easily (powered by dnd-kit).
| Platform | Light Mode | Dark Mode |
|---|---|---|
| ✅ | ✅ | |
| iMessage | ✅ | ✅ |
| Facebook Messenger | ✅ | ✅ |
| Snapchat | ✅ | ✅ |
| Tinder | ✅ | ✅ |
| ✅ | ✅ |
Built with modern web technologies for performance and developer experience:
- Framework: React 19
- Build Tool: Vite
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: Zustand
- UI Components: Radix UI & Lucide React
- Export: html-to-image
- Node.js (v18 or higher recommended)
- npm, yarn, or pnpm
-
Clone the repository
git clone https://github.com/yourusername/chat-message-simulator.git cd chat-message-simulator -
Install dependencies
npm install # or yarn install -
Start the development server
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:5173
src/
├── components/
│ ├── chat/ # Chat visualization components
│ ├── editor/ # Editor interface components
│ ├── export/ # Export functionality
│ ├── layout/ # App layout and navigation
│ └── ui/ # Reusable UI components (Radix + Tailwind)
├── constants/ # Layout definitions and presets
├── layouts/ # Platform-specific layout wrappers
├── store/ # Global state (Zustand)
└── utils/ # Helper functions
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the Apache License 2.0 License - see the LICENSE file for details.