Explore the clean and interactive frontend of a messaging app with dark mode, responsive layout, and persistent local storage using IndexedDB. Built with Next.js, React, and TypeScript.
MyMessenger is a sleek, frontend-only messaging app that uses Next.js, React, and TypeScript for a modern chat experience.
With features like message persistence, image attachments, emoji picker, and typing indicator, this demo simulates a real-time messaging experience entirely on the client-side.
The app utilizes IndexedDB for local message and image storage, so your messages persist even after page reloads.
- π¨ Dark Theme β polished dark UI with smooth animations
- π± Responsive Design β optimized for mobile, tablet, and desktop
- π§ Message Persistence β store messages and images locally in IndexedDB
- πΌοΈ Image Attachments β upload and preview images before sending
- π Emoji Picker β easily insert emojis into messages
- β³ Typing Indicator β shows typing status while typing a message
- π±οΈ Interactive Contact List β easily switch between chats
- π Auto-Reply Simulation β simulate receiving a reply after a delay
| Technology | Purpose |
|---|---|
| βοΈ React | Dynamic UI and chat logic |
| π§ Next.js | File-based routing & optimization |
| π¦ TypeScript | Type safety and structured code |
| π¨ Tailwind CSS | Styling and responsive design |
| ποΈ IndexedDB | Persistent local storage for messages and images |
| π react-icons | Small, clean icons for UI elements |
| π¬ Next.js Client Component | Entire app built as a client-side component |
Users can:
- Switch between contacts and view individual chat windows π±οΈ
- Send text messages and upload images with previews πΌοΈ
- All chat history, including images, is stored in the browser using IndexedDB for persistence π
- Use the built-in emoji picker to enhance messages π
- See a typing indicator when the user is typing β³
- Interact with the UI in a smooth, responsive experience π¬
This project demonstrates modern front-end techniques with persistent local storage, UI interactivity, and responsive design.
Developed by: Your Name
π¬ Front-End Developer | Building interactive, immersive web experiences

