HoboStreamer

Live streaming for

Free & open source — community-first, no investors, and built to become a sustainable not-for-profit project over time. Full API docs for vibe coding chat bots, robot streams, and more.

Live Now

0

No one is streaming right now

Be the first to go live!

Go live however you want

Start instantly in your browser, or plug in OBS and ffmpeg for a full scene-based workflow. Then restream to Twitch, YouTube, Kick, and any RTMP server — all at once, all from one dashboard.

Claim your channel One sign-in through Hobo Network
Start broadcasting Browser, OBS, or ffmpeg
Restream everywhere Twitch, YouTube, Kick & more
Multi-platform restreaming Broadcast to Twitch, YouTube, Kick, RobotStreamer, and any custom RTMP server simultaneously
Live chat & emotes Real-time chat with custom emotes, viewer reactions, and chat commands
Clips & VODs Clip moments on the fly and auto-record VODs for every broadcast
Built-in game Viewers play HoboQuest together live on-stream with leaderboards and canvas
Global chat A sitewide chatroom that connects everyone — talk across streams or just hang out
Voice chat Drop into voice channels with other viewers and streamers — no extra app needed
Pastes & file sharing Share code snippets, text, and files with syntax highlighting — like Pastebin, built in
100% open source Every line of code is public on GitHub — no black boxes, no hidden trackers
Stream analytics Track viewers, watch time, peak concurrents, and chat activity across every broadcast
Chat moderation Message deletion, IP approval mode, relay user moderation, ban tools, and full audit logging
200+ free tools Image editing, audio conversion, PDF documents, video downloads, network diagnostics, developer tools, text generators, logo makers, and more at hobo.tools
Explore Hobo Tools

Recently Online

No recent streams

Recent Changes

View All
Origin story

Built from a shed, burnout,
and pure stubbornness.

No investors. No polished startup mythology. Just one builder trying to make the internet feel human again.

01
The Shed Era

Yes, it literally started in a shed.

Not a studio. Not a founder retreat. A shed with Wi‑Fi, a webcam, and enough stubbornness to stay live even when the setup looked ridiculous. People roasted it. The stream stayed on anyway. That ended up being the whole blueprint: imperfect gear, real people, zero waiting for permission.

02
The Corporate Detour

Tried the normal route. Hated it.

There was a detour through Verizon and then Amazon corporate as a data analyst. Safe on paper. Spiritually awful. The bills got paid, but every spare hour still went back into streaming, building, and trying to imagine a better version of the internet.

The Music Arc

So the burnout turned into songs.

A truly normal amount of career angst ended up on YouTube as a pile of weird, honest songs about corporate life, depression, and trying not to become a spreadsheet with a pulse.

@FCMenus on YouTube The soundtrack to the corporate-burnout era.
03
The Build

So I quit and built the thing I wanted to exist.

HoboStreamer grew out of that decision. Then came hobo.tools. Then hobo.quest. The point of all of it is simple: useful, creative, community-first internet software that does not feel disposable, extractive, or shaped by investor pressure.

If you’re here early, you’re helping prove the internet still has room for something honest.

I’m not trying to build the next ad machine. I’m trying to build something useful, weird, and genuinely good for people.

The not-for-profit plan

The goal is not maximum revenue; it’s long-term sustainability. Right now, servers, storage, bandwidth, and development all cost money. So the plan is to keep the network transparent, fund operations responsibly, and formalize it as a real not-for-profit/public-benefit project once it can stand on its own.

Phase 1 — Make it sustainable Use optional support, memberships, cosmetics, or tasteful monetization to cover hosting, bandwidth, storage, and development.
Phase 2 — Protect the mission No investors, no surprise corporate pivot, and no turning the community into a product. Any money goes to operations first.
Phase 3 — Formalize it Once the network is stable enough, file the not-for-profit paperwork and build this into the real community project it was always meant to be.

Redirecting to channel...

Videos

Clips

?

Channel

username

0 followers irl

Channel is offline

Check back later!

GLOBAL CHAT

Videos

No videos yet

Clips

No clips yet

0:00 / 0:00

Chat Replay

Chat messages will appear here as the video plays

Video

Clips from this stream

Comments

0:00 / 0:00

Chat Replay

Chat messages will appear here as the clip plays

Clip Title

Comments

Streamer Dashboard

Broadcast

Create and manage streams, configure your broadcast setup, and go live from the dedicated Broadcast page.

Go to Broadcast Page

Connection

Stream Manager

Manage your persistent streams. Each has its own stream key, URL slug, and settings.

Chat Overlay

Use this as a Browser Source in OBS to show your live chat on stream. This global URL shows chat from any of your live stream slots.

Per-slot overlay URLs are available in each stream slot's Settings tab on the Broadcast page.
Browser Source size: 800×600 is a good starting point. Background stays transparent.

Interactive Controls


Per-Stream Controls (Live)
Control Settings
Minimum time between commands per user
Per-user minimum time between video clicks. 0 = follow global command rate limit.
Hardware Bridge Scripts

Download Python scripts to connect hardware (robots, GPIO, servos) to your control profiles. Each script is pre-configured with your stream key and the buttons from the selected profile.

API Tokens

Create long-lived API tokens for bots and integrations. Tokens can authenticate via REST API and chat WebSocket without OAuth login.

Chat Logs

View and manage chat messages from your streams. Search, filter, and purge messages by time range.

Camera Controls (ONVIF PTZ)

Add ONVIF-compatible cameras (Hikvision, Axis, Dahua, etc.) for pan/tilt/zoom viewer control.

Donation Goals

My Emotes

Upload custom emotes for your channel. Supported: PNG, GIF (animated), WebP, AVIF. Max 256 KB each.

My Videos

Videos are public by default. You can set individual videos to private.

My Clips

Clips you've taken from other streams. New clips are unlisted until the streamer makes them public.

Clips of My Stream

Clips viewers have taken from your streams. You can publish or delete them.

Hobo Bucks

0 ($0.00)

Hobo Nickels

0 Free loyalty currency

Viewers earn Hobo Nickels by watching your stream and chatting. They can spend them on rewards you create below.

Coin Rewards

Create rewards your viewers can redeem with Hobo Nickels. Think TTS, sound effects, chat highlights, streamer challenges, etc.

Redemption Queue

Viewers who redeemed rewards. Fulfill or reject them.

Admin Panel

Go Live

Select a stream slot to configure your profile and go live.

Active Streams

My Streams

Loading…

Select a stream slot from the sidebar to configure and go live

?
User

Account Info

Username
Cannot be changed
Display Name
Email
Bio
Profile Color

Password & Security

Your account is managed by the Hobo Network.

Manage Account on hobo.tools

Theme

Choose a built-in theme or create your own.

Loading themes...

Custom Theme Editor

Tweak individual colors. Changes preview live.

Share Your Theme

Submit your current colors to the community Theme Directory.

Theme Name
Description

Voice Channels

Global Chat

Live messages from all streams and the lobby

Loading themes...

HoboStreamer API Docs

Modular docs for vibe coders. Copy just the section you need, or grab everything.

Getting Started — Vibe Coding Guide

What is this?

HoboStreamer is a self-hosted, open-source live streaming platform with interactive controls, chat bots, TTS, soundboards, and hardware bridges. This documentation is designed for vibe coding — copy the section you need into your LLM and start building.

Quick Architecture Overview

LayerTechNotes
BackendNode.js + ExpressAll routes return JSON
DatabaseSQLite (better-sqlite3)WAL mode, foreign keys
WebRTC SFUMediasoupVideo/audio routing
RTMPNode-Media-ServerOBS classic ingest
Chat/ControlWebSocket (ws)Real-time messaging
FrontendVanilla JS SPANo framework
AuthRS256 JWT via hobo.tools SSOShared across Hobo Network

Which doc to copy for which task?

Building a...Copy this tab
Chat bot / overlayChat — WS protocol, bot examples, commands
Robot/hardware bridgeControl WS — full Python + Node.js bridge examples
Custom stream playerWebRTC — WHIP, SFU, SDP protocol
Stream management toolStreams — CRUD, go-live, channels
TTS / soundboard botTTS & Audio — voice catalog, audio queue, 101soundboards
Discord/push integrationIntegrations — events, webhooks, push API
Control panel / buttonsControls — profiles, button schema, settings
Admin toolingAPI Ref — full endpoint list, rate limits

How the Hobo Network is split

ServiceURLOwns
HoboStreamer.comhobostreamer.comStreaming, chat, TTS, controls, VODs, soundboard
hobo.toolshobo.tools / my.hobo.toolsSSO, accounts, notifications, push, Discord bot, admin
hobo.questhobo.questGames (RPG, canvas)

Base URL & Auth

Base URL: https://hobostreamer.com (replace with your instance).

Auth: Authorization: Bearer <JWT> header, or ?token=JWT query param on WebSocket URLs.

API tokens: hbt_ prefix, scoped permissions, created from Dashboard → API Tokens.

Inventory