No Login • No Phone Number • No Friction
Built for seminars, workshops, hackathons, and instant collaboration.
🔗 https://quickchat-owsam22.vercel.app/
QuickChat is a temporary, anonymous real-time chat platform designed for live events.
Create a room.
Display the QR.
Participants join instantly.
Room closes automatically when everyone leaves.
No accounts.
No stored messages (after room closing).
No long-term data retention.
QuickChat is optimized for live, flowing conversations. Unlike simple ephemeral chats, QuickChat maintains a persistent session history. This means latecomers can see all previously shared messages and files, ensuring no one misses out on the context of the event.
- Users choose their own display name
- Duplicate names prevented inside a room
- No authentication required
- User Profile Menu: Dropdown with logout and status indicators
- Peer-to-Peer Transfer: Secure, direct file sharing using
RTCDataChannel - Zero Server Storage: Files are streamed directly between browsers
- Metered STUN/TURN: Robust NAT traversal to work across different networks
- On-Demand History: Late joiners can request files shared earlier in the room session
- Real-time Progress: Visual progress bars for both sender and receiver
- Scan and join instantly
- Optimized for projector-based seminars
- Mobile-friendly experience
- Powered by Socket.IO
- Instant delivery
- Persistent Session History: Latecomers can see all previous messages and files shared since the room started
- Bi-directional Swipe-to-Reply: Right-swipe on others, Left-swipe on self to reply
- Join/leave system notifications
- Real-time Typing Indicators
- Auto-scroll behavior
- Room auto-closes when empty
- Blur + glass effect
- Animated Dynamic Pattern: Modern sliding geometric background
- Responsive Header: Mobile-optimized layout with keyboard-aware positioning
- Modern gradient glow accents
- Clean, minimal layout
- Fully responsive (supports
100dvh)
- No persistence
- Temporary by design
- Auto cleanup when last user exits
- React (Vite)
- Socket.IO-client
- WebRTC API (RTCPeerConnection)
- Styled-components (Dynamic Patterns)
- Lucide React (Modern Icons)
- Node.js
- Express
- Socket.IO
QuickChat/
├── 📁 assets
│ ├── 🖼️ banner.png
│ ├── 🖼️ preview.png
│ ├── 🖼️ qr-demo.gif
│ └── 🖼️ watermark.png
├── 📁 backend
│ ├── 📄 index.js
│ ├── ⚙️ package-lock.json
│ └── ⚙️ package.json
├── 📁 frontend
│ ├── 📁 public
│ ├── 📁 src
│ │ ├── 📁 components
│ │ │ ├── 📄 backgroundPattern.tsx
│ │ │ ├── 📄 ChatArea.tsx
│ │ │ ├── 📄 Login.tsx
│ │ │ ├── 📄 NewRoomTab.tsx
│ │ │ ├── 📄 QRModal.tsx
│ │ │ ├── 📄 SearchTab.tsx
│ │ │ ├── 📄 SettingsTab.tsx
│ │ │ └── 📄 Sidebar.tsx
│ │ ├── 📁 hooks
│ │ │ └── 📄 useWebRTC.ts
│ │ ├── 🎨 App.css
│ │ ├── 📄 App.tsx
│ │ ├── 🎨 index.css
│ │ ├── 📄 main.tsx
│ │ └── 📄 vite-env.d.ts
│ ├── 🌐 index.html
│ ├── ⚙️ package-lock.json
│ ├── ⚙️ package.json
│ ├── ⚙️ tsconfig.json
│ ├── ⚙️ tsconfig.node.json
│ └── 📄 vite.config.js
├── ⚙️ .gitignore
├── 📝 README.md
├── ⚙️ package-lock.json
└── ⚙️ package.json
git clone https://github.com/owsam22/quick-chat.git
cd chat-roomcd backend
npm install
npm run devBackend runs at:
http://localhost:5000
Open new terminal:
cd frontend
npm install
npm run devFrontend runs at:
http://localhost:3000
- Open
http://localhost:3000 - Enter username
- Create or join a room
- Open second tab/browser
- Join same room with different name
- Start chatting instantly
QuickChat is built around:
- 🚫 No accounts
- ⚡ Instant access
- 🧹 Temporary collaboration
- 🔒 Privacy by default
It is not trying to replace large messaging platforms.
It is built specifically for short-lived live interactions.
- Host controls (mute, kick, lock room)
- Live polls
- Q&A mode
- Spam protection & rate limiting
- Message length restriction
- Export chat option
QuickChat aims to become a lightweight browser-based interaction tool for:
- 🎓 College seminars
- 🧑💼 Corporate workshops
- 💡 Hackathons
- 📢 Live events
Focused. Fast. Disposable.
Built with precision by SAM
MIT License


