DRAFT - not published. Working whitepaper, open to iteration.

Comment on this draft (Google Doc)

Zuke - Whitepaper (draft v0.3)

Zuke

The ZAO's audio-spaces app - live audio rooms where the community talks, wired into the content pipeline. Where ephemeral moments become permanent assets.

1. Problem & Context

Why live audio matters (and why it disappears)

In most platforms, live audio conversations evaporate the moment the room closes. On Farcaster (the ZAO's home), live audio is where the community actually forms - unscripted, immediate, full-bandwidth human connection. But that signal gets lost. There's no recording. No way to remix it. No way to reward the artists who created it. No distribution layer to extend its reach.

The ZAO needs a way to keep those moments, route them into production, and make them valuable. That is Zuke.

2. What It Is

Architecture & Tech Stack

Zuke is a Next.js application[1] (repo: ZAODEVZ/Zuke) that wraps and extends Juke[2] - a Farcaster-native live audio application (juke.audio), using LiveKit[3] for audio transport and SIWF[4] (Sign In With Farcaster) for auth. It runs at zuke.thezao.com.

Core dependencies

  • Juke[2] - The underlying live audio room engine (juke.audio). Provides real-time audio spaces with participant management, multi-part recordings via webhook delivery, and a public API for creating/managing rooms. Created by nickysap. Uses LiveKit for audio transport and SIWF for authentication.
  • LiveKit[3] - Open-source WebRTC infrastructure. Juke uses LiveKit for real-time audio streaming and recording coordination. LiveKit is a Selective Forwarding Unit (SFU) that orchestrates peer-to-peer audio connections.
  • SIWF[4] - Sign In With Farcaster. Standard authentication layer enabling hosts and participants to sign in with their Farcaster identity. Based on the EIP-4361 "Sign in With Ethereum" standard.
  • Supabase[5] - PostgreSQL database and storage backend for Zuke. Stores space metadata, participant records, and recordings in Supabase's public storage bucket.
  • Next.js[1] - Web framework for Zuke's UI, space management, and recording orchestration. Deployed on Vercel.
3. How It Works

The Recording & Processing Pipeline

Zuke's core job is to capture live audio and route it into the ZAO's content machinery. The flow:

Phase 1: Room Management

Zaal (or an authorized ZAO operator) creates a live space directly in Zuke by calling Juke's API. Juke provisions the room and opens it for participants. Participants authenticate with SIWF and join the room. The audio streams through LiveKit. Juke continuously records the audio as multi-part chunks, and sends a recording.ready webhook to Zuke each time a part completes.

Phase 2: Recording & Storage

Zuke receives Juke's webhooks and stores recording metadata in Supabase (`juke_recordings` table). Recordings can come from multiple sources:

  • Juke Recordings - Native spaces recorded by Juke via its recording.ready webhook (now multi-part, one row per segment).
  • X Space Imports - Finished X (Twitter) Spaces can be imported as recordings. Zuke cannot ingest a live X Space, but once it ends, the audio can be downloaded (via yt-dlp, SpacesDown, or similar), uploaded, and processed identically to a native Juke recording.
  • Host Uploads - Zaal or authorized hosts can upload audio directly via `POST /api/recordings/upload`.
  • Snippets - Clipped segments of parent recordings via `POST /api/recordings/snippet` (does not re-encode; streams the parent file with media-fragment seeking).

Phase 3: Recap & Downstream Processing

Once recorded and stored, Zuke exposes space data via a single API endpoint: GET /api/recordings/recap?spaceId={id}. This endpoint returns audio URLs, participant Farcaster identities (resolved via Neynar), host info, and timing metadata - everything a renderer needs to transform the raw recording into polished content.

Zuke itself performs no rendering (serverless has no ffmpeg; multi-hour renders are impractical). Instead, it routes recordings downstream to two independent renderers:

  • ZAOVideoEditor[6] - Transforms space recordings into YouTube-ready long-form videos. Renders an audiogram (branded 1080p card + live waveform), transcribes audio, and generates SRT captions. Takes minutes to render. One command: `python scripts/space_to_youtube.py --space-id {id} --zuke-base https://zuke.thezao.com`.
  • juke-space-recap (by 99darwin)[7] - Remotion-based pipeline that turns a recording into a polished recap video with per-guest PFPs, rolling captions, waveform visualization, and speaker intro cards. Uses Deepgram transcription. Takes 3-6 hours to render. Includes human-in-the-loop step for matching spoken names to Farcaster @handles.
One live space becomes multiple assets: a full YouTube video (minutes), a per-guest recap video (hours), and a batch of short-form clips with POIDH bounties (via the clip pipeline).
4. Why It Matters

The Connection to The ZAO Flywheel

Zuke sits at a critical junction in The ZAO ecosystem. It is not primarily a social app or a performance venue. It is production infrastructure - the capture point for the community's unscripted creative energy.

Without Zuke, live audio is ephemeral and unrewarded. With it, every space creates:

  • Permanent Record - The conversation exists forever, searchable and shareable.
  • Attribution - Speakers and artists are named and tied to their moments via Farcaster identity resolution.
  • Monetization Path - Recaps and clips become bounties. Short-form content drives distribution. YouTube videos drive awareness.
  • Network Effect - More people participate in live spaces because they know they'll reach a broader audience downstream. This accelerates ZAO community growth.
  • Content Library - The ZAO builds a durable archive of its culture and knowledge, available for remixing, education, and reference.

Zuke makes The ZAO's live audio scalable and economically productive.

5. Team & People

Who Is Behind It

  • Juke Creator

    nickysap - Built and maintains Juke (juke.audio), the Farcaster-native live audio application. Juke provides the room infrastructure, multi-part recording via webhooks, and LiveKit integration that Zuke depends on.

  • ZAO Space Host

    Zaal - The ZAO community host and operator. Zaal uses Zuke to create, schedule, and host ZAO spaces on behalf of the community.

  • Recap Renderer

    99darwin - Maintains juke-space-recap, the Remotion pipeline that transforms Zuke recordings into per-guest PFP recap videos with captions and speaker cards.

  • Repository

    ZAODEVZ/Zuke[8] - The Zuke codebase lives here. Actively maintained; last push 2026-07-09. Multi-provider recording support and X Space import capability shipped as of 2026-06-21.

6. Distribution & Partners

Integrations & Connections

Zuke does not exist in isolation. It is wired into the broader ZAO content ecosystem.

Upstream: Juke (Farcaster)

Juke.audio[2] hosts the actual live rooms and handles audio recording. Zuke wraps the Juke experience and adds durable storage (Supabase), multi-source recording ingest (native, X Space import, manual upload), and downstream routing. The relationship is: Juke provides the room and records the audio; Zuke provides the durability layer, API, and downstream connections.

Downstream: ZAOVideoEditor

Zuke recordings are fed into ZAOVideoEditor[6], which transforms them into polished, long-form YouTube content with captions and metadata. Query Zuke's recap endpoint; render in minutes.

Downstream: juke-space-recap (99darwin)

Remotion-based renderer[7] for per-guest recap videos with PFPs, captions, and speaker intros. Queries the same Zuke recap endpoint; takes 3-6 hours including transcription and human labeling.

Downstream: Clip Pipeline (Doc 992)

Short-form clips are extracted from Zuke recordings via the clip pipeline[9]. Each clip is attached to a POIDH bounty, incentivizing the identification and extraction of high-value moments.

Hosting

Live at zuke.thezao.com. Built on Next.js and deployed via Vercel[1]. Repository at github.com/ZAODEVZ/Zuke. Database and recording storage on Supabase[5].

7. Current Status & Roadmap

Where Zuke Is Now & What's Next

Shipped & Active

As of July 2026, Zuke is live and in active use by The ZAO community[8]. The core capabilities are in production:

  • Zuke Spaces - Live audio rooms, fully integrated with Juke and recording on all sessions.
  • Recording Pipeline - Multi-source recording ingest: native Juke recordings, X Space imports, host uploads, and snippet clipping.
  • Recap Endpoint - `GET /api/recordings/recap?spaceId={id}` exposes audio URLs, participant identities, and metadata to downstream renderers.
  • Farcaster Identity Resolution - Participant PFPs and @handles resolved via Neynar for recap generation.

In Progress

Authentication and casting improvements for v1 - transitioning from admin password authentication to Farcaster SIWN (Sign In With Neynar) for broader access, plus integration with ZAO signer for automatic casting of space announcements to @thezao.

Known Open Questions

The following remain unsolved or partially solved:

  • Scaling - As ZAO spaces grow in frequency and size, multi-part recording coordination and downstream rendering must scale. Supabase and Vercel handle current load; future infrastructure needs TBD.
  • Moderation - Who moderates live spaces? What are the rules? How are abuse and harassment handled? These policies are in formation.
  • Monetization Timing - POIDH clip bounties are the primary monetization path, but the timing, sizing, and discovery of those bounties is still being optimized.
  • Real-Time X Space Ingest - Currently Zuke can only import finished X Spaces (no live re-broadcast). Real-time X Space stream ingest is a separate engineering problem, deferred for now.
8. How to Participate

Getting Involved

I want to host a ZAO space in Zuke. What do I do?
Connect with Zaal (the ZAO space host) or reach out through The ZAO community channels. Zaal manages scheduling and host access for Zuke spaces.
I found a great moment in a recording. Can I clip it?
Yes. The clip pipeline is designed to identify and extract highlight moments from Zuke recordings. Clipped moments become POIDH bounties, and the creator of the clip (and the featured speakers) are rewarded.
Can I render a Zuke space to YouTube or create a recap video?
Yes. Query `GET /api/recordings/recap?spaceId={id}` to get audio URLs and participant metadata, then use ZAOVideoEditor (for YouTube) or juke-space-recap (for per-guest PFP recaps) to render the final video. See the repos for setup and usage.
Can I access the Zuke codebase?
Yes. The repo is public at ZAODEVZ/Zuke. Contributions and feedback are welcome. See setup-zuke.md for provisioning and deployment instructions.
How do I report a bug or suggest a feature?
File an issue on the GitHub repository or reach out to The ZAO engineering team through official channels.