Install the vibe.
Overlay the mixer and timer on Meet, Discord, YouTube, or any tab where you're locking in. This is where the vibeclub actually happens.
Three layers. One sphere. Drag the faders.
A custom WebGL shader paints each fader as a color band on the orb. This is the same three-layer mix the extension runs — amber ambient, violet music, signal-green page audio — previewed here so you can feel the knobs before you install.
This is the extension, visualized. Every fader drives a shader uniform. The same three layers power your actual session — ambient, music, voice — in each listener's ears, never broadcast.
Four things. Nothing else.
Three faders.
Synced pomodoro.
Auto-notes.
Any page, any time.
Never reads page content. Ever.
Audio mixing is 100% local via Web Audio. The only data that leaves your browser: the pomodoro broadcast (club slug + timer state) and a session summary (duration + cycle count).
Open source so you can verify — read the source.
Shortcuts on any page.
- ⌘J·Show / hide overlay
- ⌘K·Start / pause pomodoro
- ⌘⇧M·Mute all layers
MIT, Plasmo, zero lock-in.
The mixer, the pomodoro sync, the recap — all extracted into npm packages so you can drop them into your own product. Or fork the whole extension.
git clone https://github.com/frankxai/vibeclubs
cd vibeclubs
pnpm install
pnpm dev:extensionimport { createMixer } from '@vibeclubs/vibe-mix'
const mixer = createMixer()
await mixer.loadAmbient('lofi')
mixer.setLevel('ambient', 0.4)