Upstream Pro Tips: Escaping exponential pinging
Blog >
Last updated: June 18, 2025
In high-growth startups, the average person receives over 800 messages/day across Slack, email, and other tools. This includes random notifications across multiple channels. Staying productive feels like scooping water from a sinking ship.
At Upstream, we never wanted to live through that again. So we’ve actively been looking for ways to improve our communication.
We're not there yet- but here is what we learned on good async communication practices from GitLab, PostHog, Buffer... and others.
🔍 TL;DR
In summary, here's how async communication practices from GitLab, Buffer, and PostHog help them stay productive at scale:
Default to async and minimize pings
Write clearly, with context and deadlines
Use formatting to make your message skimmable
When meetings are necessary, prepare and follow up
📝 Default to async.
It's easy to ping but annoying to get pinged. Before you ping someone, you can ask:
Do I need an urgent response, or can we do this async?
By when do I need a response?
Then choose the least disruptive channel. If it’s outside working hours, you can schedule send.
✅ Good writing >> Bad writing.
It’s tempting to shoot off a message, but sharpening it avoids back and forth. Here’s what others have found helpful:
Draft your message as it comes
State what you need the receiver to do, and by when
Centralise context, links, and who’s involved. Occasionally record a quick video. But prefer a quick call to 40 back-and-forth messages :)
Apply the “So what” test. What is your teammate likely to infer from my message? Did you forget anything?
Trim to the essentials. If you're naturally verbose, it can be challenging. Pro tip: use the Hemingway app editor to highlight complex sentences for you!
❌ Bad structure or formatting = ignored messages.
We learned that the hard way…
For structure, here's what others do:
Specify the urgency : FYI, Input needed, or Urgent
Open with a recap one liner of the ask and deadline (like a TL;DR)
Add context my coworker may need
Specify who should be involved
For formatting:
Use headers to make content skimmable
Use bullet points
Embolden the most important sentences. Pro tip: use bold sparsely to avoid visual overload.
👊 If you need a meeting, make it count.
Replace sync time with voice notes + transcript, short videos, async messaging when possible
If you need a meeting, try to:
Keep meetings short by default (30 min, 15 min) and extend them if needed
Prepare an agenda with the meeting’s goal, and link it in the invite so it’s easy to find.
Follow up with a recap of what you decided on + your next steps.
👑 The rule to rule them all: understand your coworkers’ expectations.
Company culture shapes how people are used to receiving information.
Don't swim against the current! In different teams,, there's usually a tool etiquette in place. This helps people use the right tool for the right intent.
Still not perfect, but trying out those practices has already significantly improved our daily.
We hope you found this helpful. Leave us your thoughts in the comments!
Bonus: Add this to your toolkit
✅ Make good use of Front’s Open Source Internal Communication Guidelines
✅ Improve your writing skills with AI-powered DevSecOps startup Gitlab’s tips for better writing
✅ Make better decisions following Alan’s Github issue template: How to make decisions in an asynchronous work environment: Our method at Alan
📢 Want to support us?
👉 Sign up for our waitlist and be the first to try Upstream.
🧠 FAQ
Q: How do I reduce internal noise in remote teams?
A: Use async communication with structured messages, clear deadlines, and defined urgency levels. Avoid meetings when possible.
Q: What tools help with async communication?
A: Upstream of course with threaded emails 🫣, Notion, Loom, and email with schedule-send. Templates improve clarity.
Q: When is a meeting better than async?
A: When high-bandwidth collaboration is needed quickly or emotion/context is best shared verbally.
Q: How do I structure an async message?
A: Start with a one-line TL;DR, specify the action needed + deadline, and format using bullet points.