Running projects across Hong Kong, Singapore and US time zones
A practical operating model for delivery teams whose working days barely overlap, covering handover discipline, deadline conventions and which meetings are worth the 6am start.
Hong Kong and Singapore share a time zone. New York is twelve or thirteen hours behind them depending on the month, and San Francisco is fifteen or sixteen. A team split between Asia and the United States has, on a normal weekday, somewhere between zero and two hours of civilised overlap.
Most teams respond by scheduling a daily call at the least offensive hour and hoping nobody burns out. That works for a few weeks. What actually holds up over a year is changing how decisions are made so that the overlap window stops being the only time work can move forward.
Count your real overlap before designing anything
Start with arithmetic rather than intent. Hong Kong and Singapore are UTC+8 all year, with no daylight saving. New York shifts between UTC-4 and UTC-5, and Los Angeles between UTC-7 and UTC-8. That means the gap between Asia and the US changes twice a year, and it does not change on the same dates in every country.
A 9am to 6pm day in Hong Kong is 9pm to 6am in New York during northern summer. There is no overlap at all inside normal hours. Add a London or Sydney leg and the picture changes again. If you write down the actual numbers for your specific pairs of cities, you usually discover the overlap you thought you had is an hour at someone's dinner time.
That number determines everything else. With two hours of overlap you can run a short synchronous decision slot. With zero, every mechanism has to be asynchronous, and pretending otherwise just moves the cost onto whoever is most junior.
Make the handover the unit of work, not the day
In a co-located team, the working day is the natural unit. You start something, you finish it or you ask the person next to you. Across a twelve-hour gap, the useful unit is the handover: what one side leaves in a state the other side can pick up without asking a question.
This is a writing discipline more than a tooling one. A handover that says progress on the API is not a handover. One that says the endpoint is complete and deployed to staging, the remaining work is the error states listed in the task, and the open question is whether a soft-deleted record should return 404 or 410 — that is something the next person can act on immediately.
The test is simple and worth applying honestly: if the receiving side has to ask a clarifying question before they can start, the handover failed and you have just lost a full day.
- State what is finished in terms someone can verify, not in terms of effort spent.
- Name the single next action, not a general area of work.
- Separate open questions from blockers, and mark which ones actually stop progress.
- Include where the work lives: branch, file, document, environment.
- Say what you assumed. Wrong assumptions surface faster when they are written down.
A day lost to a clarifying question costs the same as a day lost to a bug, and it happens far more often.
Fix the deadline convention before it bites you
A milestone due Friday is ambiguous across time zones in a way that reliably causes an argument. Friday in Hong Kong ends fifteen hours before Friday ends in California. Both parties can act in good faith and still disagree about whether something was late.
Pick one convention and apply it everywhere. The one that causes the fewest disputes in client work is to express deadlines in the client's time zone with an explicit hour: due 18:00 HKT on 12 June, not due 12 June. It is slightly more effort to write and it removes an entire category of conflict.
Then make sure your tooling stores the time zone rather than a bare date. A date field alone will be rendered in the viewer's locale and quietly shift by a day for half your team, which is the worst possible failure mode because nothing looks broken.
Decide which decisions need a meeting
The instinct is to protect the overlap window for standups. That is close to the least valuable thing you can put in it. A standup is a status broadcast, and status is exactly what a written record does better and cheaper.
Reserve synchronous time for the things that genuinely fail in writing: disagreements where two people hold different models and need to converge, ambiguous client feedback that needs interpretation, and early scoping where the shape of the problem is not yet clear. These are conversations with branching paths, and they take five rounds of comments to resolve asynchronously.
Everything else — status, approvals, straightforward reviews, handovers — belongs in a written channel attached to the work itself. If you do this properly you will find you need the overlap window two or three times a week rather than daily, which makes it sustainable to schedule at an hour that is merely inconvenient rather than harmful.
- Synchronous: unresolved disagreement, ambiguous client feedback, initial scoping, difficult delivery news.
- Asynchronous: status, handovers, code and design review, approvals, decision records, retrospective input.
Rotate the cost, and say out loud that it is a cost
Somebody is taking a call outside their working day. In most teams it is consistently the same people, usually whoever has the least positional power, and it is usually never discussed.
Rotate the burden on a published schedule so it is visible and shared. If your Asia team takes an evening call one week, the US team takes an early one the next. Where a rotation is genuinely impractical, compensate it explicitly with time back rather than treating it as goodwill.
This is not a soft concern. Unacknowledged asymmetry is one of the most reliable predictors of attrition on distributed teams, and replacing a senior delivery lead costs vastly more than the inconvenience you were trying to avoid.
Give the client one place to look
Clients across a twelve-hour gap experience your project as a series of overnight emails, which makes progress feel lumpy and makes silence feel like trouble. The instinct is to send more updates. The better answer is a shared view they can check whenever they want, so an update is something they pull rather than something you push.
The same applies to approvals, which are the most expensive thing to make synchronous. If sign-off requires a call, a one-day review becomes three, because you are waiting for a slot rather than a decision. Asynchronous approval against written acceptance criteria removes that delay entirely, and it produces a record as a side effect.
A working model that holds up
Put together, the pattern that survives contact with a real twelve-hour split looks like this. Deadlines carry an explicit hour and time zone. Every day ends with a written handover on the work item itself. Status lives in a shared view rather than in update emails. Approvals are asynchronous and measured against criteria agreed in advance. Two or three synchronous slots a week are reserved for genuine disagreement, on a rotating schedule so the same people are not always paying.
None of it is exotic. What makes it work is that it stops treating the overlap window as the place where work happens, and starts treating it as the narrow exception it actually is.
Related guides
Scope and commercials
Scoping client work so it does not drift
Why scope creep is a documentation failure rather than a client behaviour problem, and how to write acceptance criteria that survive a review meeting.
Read itClient relationships
Onboarding a client into a shared workspace
A first-fortnight sequence for getting a client to actually use a shared project view, including the kick-off agenda, what to share, and how to handle the stakeholder who prefers email.
Read it