Purpose
Katte, our open desk, is an open office, not a meeting: we each do our own work in the same room, and talk only when it helps. It runs in 1-hour or 2-hour blocks for 2 to 8 people.
- Presence: see who is working and reach them in seconds, without scheduling a call.
- Momentum: a fixed block makes it easier to start and harder to drift.
- Collaboration on demand: pair on code, co-write a doc or sketch a design the moment it is useful.
It is not a status meeting, a review or a performance check.
Tools
One fixed room, and work kept in open formats so we can switch tools without losing anything.
| Need | Tool | Format kept |
|---|---|---|
| Room (voice, video, screen share) | Google Meet, same link every block; self-hosted Jitsi as fallback | Nothing stored |
| Chat and async | XMPP, Slack or Google Chat | Open protocol (XMPP) or regular export |
| Code together | Screen share in the call; tmux, tmate or GNU screen for terminal pairing | Git |
| Docs together | HedgeDoc, Google Docs or similar | Markdown in git; export final versions |
| Design and whiteboard | Penpot; Excalidraw for quick sketches | SVG, .excalidraw JSON |
| Notes | The call’s built-in transcribe and summarize (such as Google Meet notes) or similar | Summary as Markdown in notes/ |
New tools need agreement from the group and must export to an open format.
Block structure
Every block opens with a 5-minute check-in and closes with a 5-minute wrap; the middle is quiet focus by default.
| Time (1-hour block) | Time (2-hour block) | What happens |
|---|---|---|
| 0:00–0:05 | 0:00–0:05 | Check-in: each person says what they will do and whether they need anyone. One sentence each. |
| 0:05–0:50 | 0:05–0:55 | Focus: muted, heads down. Pairing or co-work happens on request. |
| — | 0:55–1:05 | Break: step away and stretch: stand up, roll shoulders and neck, stretch wrists and back, rest your eyes on something far away. Camera off, room stays open. |
| — | 1:05–1:50 | Focus: second round. |
| 0:50–0:55 | — | Buffer: finish a thought, push work, update notes. |
| 0:55–1:00 | 1:50–2:00 | Wrap: what got done, what is blocked, who to follow up with. |
- Start on time, even with only 2 people.
- Same days, same time, same link, so no one has to ask when or where.
- Late joiners drop a line in chat and join muted; no recap during focus.
Etiquette
Muted by default, camera optional, and interruptions are welcome but cheap to decline.
- Mic: muted unless speaking. Use headphones to avoid echo.
- Camera: optional. On during check-in and wrap if you are comfortable.
- Status: show it in your Meet name or a chat line:
focus,openoraway. - Interrupting: say the person’s name and ask “got 2 minutes?” A “not now” is always fine, with a time to come back.
- Long talks: anything over 10 minutes, or between 2 people only, moves to a separate room or call.
- Leaving early: say so at check-in, or drop a line in chat.
- Food and drink: coffee, tea or a quick snack during the block is fine. Stay muted while eating, and turn the camera off if you like.
Working together
Whoever asks for help drives; the helper navigates, and the work is saved where everyone can find it.
Pairing on code
- Driver shares their screen, or a tmux, tmate or screen session; the navigator talks, the driver types.
- Swap roles every 25 minutes, or at a natural stopping point.
- Commit early and often on a branch; never leave pairing work only on one machine.
Co-writing docs
- One owner per doc, named at the top. Others suggest and add; the owner decides.
- Write in HedgeDoc or Google Docs; keep the final version as Markdown in git.
- Leave questions as inline comments, not side chats.
Co-designing
- Start rough in Excalidraw; move to Penpot only once the idea holds.
- Name boards by topic and date, for example
onboarding-flow-2026-10-04. - Link every board from the related issue or doc so it is not lost.
What to do together at Katte
Good Katte work is short, concrete, and better with a second pair of eyes; pick one at check-in and timebox it to 25–50 minutes.
| Activity | How it runs | Output |
|---|---|---|
| Debugging a bug | Owner shares screen and states the symptom; others ask questions and suggest one hypothesis at a time; keep a running list of what was ruled out. | Fix or narrowed cause, noted in the issue |
| Testing together | Split a feature or release checklist; everyone tests a different path or device at once and calls out failures live. | Bugs filed with steps to reproduce |
| Bug bash | 30 minutes, everyone tries to break one feature; scribe logs findings in a shared table. | Ranked list of bugs |
| Reviewing a PR | Author walks through the change for 5 minutes, reviewers read and comment in the PR, not just aloud. | Approved PR or written change list |
| Reviewing a doc or design | Silent read for 10 minutes with inline comments, then 10 minutes discussing only the open comments. | Resolved comments, decisions noted |
| Analyzing data | One person drives a shared notebook or query; others state a question first, then check if the data answers it. | Notebook or query saved in git, findings in notes |
| Incident or log review | Build a timeline from logs together, then agree on cause and one follow-up per person. | Short postmortem in Markdown |
| Architecture sketch | Draw the current state in Excalidraw first, then the proposal beside it. | Board linked from the issue or doc |
| Writing tests | Pair: one writes the failing test, the other makes it pass, then swap. | Merged tests |
| Triage and planning | Walk the issue backlog: label, size, assign or close; 1 minute per issue max. | Cleaned backlog |
| Docs sprint | Each person takes one missing or stale page; ask the room when stuck. | Updated docs committed |
| Show and tell | At wrap, one person demos something in 5 minutes. | Shared learning, questions logged |
- Name the owner and the goal before starting, for example “Checkout bug, owner: me, goal: find the cause”.
- Others not involved stay in focus; collaborative work over 2 people can move to a separate room.
- If it’s not done when the timebox ends, write down the next step and stop.
Notes and recording
We capture the check-in, the wrap and any deliberate discussion, never the quiet focus time.
- Scribe: rotates each block, named at check-in. They turn on the call’s built-in transcribe and summarize, and check the summary before it is filed.
- What is captured: check-in, wrap, and pairing or design talks when everyone involved agrees.
- Consent: announce before recording starts. Anyone can ask to pause, no reason needed.
- Where it goes: Shared folder
- What a summary holds: who attended, what each person worked on, decisions, blockers, follow-ups with names.
- Raw audio and transcripts: deleted once the summary is committed.
Respect and opting out
Attendance is voluntary and no one is judged by time in the room; we judge by work shipped.
- Skip a block whenever you need to; a line in chat is enough.
- Pick block times that sit inside everyone’s working hours. Rotate if time zones make that impossible.