Skip to content

Build1 publisher3 min readPublished

LiveWorld indexes 652 YouTube cameras on a $10 Tokyo VPS that never touches the video

Hari Singh's globe embeds other people's livestreams, so his hosting bill covers HTML, Postgres rows and WebSockets. The recurring work is finding the 652 cameras and noticing when they go dark.

The Engineer · Build desk

Photograph accompanying LiveWorld indexes 652 YouTube cameras on a $10 Tokyo VPS that never touches the video
Photo: indiatimes.com

What happened

  • Hari Singh, a solo developer in Sapporo, built LiveWorld, an interactive globe where spinning the sphere and picking a marker opens a live YouTube view of a crossing, harbor, railway, beach or wildlife camera.
  • He runs it under the Sapporosoft name on a small Tokyo VPS costing roughly $8 to $10 a month, alongside Cloudflare's free tier and a free-tier email provider.
  • Singh said in the Hacker News discussion that the catalog had reached 652 cameras across about 60 countries, built on a Laravel, Reverb and Postgres stack with a MapLibre globe.
  • The privacy policy says there is no advertising, analytics cookies or cross-site tracking, and retains chat messages for 90 days and server logs for 30 days.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • cost The server bill is fixed and tiny, so the recurring expense is Singh's own attention on dead links and wrong locations, and that expense grows with every camera the catalog gains.
  • constraint Coverage is set by other people: the platform has to keep carrying the broadcast and the channel owner has to keep embedding allowed, or the marker stops working.
  • capability Making the map the index lets someone reach a Nairobi waterhole without knowing the operator, the channel name or the keyword that finds it. A country-by-country directory cannot do that.
  • exposure A visitor who never signs in can still pick up Google's cookies from the embedded player, so the no-tracking promise covers the code Singh wrote and stops at the frame.

The monthly bill covers HTML, database rows and WebSocket messages, and none of the video. YouTube carries the broadcasts, OpenStreetMap supplies the geographic base, and LiveWorld is the discovery layer that connects a location to a stream [6]. When a visitor picks a marker, the embedded player pulls the feed from YouTube [15], so the bytes that dominate any video hosting invoice never pass through the small Tokyo VPS Singh rents for roughly $8 to $10 a month [2]. He described the stack as Laravel, Reverb WebSockets and Postgres, with a MapLibre globe on OpenStreetMap tiles [3].

Singh put the catalog at 652 cameras across about 60 countries in the Hacker News discussion [4], which works out at roughly 1.2 to 1.5 cents per camera per month of hosting [16]. The 653rd camera leaves the server cost where it is and adds a discovery query, plus something that has to be checked from then on.

That cost only transfers to another build under conditions. The upstream platform has to keep serving the video and the channel owners have to keep embedding allowed [15]. Viewer counts and chat have to stay inside what one box can fan out, which is what Reverb WebSockets are doing here [3][12]. If Singh proxied or re-encoded one stream, the expense would become bandwidth and CPU.

Discovery is a search problem. Singh described YouTube Data API queries across more than 200 keywords and administrative divisions, plus additional searches for keyword combinations that the API misses [5]. A camera reaches the globe only if its channel text matches one of those strings.

The title attached to the September 19th post claimed the globe contains "Every 24/7 YouTube live camera" [8]. Runtimewire reports that the claim is not independently verifiable, and that the site does not expose a public camera count or define how it discovers streams, checks whether they remain online, or decides that a broadcast qualifies as continuous [9]. "Every" is a strong word for an index assembled from keyword searches. The 652 figure is a snapshot [4].

The catalog also decays on its own. Operators end broadcasts, replace stream URLs, block embedding and take feeds offline for maintenance [10]. Repairing that is re-discovery and location validation, and runtimewire writes that LiveWorld's defensibility will come from catalog maintenance, not video infrastructure [17].

On data, the policy names Singh as operator and says the service has no advertising, analytics cookies, cross-site tracking or third-party advertising pixels; an anonymous session cookie counts viewers and a separate one holds signed-in sessions [13]. Deleted-account data is held up to 14 days before hard deletion [14]. Deletion requests currently go by email, with a self-service feature planned [14].

What to watch

  • Whether LiveWorld publishes a camera count and a liveness rule, which would make the "every 24/7 camera" claim checkable.
  • Whether YouTube changes what the Data API returns or which channels allow embedding, since both legs of discovery depend on it.
  • Whether the planned self-service account deletion ships, replacing the current email request.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories