Full-Stack Developer Needed – Silent Virtual Study Room PlatformFreelanceJobs • Canada
Cette offre d'emploi n'est plus disponible
Full-Stack Developer Needed – Silent Virtual Study Room Platform
FreelanceJobs
- Canada
- Canada
À propos
## Project Summary
We are building — a focused productivity web platform where students join persistent, silent study rooms powered by Zoom. Users can only **see** each other (cameras on). All microphones are muted, chat is disabled, and there are zero distractions. Think of it as a virtual silent library where people hold each other accountable just by being visible.
We need an experienced full-stack developer to build this from scratch — frontend, backend, database, Zoom room configuration, admin panel, and deployment. **All UI/UX designs will be provided by us** — your job is to implement them pixel-perfect across all devices.
---
## Platform Overview
- Users sign in with **Google Login only**
- After login, users complete a quick profile: name, profile photo, and a personal tagline (e.g., "CA Final Prep" or "UPSC 2026")
- Home screen shows **3 always-on study room cards** with room name, participant count, and a "Join Room" button
- Clicking "Join Room" opens a **persistent Zoom meeting link** (24/7, never expires)
- Each Zoom room enforces complete silence — muted mics, no chat, no screen sharing, no waiting room
- Inside rooms, each participant is represented by a **visual profile card** showing their photo, name, and tagline
- Users can **send encouragements** (e.g., thumbs-up) to fellow participants — lightweight, positive, non-disruptive
- Users can **pin favorite study partners** so they appear at the top of the home screen
- After **1 hour of daily study time**, a friendly **"Buy the Developer a Coffee"** popup appears (dismissible, non-blocking, placeholder only — no payment gateway now)
- A full **moderator/admin dashboard** with real-time analytics, user management, and block/ban functionality
- Everything must be **fully responsive** across desktop, laptop, tablet, and mobile
---
## Detailed Feature Requirements
### 1. Authentication & Onboarding
- Google OAuth 2.0 as the **only** sign-in method
- After first login, user completes a profile setup: display name, profile photo (upload or pull from Google account), personal tagline (short text, e.g., "Studying for NEET 2026")
- User data stored in the database upon registration
- Session management with secure authentication tokens
### 2. Persistent Silent Study Rooms
- **3 permanent Zoom-powered study rooms** (Room 1, Room 2, Room 3) running **24/7 with no expiry and no time limits**
- Home screen displays **room cards** showing: room name, current participant count (live via Zoom API if possible), "Join Room" button
- Clicking "Join Room" opens the Zoom meeting link in a new tab or via Zoom app redirect
- Each Zoom room must be configured with:
- All participants join **muted by default**
- Participants **cannot unmute themselves**
- Chat and messaging **completely disabled**
- Waiting room **disabled** (instant join)
- Screen sharing **disabled**
- **No meeting password** required
- Video encouraged but **optional**
- Only host can unmute (host will not be present)
- Developer must either configure these 3 Zoom rooms directly **or** provide a detailed step-by-step setup guide
### 3. User Profile Cards (Inside Rooms)
- Every participant inside a room is represented by a **visual profile card** showing: profile photo, display name, personal tagline
- Displayed in a clean grid or list layout within the room view
- Responsive and readable on all screen sizes
### 4. Encouragement System
- Users can send encouragements to fellow participants directly from their profile card inside a room
- Example flow: Karan is studying alongside you → you tap his card → send a thumbs-up → Karan receives a notification: "Priya sent you an encouragement " → Karan can send one back
- Encouragement types: thumbs-up, clap, fire, star (or similar — we will confirm in design)
- Encouragements logged in the database (sender, receiver, type, timestamp)
- Real-time delivery via WebSocket, Firebase Realtime, or polling
- Lightweight and non-disruptive — should not break study focus
### 5. Pin Favorites
- Users can **pin** other users they find motivating or want to study with regularly
- Pinned profiles appear at the **top of the home page** when the app opens
- Easy to see when pinned study partners are **online** and in which room
- One-tap to jump into the same room as a pinned user
- Users can **unpin** at any time
- Stored in database (user_id, pinned_user_id, pinned_at)
### 6. Activity Logging & Session Duration Tracking
- System logs every study session: which user joined which room, join timestamp, leave timestamp, calculated session duration
- **Total cumulative study time per user** tracked and stored
- **Daily usage tracking** per user (total minutes studied per calendar day)
- All data accessible via the admin panel
- Code structured so **usage limits and subscription gating** can be added easily in the future
### 7. Soft Paywall — "Buy the Developer a Coffee" Reminder
- After **1 hour of cumulative daily study time**, show a **friendly, non-blocking popup** with a message like: "You've been studying for over an hour today — amazing This app is completely free. If you're finding it helpful, please buy the developer a coffee."
- Popup includes a **placeholder button** (no payment gateway at this stage)
- User can **dismiss** and continue with **no restrictions**
- Reappears **once per session** after the 1-hour daily mark
- Built so a real payment gateway (Razorpay, Stripe, etc.) and hard usage limits can be plugged in later with **minimal code changes**
- Daily usage data stored: user_id, date, total_minutes, paywall_shown, paywall_shown_at
### 8. Moderator & Real-Time Analytics Panel
**Real-Time Analytics:**
- Active users right now (total and per-room breakdown)
- Which users are in which rooms currently
- Live session durations for active users
**Platform-Level Stats:**
- Total registered users
- Total study hours logged (all-time)
- Daily, weekly, and monthly active users
- New user registrations over time
**Room-Level Data:**
- Room popularity (which room is used most)
- Peak usage times (by hour/day)
- Average session length per room
**User Management:**
- Search any user by name or email
- View individual user profile, study history, total hours, session logs
- **Block/ban users** instantly — blocked users see a clear restriction message
- **Unblock** functionality to reinstate users
**Admin Panel Must Also Be:**
- Fully responsive and usable on **tablet and mobile**
- Accessible only to authorized admin/moderator accounts (role-based access)
### 9. Fully Responsive Design
The entire platform must be optimized for:
- **Desktop:** 1440px+
- **Laptop:** 1024px – 1439px
- **Tablet:** 768px – 1023px
- **Mobile:** 320px – 767px
This applies to every screen: landing page, profile setup, home screen, room view, encouragements, pinned favorites, soft paywall popup, and admin panel. The mobile experience must feel native — not a shrunken desktop site.
---
## Technical Stack
- **Frontend:** React / (or equivalent modern framework)
- **Backend:** , Python Flask, or Firebase Cloud Functions
- **Database:** Firebase Firestore, PostgreSQL, or MongoDB
- **Authentication:** Google OAuth 2.0
- **Real-Time:** WebSockets, Firebase Realtime Database, or SSE
- **Video/Rooms:** Zoom Pro with 3 recurring persistent meetings
- **Hosting:** Vercel, Netlify, AWS, or similar
---
## Database Schema (Required Tables/Collections)
- **Users:** user_id, email, name, google_id, profile_photo_url, tagline, created_at, updated_at, total_study_time, is_blocked, blocked_reason, blocked_at, role (user/moderator/admin)
- **Activity Logs:** log_id, user_id, room_id, joined_at, left_at, duration_minutes
- **Encouragements:** encouragement_id, sender_id, receiver_id, type, room_id, timestamp
- **Pinned Users:** pin_id, user_id, pinned_user_id, pinned_at
- **Daily Usage:** record_id, user_id, date, total_minutes, paywall_shown, paywall_shown_at
- **Rooms:** room_id, room_name, zoom_link, zoom_meeting_id, is_active, created_at
- **Admin/Moderators:** admin_id, user_id, role, permissions, created_at
---
## Nice to Have (If Time Permits)
- Live participant count per room via Zoom API
- User-facing dashboard (total study hours, room history, session timer)
- Room status indicator (Active/Empty)
- Dark mode toggle
- PWA support (installable on mobile home screen)
---
## Deliverables
1. Complete source code in a GitHub repository (clean, well-commented, organized)
2. Deployed live website — fully responsive, including the moderator panel
3. 3 working Zoom room links configured as specified (or a detailed setup guide)
4. Comprehensive documentation: Zoom configuration, deployment/maintenance, database schema, admin panel usage, how to add rooms, how to integrate payment gateway later
5. Admin access to database and moderator dashboard
6. Code structured for easy future additions (payment gateway, usage limits, subscriptions, leaderboards)
---
## Ideal Candidate
- 3+ years full-stack web development experience
- Strong and modern frontend proficiency
- Google OAuth 2.0 implementation experience
- Firebase, PostgreSQL, or MongoDB experience
- Zoom API / Zoom meeting configuration familiarity (preferred)
- Real-time feature experience (WebSockets, Firebase Realtime)
- Pixel-perfect responsive design across all breakpoints
- Admin dashboard and analytics experience
- Clean code with proper documentation
- Good communication with regular progress updates
- Bonus: Razorpay or Stripe experience (for future phases)
---
## Timeline
**2–3 weeks** from project kickoff to final deployment.
---
## How to Apply
Please include in your proposal:
1. A brief explanation of how you would approach this project technically
2. Your experience with Google OAuth, Zoom API, and real-time features
3. Links to 2–3 relevant past projects (video platforms, real-time apps, or admin dashboards preferred)
4. Your availability and estimated timeline for each milestone
5. Confirmation that you can work within the milestone-based payment structure
6. Any questions or suggestions about the project
---
**Skills:** React, , , Firebase, Google OAuth, Zoom API, MongoDB, PostgreSQL, Responsive Design, WebSockets, REST API, Admin Dashboard, Full-Stack Development, Real-Time Applications, PWA
Contract duration of 1 to 3 months. with 30 hours per week.
Mandatory skills: Zoom Video Conferencing, Websockets, REST API, React,
Compétences linguistiques
- English
Avis aux utilisateurs
Cette offre a été publiée par l’un de nos partenaires. Vous pouvez consulter l’offre originale ici.