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).

TimeBlockTask name
09:0045mOutline pricing options A/B with constraints
09:50BreakStand up; no chat
10:0045mWrite option A with sample numbers
10:50Sweep15 minutes of client Slack
11:1045mWrite option B + recommendation
12:0025mPaste 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

WorkSuggested lengthWhy
Bug triage / email triage15 to 25 minutesFast feedback, low setup
Writing, design, coding40 to 50 minutesSetup is expensive
MeetingsDo not Pomodoro the meetingTimebox the agenda instead
Admin / invoicing25 minutesEasy to over-polish
Estimates / proposals25 to 40 minutesName 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

  1. Name the deliverable, not the vibe. "Draft pricing section" beats "work on proposal."
  2. Protect the first two blocks. Morning message sweeps destroy the best focus window.
  3. Batch communication. Check chat on a schedule, not at every badge.
  4. Log completed blocks against projects. Later you can explain the week without inventing a timesheet.
  5. Stop when the day is done. Extra unpaid polishing is not professionalism.
  6. 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

SituationChoice
Named deliverable, quiet morningKeep timed blocks
Setup costs 8+ minutes every restartLengthen to 40 to 50
Pairing / continuous conversationSkip the timer
Creative exploration with no delivery targetSkip the timer
Meeting-dense dayProtect recovery; one short delivery block in a gap
Incident responseSkip; 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.