Live Quest

Nyone

Nyone is a live-streaming product where creators publish from OBS, viewers watch through HLS, and both sides meet through channels, follows, chat, moderation, and creator-controlled recordings.

Role
Solo developer · product, backend, frontend, streaming infrastructure, and deployment
Timeline
2026–present
Status
Live at nyone.ir

Mission Brief

The goal was to build a complete creator experience rather than a player demo: secure publishing, discoverable channels, viewer identity, social feedback, moderation, and optional recordings all had to work together.

The product also needed a clean boundary between the user-facing Laravel application and the private streaming control plane.

System Map

Architecture

  1. Creator & Viewer UI

    React, Inertia, TypeScript, Tailwind, and Radix power channels, discovery, chat, follows, playback, and admin experiences.

  2. Laravel Platform

    Laravel and Fortify handle accounts, channels, authorization, moderation, signed viewer identities, and product data.

  3. MediaMTX

    A private streaming plane accepts OBS over RTMP, serves HLS, emits lifecycle hooks, and records selected sessions.

  4. State & Presence

    PostgreSQL stores durable product state while Redis synchronizes viewer sessions and ephemeral activity.

Strategy Route

Battle Plan

The implementation path, checkpoint by checkpoint.

  1. Checkpoint 01

    Use OBS and RTMP for dependable creator ingest, then deliver HLS that works in standard browsers.

  2. Checkpoint 02

    Sign viewer identities so streaming and application events can be correlated without exposing the private control API.

  3. Checkpoint 03

    Deduplicate repeated HLS requests into viewer sessions instead of inflating presence with every playlist or segment fetch.

  4. Checkpoint 04

    Record only when a creator chooses it, keeping storage policy aligned with product intent.

  5. Checkpoint 05

    Keep MediaMTX control endpoints private and drive lifecycle changes through validated application hooks.

Critical Encounter

Boss Fight

Boss HP Resolved
  • Streaming protocols create many short requests for one human viewing session. Turning that noisy transport activity into trustworthy presence, chat context, and creator feedback required explicit session semantics.

Achievements Unlocked

Quest Rewards

What the quest delivered.

  • Reward 01 unlocked

    Creators can move from channel setup to OBS publishing, live interaction, and selected VOD in one product.

  • Reward 02 unlocked

    Viewers receive browser-compatible playback plus follows, chat, discovery, and account-aware experiences.

  • Reward 03 unlocked

    The application and media planes can evolve independently behind a small, controlled integration surface.

Special Items

Technical Loadout

  • Laravel 13
  • Fortify
  • Inertia
  • React 19
  • TypeScript
  • Tailwind CSS
  • Radix UI
  • MediaMTX
  • RTMP
  • HLS
  • PostgreSQL
  • Redis

Proof of Work

Explore the Quest

The live product and public source repository support this case study. No public audience or traffic scale is claimed.