One moment

flow

How Flow works.

Everything you need to run a study session, on one page.

Getting started

Setup asks four things: your name, a sky, how long you like to focus, and whether you want background sound. Then you create an account with an email and password. Your choices are saved in your browser and applied to the first room you create.

After that you land on your home screen. Your name, today’s focus, your streak, and the last seven days are on the left. On the right are the three things you can do: start a room (for people you invite, or open to anyone on the study-groups board), join with a code, or take a seat in a group that’s open now.

The sun timer

The timer is shared: when anyone starts, pauses, or resets it, it changes for everyone in the room. The sun shows progress. It sinks during a focus block and has set when the block ends; during a break it rises again and slowly grows and shrinks as a breathing pace.

Four focus blocks make a set. After the first three the room moves to a short break, and after the fourth to a long one. The default lengths are 25, 5, and 15 minutes; change them from the settings button under the clock, and the new lengths apply to the whole room.

Focus mode (the expand button, or F) hides everything except the sky, the clock, and the people you’re with.

Rooms and invites

A room has a six-character code. Press Invite to copy a link that carries the code; anyone who opens it signs in and arrives in your room. Type a four-digit PIN before creating a room if you want it locked.

Calls are encrypted. Video and voice are encrypted in each browser with keys that only the two browsers on a call hold (WebRTC’s DTLS-SRTP), and travel directly between them. When a direct path isn’t possible they pass through a relay, which forwards the encrypted stream and cannot read it. Flow’s own servers never receive your video or voice. You can turn your camera or microphone off at any time, and Flow works fine with both off. Tasks are shared with the room and stay there after you leave. Chat is not kept as a history: people who join later don’t see earlier messages, and it is gone from your screen when you leave. Start a message with /ai to ask the study assistant a question.

Study groups

The study-groups board shows two things: rooms that are open right now, and groups planned for later. Anyone can read it; taking a seat or hosting needs an account. Groups hold two to six people.

Each open group shows its topic and subject, whether cameras are expected and how much talking there is, how many seats are free, and what the room is doing this minute (“Focusing, 14 min left”). Search by topic, filter by subject, or press “Find me a seat” to be placed in the open group with the most room.

To host, use “Host a group” on the board. Choose “Now” and you land in a new room that is already listed. Choose “Later”, pick a time within the next two weeks, and it appears under “Coming up”, where others can say they’re in. From fifteen minutes before the start, your plan shows “Start now”, which opens the room and replaces the plan with a live listing. You can also list any room without a PIN from its Invite dialog.

Your room stays on the board while you’re in it and comes off when you leave; if your browser closes unexpectedly, it disappears within two minutes. As host you can stop new people joining from the Invite dialog, and remove someone by hovering their tile and pressing Remove. A removed person cannot rejoin that room. If a listing isn’t about studying, press Report on it: three reports hide a listing.

Sound

The Sound tab has two separate things. Soundscapes are made in your own browser and only you hear them:

Room audio shares a YouTube or Spotify link with everyone. Each person presses play themselves and controls their own volume; playback is not synchronised.

Shortcuts

S
Start or pause the timer
F
Enter or leave focus mode
M
Mute or unmute your microphone
V
Turn your camera on or off
?
Show the shortcut list

Shortcuts are ignored while you’re typing or a dialog is open.

Your data

Flow stores your email, your display name, the tasks you add to rooms, and a record of each focus block you finish (when, and how long). If you list or plan a group on the board, its topic and your display name are public, visible without an account, until the listing ends.

Video and voice are never stored, and calls are encrypted between the browsers taking part. Chat is not shown to anyone who joins later; messages pass through Flow’s database on the way, where they are cleared automatically within three days. A question sent with /ai goes to the assistant’s provider to be answered and is not kept by Flow. Security details, including what is not protected yet, are in SECURITY.md.

Run your own copy

Flow is open source under the MIT license. Clone the repository and run npm ci then npm run dev:demo to explore it offline with no accounts or keys. The README covers connecting your own Supabase project and deploying, and CONTRIBUTING.md covers sending changes.