Skip to content

owsam22/quick-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

QuickChat Banner

✨ QuickChat

Instant. Anonymous. Real-Time Event Chat.

No Login β€’ No Phone Number β€’ No Friction
Built for seminars, workshops, hackathons, and instant collaboration.


πŸš€ Live Demo

πŸ”— https://owsam22-quickchat.vercel.app/


🎯 What is QuickChat?

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.

πŸ•’ The Event Chat Experience

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.


πŸ–ΌοΈ Preview

QuickChat UI Preview


✨ Core Features

⚑ Instant Anonymous Join

  • Users choose their own display name
  • Duplicate names prevented inside a room
  • No authentication required
  • User Profile Menu: Dropdown with logout and status indicators

πŸ“‚ WebRTC P2P File Sharing

  • 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

πŸ“² QR Code Access

QR Join Demo

  • Scan and join instantly
  • Optimized for projector-based seminars
  • Mobile-friendly experience

πŸ’¬ Real-Time Messaging

  • 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

🎨 Premium Glassmorphism UI

  • 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)

🧹 Automatic Room Lifecycle

  • No persistence
  • Temporary by design
  • Auto cleanup when last user exits

πŸ›  Tech Stack

Frontend

  • React (Vite)
  • Socket.IO-client
  • WebRTC API (RTCPeerConnection)
  • Styled-components (Dynamic Patterns)
  • Lucide React (Modern Icons)

Backend

  • Node.js
  • Express
  • Socket.IO

πŸ“‚ Project Structure

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

βš™οΈ Local Installation

1️⃣ Clone Repository

git clone https://github.com/owsam22/quick-chat.git
cd chat-room

2️⃣ Start Backend

cd backend
npm install
npm run dev

Backend runs at:

http://localhost:5000

3️⃣ Start Frontend

Open new terminal:

cd frontend
npm install
npm run dev

Frontend runs at:

http://localhost:3000

πŸ§ͺ How to Test

  1. Open http://localhost:3000
  2. Enter username
  3. Create or join a room
  4. Open second tab/browser
  5. Join same room with different name
  6. Start chatting instantly

πŸ” Design Philosophy

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.


🚧 Upcoming Features

  • Host controls (mute, kick, lock room)
  • Live polls
  • Q&A mode
  • Spam protection & rate limiting
  • Message length restriction
  • Export chat option

πŸ“ˆ Vision

QuickChat aims to become a lightweight browser-based interaction tool for:

  • πŸŽ“ College seminars
  • πŸ§‘β€πŸ’Ό Corporate workshops
  • πŸ’‘ Hackathons
  • πŸ“’ Live events

Focused. Fast. Disposable.


🏷️ Branding

QuickChat Watermark

Built with precision by SAM


πŸ“„ License

MIT License

About

Quick Chat| A high-velocity, real-time communication engine featuring session-based persistence, QR-encoded entry, and live presence tracking. Designed for instant, secure, and zero-footprint digital conversations. πŸ’¬πŸ”

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors