Docs
How vibi works, and how it was built.
vibi splits the audio in any region of your clip — voice, background, and per-speaker stems — so you can mute just the wind, the passerby, or the wrong voice. The footage you can't reshoot stays intact. All on mobile.
These docs cover both: how to use vibi, and the notes behind how it was built.
- Tutorials3
Learning
Step-by-step guides for newcomers — from zero to a working build.
- Task guides3
How-to
Targeted recipes for solving specific problems and unblocking yourself.
- Specs3
Reference
Look-up material: API contracts, environment variables, error codes.
- Design notes3
Explanation
The why behind the architecture — BFF, KMP, and pipeline decisions.
- Behind the build9
Journal
Meta + retrospective: how vibi was built alongside Claude Code.
- Two Subagents — `bff-dev` and `kmp-dev`
- Slash commands — `/plan` `/sync-api` `/review` `/ship`
- Skill split — big domains get their own, light tools merge
- Cloud Run + GitHub Actions deploy journal — where the YAML cuts
- Letting GCS send the bytes — egress + concurrency on Cloud Run
- Swapping the egress backend to R2 — same redirect shape, free egress
- How we built vibi with Claude
- KMP/iOS pitfall journal — patterns hit twice
- Operating rules — working with an AI agent as a partner