>
Open Source

Our Virtual Conference Used These Open Source Tools—Here’s the Stack

Our Virtual Conference Used These Open Source Tools (And Saved $80,000)

I helped organize a 700-person virtual conference last year, and the entire thing was built on open source tools. Stage production, attendee registration, sponsor booths, networking, live streaming, recording, on-demand playback. The total software cost was zero. The total platform-fee savings, compared to the SaaS (Software as a Service) equivalent, were around $80,000 over the two-day event. The labor cost was real but smaller than I expected, because the tools we used were designed to be operated by a small team.

I am writing this because most “how we ran a virtual conference” articles assume you are going to pay Hopin or Airmeet $10,000-$50,000 for a license. You do not have to. Here is what we used, what worked, and what we would change.

The stack, top to bottom

The conference was a multi-track, two-day event with a sponsor hall, scheduled 1:1 networking, and on-demand recordings that stayed accessible for 90 days post-event. We had a single producer (me), two A/V (audio/visual) volunteers, and a Discord moderator. The whole thing ran on a small VPS (Virtual Private Server, a rented virtual machine) we already owned, plus a few SaaS services for things open source genuinely does not do well.

The pieces:

  • Jitsi Meet for the actual video conferencing. Jitsi is an open source WebRTC (Web Real-Time Communication, the browser standard for audio and video in web pages) platform you can self-host. It powers 8×8’s commercial product and a chunk of the French government’s video infrastructure. We ran three Jitsi rooms, one per talk track, on a single small VPS. They held up.
  • Pretix for ticketing and registration. Pretix is an open source ticketing platform built in Germany. It handles ticket tiers, discount codes, payment processing, attendee check-in, and EU VAT (value-added tax) compliance. The hosted version costs money, but you can self-host it on a small server for free.
  • Open Streaming Server for the live streams we pushed to YouTube. Most attendees watched the talks on YouTube. Jitsi handled the speaker-end production, OBS (Open Broadcaster Software, a free app for capturing and streaming video) pushed the output to YouTube Live. This is the standard pattern, and the open source part of it (OBS) is the only realistic option regardless of what you are using for conferencing.
  • BigBlueButton for the workshops. BigBlueButton is a virtual classroom platform built for education. It has breakout rooms, whiteboards, and the kind of presenter controls you want for a hands-on workshop. We used it for the four paid workshop tracks, and it handled the load better than I expected.
  • Rocket.Chat for chat and Q&A. Rocket.Chat is a self-hostable Slack alternative. We had a channel per talk, a sponsor channel, a help channel, and a “hallway track” channel for off-topic chatter. The RocketChat mobile app was good enough that we did not need a separate mobile app.
  • WordPress with the Events Made Easy plugin for the schedule and the speaker bios. We already had a WordPress site for the conference, and the plugin handled the schedule grid, the speaker pages, and the integration with Pretix. Not the most glamorous tool, but it worked.
  • Mailu for the email we sent to attendees. Mailu is a self-hosted email stack. We ran it on a $5/month VPS and used it for transactional email (ticket confirmations, schedule reminders, post-event follow-up). I would not self-host email for a production workload, but for a one-time event with 700 attendees, it was fine.
  • Nextcloud for the file sharing. Speaker slides, sponsor materials, the post-event recordings. Nextcloud is a self-hosted file sync and share platform. We gave each speaker and sponsor a folder, and they uploaded their materials directly. The alternative was a Dropbox Business subscription, which would have been $600 for the event.

The things open source did not solve

I want to be honest about the gaps, because there are gaps.

The platform equivalent of Hopin or Airmeet, the all-in-one “registration to networking to stage to sponsor hall” experience, does not exist as a single open source project. There are pieces (Pretix, Jitsi, BigBlueButton, Rocket.Chat) that you can stitch together, but the stitching is the work. A non-technical organizer is going to have a hard time. The total time we spent on integration was about 40 hours of developer time, spread across two weeks before the event.

Sponsor booths, in particular, came out weak. Hopin has interactive sponsor booths with embedded videos, downloadable content, and lead capture. Our equivalent was a Rocket.Chat channel, a Nextcloud folder, and a “sponsor” page on the WordPress site. The sponsors were not happy about it. Lead capture, in particular, was much worse. We ended up manually exporting the Rocket.Chat user list and matching it against the sponsor content download logs, which is not a system.

On mobile, the experience was uneven. The Jitsi mobile app was fine. The Rocket.Chat mobile app was fine. The Pretix mobile app was fine. The WordPress site was fine on mobile, but the schedule grid was hard to read on small screens. The “native” experience of a paid platform, where every feature is in one app, is genuinely better than three or four apps and a website. We accepted this as a trade-off.

Networking was worse than Hopin. Hopin has a “speed networking” feature that randomly matches attendees for 5-minute video chats. We did not have that. The closest we got was the Rocket.Chat hallway track, which was fine for text-based networking and bad for serendipitous video meetings. The 1:1 meetings attendees did schedule were mostly on Jitsi, and they required one of the attendees to create the room and share the link. Friction is real, and a paid platform removes it.

The cost math, exactly

For a 700-person, two-day virtual conference with three talk tracks and four paid workshops, the SaaS equivalent would have been:

  • Hopin: $10,000-$25,000 depending on the tier
  • Pretix hosted: $0 (the free tier handles 700 attendees, with payment processing fees)
  • BigBlueButton hosted: not applicable (commercial platforms use Zoom, $1,500-$3,000)
  • Rocket.Chat hosted: $3-$7 per user per month, so $0-$1,500
  • Nextcloud: $0 (self-hosted) or $600 (Dropbox Business)
  • Streaming: YouTube Live, free

The realistic Hopin-only bill would have been $10,000 to start, with add-ons for workshops, sponsor booths, and on-demand pushing it to $20,000-$30,000. Plus the $1,500-$3,000 for Zoom for the workshops. The total savings were not the $80,000 I quoted in the headline, but they were real: between $20,000 and $35,000 saved on platform fees, plus another $2,000-$5,000 in avoided SaaS subscriptions.

The honest version of the cost is: the platform fees were the easy savings. The hard cost was the 40 hours of developer time, which at a reasonable contractor rate is $4,000-$8,000. The net savings were still $15,000-$25,000, but they came with a labor cost that the “saved $80,000” headline did not capture.

Trade-offs you should know

Going open source for a virtual conference is not a free lunch. The trade-offs are real, and you should know them going in:

  • The integration work is non-trivial. A non-technical organizer is going to struggle. The pieces are all there, but they do not fit together out of the box. You will write or adapt glue code. You will debug WebRTC issues. You will spend an evening figuring out why BigBlueButton’s recording format is not what you expected.
  • The sponsor experience is materially worse. Sponsors pay for leads, and the open source toolchain does not have a great lead capture story. If your event is sponsor-funded (most are), the sponsors will notice, and they will pressure you to add a paid platform for the next event.
  • The user experience is fragmented. Three or four apps and a website, instead of one app. The attendees will not love it, and you will hear about it in the post-event survey.
  • The operational risk is on you. When the Jitsi server crashes at 10:30 AM on the second day, there is no support number to call. There is a Discord channel, and a few people who know Jitsi well, and your own knowledge. If you are not comfortable with that, the paid platform is the right call.
  • The post-event networking decays fast. A paid platform keeps a “hallway” alive for weeks after the event. Our Rocket.Chat instance is still up, but it is dead. The community did not migrate to a long-term home. The event is over, and the connection faded with it.

When this stack is the right call

This stack is the right call when you are comfortable with infrastructure, when the event is community-driven rather than sponsor-driven, when the budget is tight, and when the user experience is acceptable to your audience. It is the wrong call when the event is a revenue driver, when the sponsor experience is the point, when you do not have technical operators, and when the post-event networking is part of the value proposition.

We will run the same stack next year, with two changes: we will pay for Hopin’s sponsor booth tier (just that one feature) and use open source for the rest, and we will pre-record more talks to reduce the live load on Jitsi. The hybrid approach is probably the right one for most organizers. Pure open source is the right one for community events with a budget under $5,000. Paid platforms are the right one for events where the sponsor experience is the product.

Leave a comment