Client days need a finish line, not a streak
Client work fills with interruptions that feel urgent and often are not. A Pomodoro block is a timed promise to one named outcome. The half-day below is what that looks like when delivery matters more than a perfect 25/5 streak.
Worked half-day first
Primary: draft the pricing section of a client proposal (reviewable by 13:00).
| Time | Block | Task name |
|---|---|---|
| 09:00 | 45m | Outline pricing options A/B with constraints |
| 09:50 | Break | Stand up; no chat |
| 10:00 | 45m | Write option A with sample numbers |
| 10:50 | Sweep | 15 minutes of client Slack |
| 11:10 | 45m | Write option B + recommendation |
| 12:00 | 25m | Paste into shared doc; ask one decision question |
Evidence: shared doc link + one clear client ask. That is a finished morning even if design polish waits. Everything below exists to make mornings like this repeatable. Defaults: Pomodoro reference.
Fit the block to the work
| Work | Suggested length | Why |
|---|---|---|
| Bug triage / email triage | 15 to 25 minutes | Fast feedback, low setup |
| Writing, design, coding | 40 to 50 minutes | Setup is expensive |
| Meetings | Do not Pomodoro the meeting | Timebox the agenda instead |
| Admin / invoicing | 25 minutes | Easy to over-polish |
| Estimates / proposals | 25 to 40 minutes | Name a section, not "work on proposal" |
If 25 minutes always feels too short for deep work, see when a 25-minute Pomodoro is too short. Break purpose: how long should breaks between focus sessions be. Count blocks with the Pomodoro Planner. Keep a day honest with a daily focus plan template.
Six client-day rules
- Name the deliverable, not the vibe. "Draft pricing section" beats "work on proposal."
- Protect the first two blocks. Morning message sweeps destroy the best focus window.
- Batch communication. Check chat on a schedule, not at every badge.
- Log completed blocks against projects. Later you can explain the week without inventing a timesheet.
- Stop when the day is done. Extra unpaid polishing is not professionalism.
- Separate waiting work. Uploads, builds, and client replies belong on a waiting list.
Theater looks like busy timers and empty outcomes. Pair logging with how to write an end-of-day status update when a client expects a daily note. Large vague tasks: break a large task into Pomodoros.
Decision: keep, lengthen, or skip the timer
| Situation | Choice |
|---|---|
| Named deliverable, quiet morning | Keep timed blocks |
| Setup costs 8+ minutes every restart | Lengthen to 40 to 50 |
| Pairing / continuous conversation | Skip the timer |
| Creative exploration with no delivery target | Skip the timer |
| Meeting-dense day | Protect recovery; one short delivery block in a gap |
| Incident response | Skip; the timer adds noise |
Home interruptions are a separate layer: protect focus when you work from home.
Switching without losing the thread
When you must switch clients or tasks:
- Finish or park the current block with one line: next action + open question
- Change the current task label before starting the next block
- Keep an "Up next" list of at most five items
- Do not switch mid-block for curiosity
If the day is mostly switching, shrink the plan: one primary client outcome, one secondary, one communication window. Dev thrash: reduce context switching during development work.
A simple client-week pattern
- Monday: estimate blocks for the week's primary deliverables
- Midweek: protect morning blocks for deep work; batch client chat twice daily
- Friday: one or two blocks for wrap-up, invoicing, and next-week parking notes
If a client constantly breaks your first blocks with "quick" calls, move those calls into a standing afternoon window and say so kindly. Boundaries are part of delivery quality.
Missed blocks happen. Start the next one. If you completed six blocks and shipped nothing useful, rename tomorrow's tasks until they are concrete.
Size tomorrow's first stretch in the Pomodoro Planner, name the client deliverable, and start before Slack gets a vote.