How to create a live streaming app with Bubble, Daily, and Mux – Part 2
Part 2 in the series on how to build a live streaming app in Bubble using the Video, Audio, and Live Bundle with Mux integration, enabling users to set up, broadcast, and view streams directly within your app.
Welcome to Part 2 of building a live-streaming app with Bubble! If you haven’t completed Part 1, start there before continuing.
This section covers designing the app’s header, creating sign-up and login workflows, and setting up the basic stream creation form. If you’re mainly interested in the plugin-related steps, jump to the sections on creating the stream form and stream workflow.
While the guide walks you through each step, you can also explore a finished version in the sample editor. Please note that, for security, sign-ups are disabled and API keys have been removed.
1. Create the app header
First, create a simple home page where users can sign up and log in. You’ll use the default index page and Bubble’s built-in components.
Go to the Design tab for the index page. Click on the page and set the layout to Column.
Under Components, install any plugins needed for this setup.
Drag a Header component onto the page.
Rename it to YouStreamly, and remove other header elements as needed.
Since this header will appear across multiple pages in your app, converting it to a reusable element will save time and ensure consistency. Right-click on the header, select Convert to a reusable element, and name it header. Now, you can easily add this header to any page without rebuilding it each time
Set the default width for the reusable header to 1200 in Layout.
Create a conditional for the Sign Up button to change to Log Out when a user is logged in.
In the appearance tab select Edit workflow.
Create a workflow that redirects the user to home when a user is logged out
Duplicate the workflow and log the user out if the user is logged in
Add a final workflow to go home when Group logo is clicked
Back in the index page remove the Group header and replace it with the reusable element header.
2. Design the home page
Now, set up the home page for users to create accounts, log in, and create streams.
Sign up form
Drag the sign-up component onto the page.
Customize the sign up page as follows:
Title: Start streaming with YouStreamly
Description: Create an account and start live streaming to YouTube. Perfect for creators who want a lightweight way to share live sessions, Q&As, and interviews with viewers.
Select the Create Stream button and create a workflow to set up a streaming session by using Bundle Daily - Create a Room with default settings, followed by Bundle Daily - Create a Meeting Token with the Owner Token set to "Yes" to enable room owners to stream.
Add Bundle Mux - create live stream this is going to give us our stream URLs so we can playback the live stream directly into our app.
Save the stream information to your database:
Name = Input stream name’s value
Owner Token = Result of Step 2 (Bundle Daily - Create Meeting Token)’s token
Room ID = Result of Step 1 (Bundle Daily - Create Room)’s ID
Room Name = Result of Step 1 (Bundle Daily - Create Room)’s name
Room URL = Result of Step 1 (Bundle Daily - Create Room)’s URL
Stream Key = Result of Step 3 (Bundle Mux - Create Stream)’s stream key
User = Current User
Description = Input description’s value
Add an action to navigate users to a backstage page where they can join and view the stream. Create a new page called backstage, leaving the clone form field blank.
Send the stream data to the backstage page and set the content type to stream.
Wrap-Up
Nice job! 🎉 You’ve created the home page and stream workflows to bring your app to life. Now let’s move to Part 3: Building the Backstage to create a seamless experience for going live.
Lola is the founder of Lunch Pail Labs. She enjoys discussing product, SaaS integrations, and running a business. Feel free to connect with her on Twitter or LinkedIn.