A modern React-based platform for virtual events, meetings, and social gatherings with AI-powered assistance.
π Live Application: RoomLoop App
- Live and Scheduled Rooms: Create and join rooms that are live or scheduled for the future
- Private and Public Rooms: Host public events or create private rooms with invite-only access
- Dashboard View: Grid-based dashboard with pagination and filtering (live, upcoming, past)
- Explore Page: Discover public events and your private rooms with search functionality
- Real-time Chat: Live chat with message history for all room participants
- Reactions: Express yourself with emoji reactions during meetings
- Room History: View closed room details and chat history
- User Management: Registration, authentication, and profile management
- Responsive Design: Fully responsive UI that works on desktop and mobile devices
- Ted AI Assistant: Built-in AI assistant accessible via
@aicommands - Smart Context: AI understands room context, participants, and conversation history
- Real-time AI Responses: Get instant AI assistance during meetings
- Participant-Aware: AI knows who's in the room and can reference ongoing discussions
- Formatted Responses: Clean, emoji-enhanced AI responses with proper text processing
- Live Chat: Real-time messaging with WebSocket integration
- User Presence: See who's online and active in the room
- Instant Notifications: Real-time updates for room events
- Message Reactions: React to messages with emojis in real-time
- Auto-scroll: Chat automatically scrolls to new messages
- Modern Design: Clean, intuitive interface with Material UI
- Dark/Light Theme: Toggle between themes for better user experience
- Accessibility: Screen reader support and keyboard navigation
- Mobile Responsive: Optimized for all device sizes
- Loading States: Smooth loading animations and skeleton screens
- Error Handling: User-friendly error messages and recovery options
- Frontend: React 18, TypeScript, Material UI v5
- State Management: React Context API with custom hooks
- Routing: React Router v6
- Real-time: Socket.IO client for live chat and reactions
- Styling: Material UI theming with custom styled components
- Authentication: JWT-based authentication with secure token storage
- AI Integration: OpenRouter API for AI assistant functionality
- Build Tool: Create React App with TypeScript
- Deployment: Vercel with automatic CI/CD
- Node.js (v16 or later)
- npm or yarn
- Backend server running (see server README)
-
Clone the repository:
git clone https://github.com/abhi21121211/roomloop-client.git cd roomloop-client -
Install dependencies:
npm install
-
Create environment file: Create a
.envfile in the root directory:REACT_APP_API_URL=http://localhost:5000/api REACT_APP_SOCKET_URL=http://localhost:5000
-
Start the development server:
npm start
-
Open your browser: Navigate to http://localhost:3000
-
Join any room (as host or participant)
-
Type
@aifollowed by your question, for example:@ai What's the agenda for today's meeting?@ai Can you summarize what we've discussed so far?@ai How many people are in this room?@ai What features does RoomLoop have?
-
Ted will respond with helpful, contextual information about:
- Room details and participants
- Meeting context and recent discussions
- RoomLoop features and usage tips
- General assistance and questions
- β Room Host/Creator: Full AI access
- β Room Participants: Full AI access
- β Invited Users: Full AI access (even before joining)
- β Non-participants: No AI access
npm start- Runs the app in development modenpm test- Launches the test runnernpm run build- Builds the app for productionnpm run eject- Ejects the create-react-app configuration
src/
βββ components/ # Reusable UI components
β βββ ai/ # AI-related components
β βββ common/ # Shared components (buttons, cards, etc.)
β βββ layout/ # Layout components
βββ contexts/ # React contexts for state management
β βββ AIContext.tsx # AI service context
β βββ AuthContext.tsx # Authentication context
β βββ ChatContext.tsx # Chat and messaging context
β βββ RoomContext.tsx # Room management context
β βββ ThemeContext.tsx # Theme management context
βββ pages/ # Main page components
β βββ Dashboard.tsx # Main dashboard
β βββ Explore.tsx # Room exploration
β βββ RoomView.tsx # Individual room view
β βββ Login.tsx # Authentication pages
β βββ Profile.tsx # User profile
βββ services/ # API and external service integrations
β βββ api.ts # REST API client
β βββ socket.ts # WebSocket client
βββ types/ # TypeScript type definitions
βββ utils/ # Utility functions
β βββ textProcessing.ts # AI text processing utilities
βββ App.tsx # Main application component
-
Create a Vercel account at vercel.com
-
Install Vercel CLI (optional):
npm install -g vercel
-
Create
vercel.jsonin the project root:{ "version": 2, "builds": [ { "src": "package.json", "use": "@vercel/static-build" } ], "routes": [ { "src": "/static/(.*)", "dest": "/static/$1" }, { "src": "/favicon.ico", "dest": "/favicon.ico" }, { "src": "/manifest.json", "dest": "/manifest.json" }, { "src": "/(.*).(js|json|css|svg|png|jpg|jpeg|ico|ttf|woff|woff2)", "dest": "/$1.$2" }, { "src": "/(.*)", "dest": "/index.html" } ], "env": { "REACT_APP_API_URL": "https://your-backend-url.com/api", "REACT_APP_SOCKET_URL": "https://your-backend-url.com" } } -
Connect to Vercel:
- Log in to Vercel dashboard
- Click "Add New" > "Project"
- Import your Git repository
- Set framework preset to "Create React App"
-
Configure environment variables in Vercel dashboard:
REACT_APP_API_URL: Your backend API URLREACT_APP_SOCKET_URL: Your backend WebSocket URL
-
Deploy:
- CLI: Run
vercelin project directory - Dashboard: Deployment starts automatically
- CLI: Run
- Grid Layout: Visual room cards with status indicators
- Smart Filtering: Filter by live, upcoming, past, and invited rooms
- Pagination: Handle large numbers of rooms efficiently
- Quick Actions: Join, view, or manage rooms directly from dashboard
- Search Functionality: Find rooms by title, description, or tags
- Filter Options: Public vs private rooms, room types
- Room Previews: See room details before joining
- Join Requests: Easy room joining with one click
- Live Chat: Real-time messaging with user avatars
- AI Integration: Ted AI assistant for meeting help
- Reactions: Emoji reactions on messages
- Participant List: See who's in the room
- Room Controls: Host controls for room management
- Chat History: View messages from closed rooms
- Context Awareness: AI knows room details and participants
- Conversation Memory: Remembers recent discussions
- Smart Responses: Helpful, relevant answers
- Error Handling: Graceful fallbacks when AI is unavailable
-
AI not working:
- Check if backend AI service is configured
- Verify OpenRouter API key is set in backend
- Ensure you're a participant in the room
-
Real-time chat not updating:
- Check WebSocket connection
- Verify backend server is running
- Check browser console for errors
-
Authentication issues:
- Clear browser cache and cookies
- Check JWT token expiration
- Verify backend authentication is working
-
Build errors:
- Run
npm installto update dependencies - Check TypeScript compilation errors
- Verify all imports are correct
- Run
-
Runtime errors:
- Check browser console for detailed errors
- Verify API endpoints are accessible
- Check environment variables are set correctly
We welcome contributions! Please feel free to submit a Pull Request.
- Follow TypeScript best practices
- Use Material UI components for consistency
- Add proper error handling
- Include loading states for async operations
- Test on multiple devices and browsers
This project is licensed under the MIT License - see the LICENSE file for details.
- Live Demo: RoomLoop App
- Backend Repository: roomloop-server
- Documentation: AI Features Guide




