Skip to main content

Beginner Paths

Use this page when your question is: "How do I actually start with MediaSFU without taking on too much at once?"

This is the practical beginner flow:

  1. Pick the SDK that matches your app.
  2. Prove the secure backend boundary.
  3. Keep the stock flow working before changing major UI.
  4. Choose the lightest customization style that fits your product.
  5. Start from a product-shaped tutorial once the basics work.

Step 1: Pick the right SDK

If you are building...Start hereWhy
A React web appReactJS SDKFastest web path with direct component control.
An Angular web appAngular SDKBest if your app already uses Angular DI and templates.
A bare React Native appReact Native SDKBest when you control the native mobile workflow directly.
An Expo-managed mobile appReact Native Expo SDKBest when you want Expo-managed mobile setup.
A Vue web appVue SDKBest for Vue composition-friendly integration.
A custom wrapper or advanced runtime shellmediasfu-sharedBest when you need lower-level control than the UI SDKs expose.

If you do not know which package to start with, do not begin at mediasfu-shared. Start with the SDK for your framework and move lower only when the higher-level package stops fitting.

Step 2: Secure the backend boundary first

For an ordinary production app, the frontend should not hold raw MediaSFU credentials.

Start here:

What this step should give you:

  • a working create-room or join-room flow
  • server-side storage of MediaSFU credentials
  • frontend hooks or adapters that call your backend instead of MediaSFU directly

Do this before branding, starter-screen cloning, or deep UI replacement.

Step 3: Decide how much of the UI to keep

If your product looks like...Start hereTypical result
A meeting room with light brandingUI overridesKeep MediaSFU workflow and replace a few surfaces.
A branded room with a stronger shellCustom component replacementKeep MediaSFU workflow and replace larger blocks.
A host workspace, operator console, or non-room shellHeadless modeKeep MediaSFU runtime logic and own the full UI shell.
A framework wrapper or deep runtime integrationmediasfu-sharedOwn transports, producers, consumers, and helpers more directly.

The main rule is simple:

  • If the product still feels like a room, stay close to the default UI first.
  • If the product no longer feels like a room, move toward headless mode or shared-core.

Step 4: Learn the runtime concepts after connection works

Once the join flow is working, most teams hit the next set of questions:

  • how do I capture and publish media?
  • how do I consume remote media?
  • how do I render media differently for my UI?
  • how do I handle requests, permissions, moderation, or recording?

Start here:

This is where you move from "I connected successfully" to "I understand what MediaSFU is doing for me."

Step 5: Start from a product-shaped tutorial

If you do not want to think in generic room terms, start from the closest product shape instead.

Product shapeBest first pathWhy
WhatsApp-style call screenStarter screens + UI overridesFastest way to keep room logic and simplify the surface.
Twitch-style host dashboardStarter screens + Custom component replacementBest for stage, moderation, recording, and dashboard-style host controls.
TikTok Live host and guest queueStarter screens + Media lifecycleBest for guest request, admit, spotlight, and layout control.
Support or AI agent consoleStarter screens + Headless modeBest when the shell is not a room anymore.

Where Storybook fits

Use the docs portal for:

  • choosing the right SDK
  • secure backend setup
  • deciding between overrides, replacement, and headless mode
  • understanding runtime workflows

Use Storybook for:

  • visual inspection of overrideable surfaces
  • component-level exploration
  • comparing room UI pieces before replacing them

Storybook is the visual companion, not the main beginner entry point.

  1. Quickstart
  2. Beginner paths
  3. Secure backend proxy
  4. Build style guide
  5. Starter screens

Where framework-specific details belong

Use the shared usage guides when you are choosing a path, learning the room lifecycle, or comparing UI ownership levels. Move into the SDK guide once you are ready to install a package, wire framework-specific components, or check platform caveats.

For example, the secure backend boundary is the same idea across frameworks, but React, Angular, Vue, Flutter, Kotlin, and React Native each have their own setup page for package installation and application wiring.