How to Build a Virtual Events Platform Like Hopin: Live Sessions, Networking Rooms, and Real Costs

App DevelopmentNov 17, 2025 · 12 min read

Building a virtual events platform requires four core venue areas: a stage for keynote broadcasting (Mux HLS), interactive sessions (Daily.co WebRTC rooms), a networking area for 1:1 video pairing, and virtual sponsor booths. Add Stripe ticketing, Redis-powered live chat, and on-demand recording. RaftLabs builds vertical event platforms in 16-20 weeks for $160K-$240K. Do not build your own video infrastructure. That is a 12-month distraction.

Key Takeaways

  • Hopin sold its events business for $15M after reaching a $7.8B valuation. The mistake was horizontal: trying to serve every industry with one generic product.
  • Do not build video infrastructure. Daily.co charges $0.004 per participant minute. Mux charges $0.015 per minute for live streams. Both handle everything the hard way, so you don't have to.
  • Stage broadcasting and session rooms are different technical problems. A keynote to 5,000 people needs Mux HLS. A 50-person workshop needs Daily.co WebRTC. Use both.
  • Redis Pub/Sub handles live chat fan-out to thousands of simultaneous connections. PostgreSQL handles the durable event data. Both are required, not interchangeable.
  • On-demand recording is a second revenue window. Mux stores recordings automatically. Gate them for 30 days post-event and sell access to attendees who missed sessions.

TL;DR

Hopin raised over $1B, hit a $7.8B valuation, then sold its events business for $15M. The platform tried to serve every industry with one generic product and got undercut everywhere. The right move is vertical: a virtual events platform built for medical conferences, legal continuing education, trade show organizers, or a specific professional association. That product costs $160K-$240K and 16-20 weeks to build. Here is how to do it.

According to Grand View Research, the global virtual events market was valued at $114 billion in 2021 and continues to grow despite the return of in-person conferences. The reason: hybrid models and niche vertical platforms are capturing the market that horizontal tools like Hopin failed to serve.

Hopin's collapse is a product lesson, not a fundraising one. The company built horizontal software in a space where vertical wins. A generic virtual events tool competes with Zoom, Teams, Webex, Hopin, Bizzabo, and ten others on every feature. A virtual events platform built specifically for the American Medical Association's annual conference, or for legal CLE providers, or for trade show organizers in a specific industry, competes with none of them. It solves problems generic tools ignore: CME credit tracking, bar association attendance certificates, or industry-specific lead capture for exhibitors.

Who builds this: professional associations running annual conferences, trade show organizers serving a specific industry, enterprise L&D teams running internal all-hands and training events, media companies running paid virtual summits, and universities running hybrid commencement and convocation ceremonies.

What you are not building

Before covering the architecture, one firm rule: do not build video infrastructure.

"The winners in virtual events won't be the ones with the most features. They'll be the ones who understand a specific professional community's compliance and networking needs better than anyone else." -- Julius Solaris, founder of EventMB and one of the most cited voices in professional event strategy, writing in his 2022 industry review.

Video streaming is the hardest engineering problem in consumer software. Codec negotiation, adaptive bitrate switching, CDN edge distribution, WebRTC STUN/TURN server management, browser compatibility across Safari, Chrome, and Firefox, network jitter compensation: this is a full engineering team's work for a year. And it is already solved.

Daily.co charges $0.004 per participant minute for WebRTC video rooms. A 50-person session running for an hour costs $12. Mux charges $0.015 per streaming minute for one-way live broadcasts. A two-hour keynote to 5,000 attendees costs $1.80 in delivery. Agora handles large-scale interactive video for audiences up to 1,000. Use the infrastructure that already exists. Your competitive advantage is the product experience and the vertical fit, not the video transport layer.

The four venue areas

A virtual events platform is not one video room. It is four distinct venue areas with different technical requirements.

Stage: One-to-many broadcast. A keynote speaker addresses 5,000 attendees. The speaker is not in a video call with 5,000 people. That is technically and economically impossible. The speaker sends an RTMP stream to Mux's ingest endpoint. Mux converts it to HLS and distributes it via CDN. Every attendee's browser runs an HLS player (HLS.js) that pulls the stream. The result: 15-30 second latency, no concurrent connection limit, and $0.015 per streaming minute.

Sessions: Interactive rooms. A 50-person workshop where the facilitator can see participants and participants can speak. This is a genuine video call, and Daily.co WebRTC rooms handle it well. Create a Daily.co room per session via API when the session starts. Pass the join token to each registered attendee. Destroy the room when the session ends. The React SDK handles everything in the browser.

Networking area: Speed networking, the feature that makes virtual events feel less like watching a webinar and more like attending a conference. Attendees enter the networking area and get auto-paired with another attendee for a 5-minute 1:1 video call. When the timer expires, both participants are separated and paired with someone new. Use Daily.co rooms: create a room, add two participants, start a server-side timer, and end the room when time is up.

Expo booths: Sponsor virtual booths. Each booth has a text chat feed, a resource download section (PDFs, product decks, videos), and a video meeting option where a visitor can request a live call with a booth representative. The video call uses Daily.co. Lead capture happens automatically: any attendee who visits the booth has their name, title, and company recorded in the exhibitor's lead list.

The four venue areas

1

Stage

Mux live streaming

One-to-many broadcast via Mux HLS. Keynote speaker to any audience size. No participant limit.

2

Sessions

Daily.co WebRTC

Interactive video rooms for up to 200 participants. Workshops, panels, roundtables.

3

Networking

Daily.co + server timer

Auto-paired 1:1 speed networking with countdown timer. Algorithmic matching by job title and interests.

4

Expo booths

Daily.co + lead capture

Sponsor virtual booths with text chat, resource downloads, and on-demand video meetings.

Registration and ticketing

Eventbrite's 2023 event trends report found that events with tiered ticketing (general, VIP, group) generate 23% more revenue per attendee than flat-rate events. Your registration architecture should support multiple ticket types from day one.

The registration system has two jobs: collect the right information from each attendee at sign-up, and enforce access rules during the event.

Ticket types cover the common cases: free registration (open to all, common for association members), paid general admission, paid VIP (access to additional sessions or networking rooms), single-day passes for multi-day events, and group rates for organizations registering five or more people. Stripe handles all payment flows.

The registration form collects the basics (name, email, organization, job title) plus any event-specific fields the organizer configures. For a medical conference, that might include NPI number and specialty. For a legal CLE event, bar number and state. These custom fields feed into the CME or CLE credit tracking system at the end of the event.

After registration, each attendee gets a confirmation email with a unique event link. That link includes a signed JWT that authenticates them throughout the event. When they click into a session, join a video room, or visit an expo booth, the JWT identifies who they are. No separate login is required on event day.

The attendee experience

When an attendee enters the virtual event, they land in the lobby. The lobby is the navigation hub: the day's agenda with session start times, speaker cards, sponsor logos, and their personal schedule.

The agenda builder lets attendees plan their day before the event. A medical conference might have 12 parallel sessions running simultaneously across three tracks. An attendee who wants to see the morning keynote, attend a 10am workshop on a specific topic, and then go to a 2pm panel needs to build that schedule in advance. The agenda builder shows all sessions, lets attendees click to add each one to their personal schedule, and warns them when two selected sessions overlap.

During a live session, the right rail carries the interactive layer: a live chat feed for audience commentary, a Q&A module where attendees submit questions for the speaker, and polls that the host can launch at any point. Q&A works best with upvoting: attendees upvote questions they want answered, and the host or moderator sees the most-requested questions at the top of their view. Polls show results in real time as responses come in.

The chat and Q&A run on WebSocket connections. Redis Pub/Sub handles the fan-out: when one attendee sends a chat message, the backend publishes it to a Redis channel keyed to that session. Every WebSocket connection subscribed to that channel receives the message within milliseconds.

Networking mechanics

The networking area is the hardest feature to design well and the one attendees remember most.

Algorithmic matching pairs attendees based on the profile information they provided at registration: job title, company size, industry, and declared interests. A first-time conference attendee and a C-suite executive get different match queues. A product manager and a UX researcher get paired more often than a product manager and an accountant.

The matching algorithm runs on a simple compatibility score: count the shared attributes between two attendees. Prioritize pairs who have not met before in this event's networking history. Deprioritize re-matches within the same day.

The 5-minute speed networking round works like this: when an attendee clicks to join, the server adds them to a pool. A pairing job runs every 30 seconds, taking pairs from the pool and creating Daily.co rooms for each. Each room gets a server-side countdown timer. When the timer reaches zero, the server sends a "round ending" event over WebSocket to both participants, closes the Daily.co room 30 seconds later, and returns both attendees to the pool for the next round. If an attendee leaves the pool, they opt out of further matching.

Meeting requests are a parallel feature. Attendee A can browse the attendee directory, view Attendee B's profile, and send a meeting request for a specific time slot. If Attendee B accepts, a Daily.co room is created for that time and both receive a calendar invite via email.

The expo floor justifies the cost of attendance for many professional conferences. Sponsors pay tens of thousands of dollars for a physical booth at an in-person event. A virtual expo booth has to give them comparable value.

Each sponsor booth has a configurable layout: a banner image, a short description, downloadable resources (product sheets, case studies, recorded demos), an embedded product video, a text chat feed, and a "Meet with us" button that creates an on-demand Daily.co room between a visitor and a booth representative.

Lead capture is automatic. Every attendee who visits the booth for more than 30 seconds is added to the exhibitor's lead list, with their name, title, company, and the timestamp. The exhibitor views their leads in a simple dashboard and exports to CSV at any time. Attendance time threshold is configurable.

Session sponsorship adds a logo overlay to the stage player during sponsored sessions, a 60-second pre-roll video before the session starts, and the sponsor's name in the session listing. This is a lower-cost option for sponsors who want visibility without a booth presence.

On-demand recording

Wistia's State of Video report found that on-demand content gets 30% more total views than live sessions because global audiences watch in their own time zones. For events, that means on-demand isn't a backup. It's a second revenue window.

Mux records all live streams automatically. When a stage session ends, the recording is available in Mux's asset library within minutes.

Post-event, the platform publishes all recordings gated behind the event registration. Registered attendees can access any session they missed for 30 days after the event. After 30 days, access closes unless the organizer purchases an on-demand extension.

For paid events, on-demand access creates a second revenue window. Sell 30-day on-demand access as a separate SKU to people who could not attend live: $49 for access to all recordings, or $99 for a bundle of recordings plus the next live event. Many associations generate 20-30% of event revenue from on-demand sales.

Sessions use rooms (Daily.co) rather than Mux for their video. To record Daily.co sessions, enable recording at the room level via the Daily.co API. Daily.co records to its own storage and provides a download link. Pull the recording via API after the session ends and store it in your S3 bucket. Publish from there or ingest to Mux for consistent HLS delivery.

Analytics

The analytics layer answers the questions event organizers actually care about.

Session attendance by time slot shows which sessions were packed and which were empty. An attendance chart that plots unique viewers over time for each session reveals when people joined, when they left, and at what point the audience dropped off. If 80% of attendees leave the 3pm session within 10 minutes, that is feedback the content team needs.

Engagement score combines four signals per attendee: messages sent in chat, questions submitted in Q&A, polls answered, and sessions attended. An attendee who joined three sessions, asked two questions, and sent five chat messages gets a higher engagement score than one who passively watched the main stage. High-engagement attendees are better leads for sponsors and better feedback sources for the organizer.

Attendee journey shows the sequence of sessions each person attended. A medical conference organizer can see whether attendees who came for the morning keynote also stayed for the afternoon workshops, or whether the two audiences were distinct groups. This informs programming decisions for the next event.

Tech stack and timeline

The platform runs on React for all client-side surfaces, with Next.js handling server-side rendering for the public-facing event pages. Node.js on the backend. PostgreSQL for event data, session records, registration, ticketing, and attendee profiles. Redis for live chat pub/sub, attendee presence indicators, and networking pool management. Daily.co for interactive video rooms. Mux for stage streaming and recording. Stripe for payments. SendGrid for transactional email.

Build timeline

1

Scoping and architecture

Weeks 1-2

Define venue areas, data model, video provider configuration, and integration points.

2

Registration and ticketing

Weeks 3-5

Stripe payments, custom fields, confirmation emails, attendee authentication.

3

Event venue and streaming

Weeks 6-11

Stage (Mux), session rooms (Daily.co), expo booths, lobby and agenda builder.

4

Networking and live interaction

Weeks 12-15

Speed networking pairing, meeting requests, live chat, Q&A, polls.

5

Analytics, on-demand, and QA

Weeks 16-20

Attendance analytics, engagement scoring, recording pipeline, load testing.

The total timeline is 16-20 weeks. Build cost is $160K-$240K, depending on the complexity of the networking algorithm, whether a native mobile app is required, and the number of custom integrations (CRM, association management system, CME credit provider).

Start with one venue area

Most clients underestimate the scope of a full virtual events platform at first. Start with the stage and registration. Run one event. Then add session rooms, then networking. Each addition is a discrete project with discrete revenue. You don't need to ship everything before your first conference.

The vertical advantage

A horizontal platform like Hopin could not charge premium prices to any single vertical because it offered nothing specific to that vertical. A platform built for medical conference organizers can track CME credit hours, integrate with ACCME reporting, and handle the specific attendee data that medical associations need to collect. That product charges $30K-$50K per event in platform fees, not a percentage of ticket sales.

The same logic applies to legal CLE events, financial advisor summits, trade shows for specific industries, or enterprise L&D. Each vertical has compliance requirements, attendee data needs, and reporting requirements that generic platforms don't address. That specificity is the product.

A generic virtual events tool puts you in a $10/month SaaS competition with Zoom and Teams. A vertical platform puts you in a $40K/event B2B sale with no real competitors. Build the vertical.

Frequently asked questions

A production-ready vertical virtual events platform takes 16-20 weeks from scoping to launch. This includes registration and ticketing, stage broadcasting, interactive session rooms, networking, sponsor booths, live chat, and on-demand recording. Adding a custom mobile app or advanced algorithmic networking extends the timeline. Two weeks of scoping and discovery precede the build.
A custom virtual events platform costs $160K-$240K. The range depends on the complexity of the networking features, whether you need a native mobile app, the number of concurrent streaming sessions, and the sophistication of analytics. Core platforms without mobile land at the lower end.
Daily.co is the best default for interactive sessions up to 200 participants. It offers a React SDK, room-level controls, and predictable pricing at $0.004 per participant minute. Agora handles larger-scale interactive video (up to 1,000 with audience view). For one-way broadcast to thousands, use Mux or Cloudflare Stream on top of an RTMP feed, not WebRTC. You will use multiple providers: Mux for the main stage, Daily.co for breakout sessions.
The main stage is not a video call. It is a broadcast. Use Mux live streaming. The speaker sends an RTMP stream to Mux's ingest endpoint. Mux converts it to HLS and delivers it via CDN to every attendee. An HLS player (HLS.js) in the browser plays the stream with a 15-30 second delay. This architecture scales to any audience size without engineering work on your end. The cost is $0.015 per streaming minute.
Live chat in a virtual event is a real-time pub/sub problem, not a storage problem. Use Redis Pub/Sub to broadcast chat messages to all connected clients instantly. Store the last 100 messages per session in Redis for late-joiners. Archive all messages to PostgreSQL at session end for compliance and replay. WebSocket connections (via Socket.io or native WS) carry the messages from server to browser.

Ask an AI

Get an instant summary of this post from your preferred AI assistant.