The horror story goes like this: you hire a freelancer, they seem great, and then... radio silence. Days pass. You send a follow-up. Nothing. Eventually they resurface with excuses, or worse, they don't.
I've heard this story too many times. So here's exactly how I communicate during projects.
Daily updates
Every day I work on your project, you get an update. Not a novel — just a few lines:
- What I shipped today
- What I'm working on next
- Any blockers or questions
It looks something like this:
Update (Mar 18)
✓ Fixed the auth bug — was a race condition in the token refresh ✓ Added tests to prevent regression
Next: Starting on the dashboard feature
No blockers.
Takes me two minutes to write. Saves you from wondering what's happening.
Response times
I respond to messages within a few hours during work hours (roughly 9am–6pm ET). For urgent issues, usually faster.
If something's truly on fire — production down, critical bug — I'll drop what I'm doing. That's what "production-ready" means.
For non-urgent stuff, I batch responses to stay focused on actual work. You'll never wait more than a day for a reply.
Async-first
I prefer async communication — Slack DMs, email, GitHub comments. Why?
- It's faster for both of us. No scheduling, no "can you hop on a quick call?"
- It creates a paper trail. Decisions are documented, not lost in a Zoom recording.
- It respects time zones. I work well with teams anywhere.
That said, some conversations are better synchronous. Complex architecture decisions. Ambiguous requirements. Getting to know each other. I'm happy to hop on a call when it makes sense.
Handling blockers
If I hit something that blocks progress, I flag it immediately. Not at the end of the day — right when it happens.
A typical blocker message:
Blocker: I need access to the staging database to test the migration. Can you add my SSH key? Here's the public key: [...]
I'll continue working on [other task] in the meantime.
I tell you what I need, I give you what you need to unblock me, and I keep working on something else. No wasted time on either side.
What I expect from you
Communication works both ways. Here's what helps me deliver faster:
- Respond to blockers within 24 hours. If I'm waiting on access or a decision, delays compound.
- Be specific about feedback. "I don't like it" is hard to act on. "The dashboard feels cluttered — can we reduce the metrics to just these three?" is actionable.
- Tell me if priorities change. If something else becomes urgent, I'd rather know now than deliver the wrong thing on time.
That's it. You don't need to micromanage me or check in constantly. Just be responsive when I need something.
Tools I use
I adapt to whatever your team uses. But if you're asking:
- Slack or Discord for async chat
- GitHub for code-related discussion
- Email for formal stuff (contracts, invoices)
- Zoom/Meet when we need to talk
I don't care about tools. I care about fast, clear communication.
The real commitment
Here's the underlying promise: you will never wonder what's happening with your project.
If there's good news, you'll hear it. If there's bad news, you'll hear it faster. If I'm stuck, you'll know immediately.
No disappearing acts. No surprise delays. No excuses after the fact.
That's how I work. If that sounds good, let's talk.