Katte – The Open Desk Working Agreement

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.

NeedToolFormat kept
Room (voice, video, screen share)Google Meet, same link every block; self-hosted Jitsi as fallbackNothing stored
Chat and asyncXMPP, Slack or Google ChatOpen protocol (XMPP) or regular export
Code togetherScreen share in the call; tmux, tmate or GNU screen for terminal pairingGit
Docs togetherHedgeDoc, Google Docs or similarMarkdown in git; export final versions
Design and whiteboardPenpot; Excalidraw for quick sketchesSVG, .excalidraw JSON
NotesThe call’s built-in transcribe and summarize (such as Google Meet notes) or similarSummary 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:050:00–0:05Check-in: each person says what they will do and whether they need anyone. One sentence each.
0:05–0:500:05–0:55Focus: muted, heads down. Pairing or co-work happens on request.
—0:55–1:05Break: 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:50Focus: second round.
0:50–0:55—Buffer: finish a thought, push work, update notes.
0:55–1:001:50–2:00Wrap: 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, open or away.
  • 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.

ActivityHow it runsOutput
Debugging a bugOwner 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 togetherSplit 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 bash30 minutes, everyone tries to break one feature; scribe logs findings in a shared table.Ranked list of bugs
Reviewing a PRAuthor 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 designSilent read for 10 minutes with inline comments, then 10 minutes discussing only the open comments.Resolved comments, decisions noted
Analyzing dataOne 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 reviewBuild a timeline from logs together, then agree on cause and one follow-up per person.Short postmortem in Markdown
Architecture sketchDraw the current state in Excalidraw first, then the proposal beside it.Board linked from the issue or doc
Writing testsPair: one writes the failing test, the other makes it pass, then swap.Merged tests
Triage and planningWalk the issue backlog: label, size, assign or close; 1 minute per issue max.Cleaned backlog
Docs sprintEach person takes one missing or stale page; ask the room when stuck.Updated docs committed
Show and tellAt 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.

You can read this blog using RSS Feed. But if you are the person who loves getting emails, then you can join my readers by signing up.

Join 2,796 other subscribers