CASE STUDY

Let the world see what matters.

CLIENTHumanity Broadcast
INDUSTRYSocial
TECHNOLOGYMobile Application
Humanity Broadcast ▪ Let the world see what matters.

HUMANITY BROADCAST

OVERVIEW

Humanity Broadcast set out to let anyone capture a 60-second video about a cause or moment that mattered to them, and put it in front of the world, human-interest storytelling built for a feed, at a time when short-form video was still new territory.

ARCHITECTURE

Video capture happens on-device with a hard 60-second cap, compressed client-side before upload to keep bandwidth and playback latency manageable on weaker connections. The feed is server-paginated and ranked by recency and engagement rather than a heavy recommendation model, because the priority was surfacing what's happening now, not personalizing a large-scale content graph.

KEY DECISIONS

60 seconds, enforced server-side

The duration cap isn't just a UI limit: the API rejects anything longer, so storage and CDN costs stay predictable regardless of what a client app tries to upload.

Resumable, chunked uploads

Uploads are chunked and resumable, so a video recorded on a shaky mobile connection doesn't have to restart from zero if the connection drops halfway through.

Near-live, not real-time

The feed refreshes on a short interval rather than over a persistent WebSocket connection, a few seconds of latency traded for a backend that stays simple and cheap to run at the traffic the app actually saw.

TECH STACK
React NativeNode.jsAWS S3CloudFrontFFmpeg
THE OUTCOME

Users could capture and publish a moment in under a minute end to end, on both Android and iOS, on a backend built to keep hosting costs sane instead of over-engineering for hypothetical scale on day one.

Have a project in mind? Let's talk.

START A CONVERSATION
TRY IT LIVE

Edit the code, watch it run.

Change the function on the left: your letter's background updates instantly. No reload, no waiting.

highlight.js
OUTPUT: A..Z, click a letter and watch the alphabet drop
ABCDEFGHIJKLMNOPQRSTUVWXYZ
HELLO@20THLETTER.COM LET'S SET IT IN TYPE HELLO@20THLETTER.COM LET'S SET IT IN TYPE HELLO@20THLETTER.COM LET'S SET IT IN TYPE HELLO@20THLETTER.COM LET'S SET IT IN TYPE