A modern, anonymous real-time chat application built with React and Socket.IO
- π Anonymous messaging - Instant communication without revealing identity
- π Create & Join anonymous rooms - Easy room creation with 6-digit room codes
- π₯ Anonymous participants - See who's online without personal information
- π‘ Anonymous typing indicators - Know when others are typing
- π¨ Modern UI - Beautiful interface with dark/light theme support
- π± Responsive design - Works seamlessly on desktop and mobile
- β‘ Loading animations - Smooth user experience with loading states
- π Room cleanup - Automatic memory optimization and room management
- π CORS support - Production-ready with proper CORS configuration
- π΅οΈ Complete anonymity - No personal data required or stored
- React 19.1.1 - Modern React with hooks
- TypeScript - Type-safe development
- Vite - Fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible component primitives
- Socket.IO Client - Real-time communication
- Lucide React - Beautiful icons
- Node.js - JavaScript runtime
- Express.js - Web application framework
- Socket.IO - Real-time bidirectional communication
- CORS - Cross-origin resource sharing
- ES6 Modules - Modern JavaScript modules
- Node.js (v18 or higher)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/a9irudhh/tiktalk.git cd tiktalk -
Setup Backend
cd backend npm install -
Setup Frontend
cd ../frontend/vite-project npm install
-
Start the backend server
cd backend npm startServer will run on
http://localhost:8000 -
Start the frontend development server
cd frontend/vite-project npm run devFrontend will run on
http://localhost:3000 -
Open your browser and navigate to
http://localhost:3000
tiktalk/
βββ backend/ # Node.js backend
β βββ src/
β β βββ index.js # Main server file
β βββ package.json
β βββ README.md
βββ frontend/
β βββ vite-project/ # React frontend
β βββ src/
β β βββ components/ # UI components
β β β βββ ui/ # Radix UI components
β β β βββ LoadingSteps.tsx
β β β βββ LoadingButton.tsx
β β β βββ SuccessAnimation.tsx
β β β βββ mode-toggle.tsx
β β β βββ theme-provider.tsx
β β βββ lib/
β β β βββ utils.ts # Utility functions
β β βββ App.tsx # Main app component
β β βββ main.tsx # Entry point
β βββ public/
β β βββ favicon.ico # Favicon
β β βββ favicon.png
β βββ package.json
β βββ vite.config.ts
βββ static/ # Demo images
β βββ landing_page.png
β βββ room_creation.png
β βββ texting.png
βββ LICENSE
βββ README.md
- No Registration Required: Jump straight into anonymous conversations
- Temporary Identities: Use any name without account creation
- No Data Storage: Messages and user data are not permanently stored
- Complete Privacy: No tracking or personal information collection
- Room Creation: Generate 6-digit room codes automatically for anonymous rooms
- Room Joining: Join existing anonymous rooms with room codes
- Automatic Cleanup: Empty rooms are automatically deleted when the last user leaves
- Memory Optimization: Periodic cleanup of stale connections
- Instant Anonymous Messaging: Messages appear immediately for all participants
- Anonymous Typing Indicators: See when other anonymous users are typing
- Live Participants: Real-time anonymous participant count and list
- Connection Management: Graceful handling of disconnections
- Loading States: Beautiful loading animations during anonymous room operations
- Success Feedback: Confirmation animations for successful anonymous actions
- Error Handling: Clear error messages for better UX
- Responsive Design: Optimized for all screen sizes
- Privacy First: Designed with anonymity and privacy as core principles
join- Join an anonymous chat roomchat- Send an anonymous messagetyping- Indicate typing status anonymouslyexit- Leave an anonymous roomgetAllNames- Get all anonymous user names
joinConfirmed- Confirm successful anonymous room joinparticipants- Updated anonymous participant listchat- Receive an anonymous messagetyping- Anonymous typing indicator from other userserror- Error messages
GET /- Health checkGET /stats- Anonymous room statistics (total users, rooms, etc.)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Anirudh R H
- GitHub: @a9irudhh
- Socket.IO for real-time communication
- Radix UI for accessible components
- Tailwind CSS for styling
- Lucide for beautiful icons
- Vite for fast development experience
Made with β€οΈ by Anirudh R H
β Star this repo if you find it helpful!


