All projects

Consumer product · multi-perspective viewing

POVLINE.

One story, many perspectives. Discover the crew, build your own live view, and pick up where you left off.

Product engineering / real-time systems
  • React
  • TypeScript
  • TanStack Query
  • Node.js
  • Leaflet
My contribution
Designed and built the discovery-to-viewer experience, interactive layouts, crew following, live-data backend, scene library, map, and broadcast history.
Project stage
Independent fan project
Brick Bois · one main perspective · three supporting live previews

Choose what gets your attention.

Give one perspective the main stage, or keep all four equally visible. Switch between layout presets, move or swap panes, and resize the splits to follow the story your way. Each channel keeps its own playback and audio controls.

Brick Bois · equal tiles · source-provided live previews

Follow people, not a pile of tabs.

Find a crew, inspect its roster, and open the available live perspectives together. Automatic crew views follow roster changes; editing one gives you a manual scene you control. Twitch and Kick preferences connect discovery directly to the viewing workspace.

Brick Bois roster · four live perspectives · public community data

Give the story a place.

The city map connects reported incidents with named participants and source details. It adds context to discovery while keeping the difference between a reported event and a confirmed live perspective visible.

City map · selected source-reported incident

Find the moment across broadcasts.

Choose a time to compare overlapping broadcasts and revisit available recordings. Twitch links can jump to an approximate offset. Saved private moments connect the viewer back to that history, even when you return later.

Broadcast comparison · reported starts and available VODs

Under the surface

Project overview

  1. 01Discover creators
  2. 02Follow a crew
  3. 03Arrange perspectives
  4. 04Save a scene
  5. 05Revisit a moment

A roleplay story unfolds across people, channels, and places. Following it through separate stream tabs loses the connections. POVLINE is an independent NoPixel viewing companion that joins those pieces: discover creators and crews, assemble the perspectives you care about, explore reported city events, and return to moments through broadcast history. I built the product experience and the data infrastructure together.

Watching is a workspace

Save up to 24 perspectives in a scene and arrange up to four simultaneous panes. Equal tiles, a main perspective, columns, and rows are starting points: drag to move or swap a pane, resize a split, focus one channel, and undo layout changes. Individual playback and audio controls keep it usable. Player identity survives rearrangement; a desktop mini-player lets watching continue while browsing.

A live product needs a reliable data layer

The Node backend validates and caches public feeds, coalesces concurrent requests, and backs off when a source fails. A shared refresh loop publishes live snapshots over SSE. In the browser, tab leadership keeps one live connection across open tabs, with reconnect handling and a polling fallback. Freshness comes from source timestamps, so expired data and source failures remain visible.

Make the experience survive navigation

Search, filters, selected scenes, perspectives, and history dates are reflected in the URL. Saved scenes, follows, favourites, and private notes live in a local library with validated backup import and export. Scene links carry the information another device needs. Public discovery, crew, and map pages also have server-rendered content and canonical metadata.

Next projectGFOS Code