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

Comment on this draft (Google Doc)

FISHBOWLZ - Whitepaper (draft v0.1)

FISHBOWLZ

Persistent audio rooms where speakers rotate through a hot seat, everything is transcribed and archived forever, and every conversation becomes a searchable, shareable asset in The ZAO ecosystem[1].

What it is

FISHBOWLZ is a live-audio discussion platform built on Farcaster and The ZAO. Speakers sit in a rotating hot seat for configurable intervals (typically 5, 10, or 15 minutes), listeners ask questions and raise hands, the entire conversation is transcribed in real-time, and the room persists after it ends.[2] No other platform combines persistent rooms, live transcription, hot seat rotation, and Farcaster-native identity in a single product.

Imagine a podcast that's live, interactive, rotating, searchable, and permanent. That's FISHBOWLZ.

Why it exists

Most live-audio platforms - Spaces, Clubhouse, Discord voice - treat conversations as ephemeral. The moment a room closes, the knowledge inside it evaporates. FISHBOWLZ flips this: conversations are The ZAO's most durable asset. A room that begins as a one-time discussion becomes a permanent reference, archived by timestamp, transcribed for search, and embedded back into The ZAO ecosystem for long-form discovery.

The hot-seat format (not open mic, not moderator-only) ensures structured discussion. Listeners can reach the hot seat by raising their hand and winning host approval, making the dynamic participatory without chaos. Transcription makes the room accessible to async readers, international audiences, and agents that index and learn from The ZAO's collective knowledge.

In The ZAO, FISHBOWLZ serves as a complement to WaveWarZ (a front-door funnel) and ZABAL Games (a builder's entry point). FISHBOWLZ is The ZAO's knowledge engine - the place conversations that matter get preserved and become part of the community record.

How it works

Room Creation is simple: set a title, optional description, host (you), speaker limit (default 3-5), and hot-seat rotation timer (default 10 minutes). Rooms can be public or token-gated (require a Farcaster power badge, ERC-20 balance on Base, or FC identity quality score). Scheduled rooms countdown and auto-start or wait for the host to press Start Now.

Audio Infrastructure runs on 100ms, a production-grade audio API. Speakers connect as the speaker role (audio + video, can be seen), listeners join as listener (audio off by default, can be unmuted to ask a question), and the host is a moderator (full control, can kick speakers, end room, rotate the hot seat).

The Hot Seat rotates automatically every N minutes. When the timer expires, the current speaker is moved to listeners, and the next person in the queue (or a hand-raised listener promoted by the host) becomes the active speaker. This ensures no single voice dominates and encourages turnover.

Transcription happens in real-time via browser speech recognition (updated on every 2-3 second chunk) and manual fallback (listeners can type corrections or add context). Each segment is timestamped and linked to the speaker who said it. At room end, a Claude-powered AI summary is auto-generated from the full transcript.

Chat & Reactions run alongside audio: real-time text chat for questions and side discussions, and emoji reactions that float across the screen IG-Live-style for non-verbal engagement.

Persistence is the core. Rooms never disappear. They move to an ended state, but their full transcript, chat log, and metadata stay indexed and searchable. Listeners can revisit, export to Markdown, or share a slug link like fishbowlz.com/fishbowlz/my-room on Farcaster, Twitter, or anywhere else.

User Presence is tracked via heartbeat: every connected participant sends a keep-alive ping every 45 seconds, and stale users (disconnected for 2+ minutes) are auto-pruned from the speaker/listener lists, ensuring the room state stays accurate.

The graduation story

FISHBOWLZ originally lived inside ZAOOS, The ZAO's monorepo, as a feature module alongside WaveWarZ, ZABAL Games, and the core community platform. By April 2026, it was feature-complete: live audio, transcription, chat, reactions, tipping, token gating, export, scheduling, hand raise, AI summaries, and mobile polish were all working.[3]

In June 2026, FISHBOWLZ graduated out of ZAOOS into its own standalone repository and Supabase project, following The ZAO's "monorepo-as-lab, graduate-to-own-repo" pattern. This was not a pause, as an older spec incorrectly suggested - it was a promotion. The code was extracted and verified, a new repo was created at github.com/bettercallzaal/fishbowlz, and the product went live at fishbowlz.com with its own independent deployment pipeline, database, and team ownership.[4]

The graduation reflects a deliberate ZAO pattern: when a product is stable and has its own identity, it graduates to own the full stack (repo, DB, deployment) rather than remain nested in the shared OS. This reduces friction for independent shipping and allows teams to move fast without monorepo coordination overhead. FISHBOWLZ's graduation is a success story of that model working in practice.

Core features

  • Hot Seat RotationConfigurable rotation timer (5/10/15 min), auto-advance to next speaker in queue or hand-raised listener.
  • Live AudioPowered by 100ms SDK, speaker/listener/moderator roles, one-click unmute for listeners.
  • Live TranscriptionBrowser speech API + manual input, timestamped, speaker-attributed, Claude-powered summary on room end.
  • Room ChatReal-time text chat, separate from audio, for questions and side discussions.
  • Emoji ReactionsIG Live-style floating reactions, non-verbal engagement during active rooms.
  • Hand RaiseListeners request the hot seat; host approves or denies, keeping queue fair and manageable.
  • Speaker TippingTip speakers ETH during live rooms, settled on Base L2, instant and transparent.
  • Scheduled RoomsSet a future start time, countdown clock, option to auto-start or wait for host trigger.
  • Token GatingRequire Farcaster power badge, ERC-20 balance on Base, or FC quality score to join or speak.
  • FC Identity GatingOptional Farcaster quality-score threshold to prevent low-quality accounts from disrupting rooms.
  • Host ControlsKick speakers, end room with confirmation, rotate manually, export transcript, view analytics.
  • Transcript ExportDownload full transcript as Markdown, including chat and timestamps, ready to share or publish.
  • OG ImagesDynamic social cards on room links, showing title, speaker count, status (live/ended).
  • Persistence & SearchRooms stay archived forever, indexed for full-text search, discoverable in The ZAO.
  • Mobile-FirstResponsive layout, 44px tap targets, bottom-sheet modals, optimized for on-the-go participation.
  • Onboarding3-step intro for new users explaining hot seat, transcription, and how to participate.
  • Dark ThemeNavy/gold color scheme inspired by Spotify, dark by default with light mode option.
  • Loading SkeletonsSmooth loading states, no blank screens, perceived performance optimized.

Tech stack

LayerTechnology
FrameworkNext.js 16 (App Router, Turbopack)
Audio100ms React SDK
AuthenticationPrivy (Farcaster, wallet, email, Google, Discord)
DatabaseSupabase (PostgreSQL + RLS policies)
Social / IdentityNeynar (Farcaster API, casting)
TranscriptionBrowser Web Speech API + manual input
AI SummariesAnthropic Claude API
StylingTailwind CSS v4
DeploymentVercel
BlockchainBase L2 (token gating, tipping)

The standalone repo at github.com/bettercallzaal/fishbowlz includes a complete architecture: Next.js pages and API routes for room CRUD, 100ms WebRTC orchestration, Supabase real-time updates, and Farcaster integration via Neynar. Database migrations initialize core tables (fishbowl_rooms, fishbowl_transcripts, fishbowl_chat, fishbowl_events, etc.) with row-level security (RLS) policies scoped per user.

Traction

FISHBOWLZ is live and operational at fishbowlz.com[1] as of June 2026. Specific user, room, or conversation metrics are not yet published in this draft. The product is actively being used and developed; future versions of this paper will include audited traction numbers once The ZAO's data-collection practices are formalized.

Role in The ZAO ecosystem

FISHBOWLZ serves The ZAO ecosystem as the knowledge engine and persistence layer. WaveWarZ is the front door (funnel for newcomers through trading and competition), ZABAL Games is the builder's entry point (workshops, education, skills), and FISHBOWLZ is the archive and async-discovery surface where high-value conversations live forever.

The three platforms are complementary: a WaveWarZ battle might spawn a post-event FISHBOWLZ room where artists discuss the outcome; a ZABAL Games workshop might be recorded and re-watched as a FISHBOWLZ archive; a FISHBOWLZ discussion might spark the next WaveWarZ partnership. They feed the same community and serve different discovery and engagement modes.

Roadmap

  1. Foundation - done. Audio, transcription, hot seat rotation, chat, reactions, token gating, export, and scheduling all shipped. Standalone repo live at fishbowlz.com.
  2. Knowledge Discovery - in progress. Search, tagging, and series (multi-room collections) to make archives more browsable and connectable.
  3. Creator Tools - next. Analytics dashboards (listener counts, engagement), sponsor integration, monetization for room hosts.
  4. Ecosystem Integration - planned. Deep linking from The ZAO OS, auto-casting room links to Farcaster, embedding rooms in articles and essays.
  5. Scale - not yet. No celebrity-tier partnerships or high-volume room scheduling yet.

Open questions

Several design choices remain open for future iteration:

Moderation at Scale

Current tooling is host-only (kick, end room). As room size grows, should There be community moderation, flagging, or automated content screening?

Monetization Model

Today, rooms are free to create and join. Should there be paid creator tiers, sponsorship slots, or listener tips going to creators as well as speakers?

Farcaster Frames Integration

Should FISHBOWLZ rooms become Farcaster Frames, playable inline on client feeds? This could increase discovery but risks fragmentation from the core app.

Automation and AI Moderators

Could an autonomous agent moderate a FISHBOWLZ room, rotate the hot seat, or facilitate high-volume community discussions without human host overhead?

Persistent Network Effects

How should the product surface and reward contributors (speakers, questioners) who appear in many high-value rooms over time? Leaderboards? Creator badges?

How to get involved

Create a room: Head to fishbowlz.com, connect with Farcaster or a wallet, and set up your first discussion. Rooms are free to create.

Host a series: Regular hosts (daily standups, weekly AMAs, monthly interviews) can make FISHBOWLZ a recurring part of their community ritual and build archive depth.

Transcribe and export: Run a room, export the transcript to Markdown, and republish it as a blog post, essay, or linked reference in The ZAO.

Builders and developers: The standalone repo is open source. Fork it, build extensions (custom transcription, moderation bots, archive search UI), and contribute back to the ecosystem.

Integration partners: Connect FISHBOWLZ to your platform - embed rooms, auto-cast endpoints, or surface archives in your app. Reach The ZAO team through zaoos.com.

Find it

fishbowlz.com - live app, create and join rooms. On Farcaster: /fishbowlz channel. On GitHub: bettercallzaal/fishbowlz (open source). Part of The ZAO ecosystem.