Skip to main content

Virtual Collaboration Actually Works

10 min read
KohakuBlueLeaf
Virtual Collaboration Actually Works

Virtual Collaboration Actually Works

When we started Kohaku Lab, we didn’t set out to prove anything about remote work or virtual teams. We just wanted to build cool AI/ML projects together. But along the way, we’ve learned that virtual collaboration isn’t just “good enough” - it can be genuinely great.

The Skepticism

People often assume distributed teams face insurmountable challenges:

  • “How do you coordinate across time zones?”
  • “Don’t you lose productivity without in-person meetings?”
  • “Isn’t communication harder remotely?”

Fair questions. Here’s what we’ve found.

What Actually Works

Asynchronous Communication Is a Superpower

Time zones aren’t a bug - they’re a feature. When someone in Taiwan finishes their work day and pushes code, someone in Europe wakes up and reviews it, then someone in the US picks up the next task.

We get continuous progress around the clock.

Key tools:

  • Discord channels, threads, and forums for async discussions
  • GitHub for code hosting and reviews
  • Good documentation (because you can’t just tap someone on the shoulder)

Deep Work Over Meetings

No conference room means no meetings (mostly). Instead:

  • Written proposals and RFC documents
  • Thoughtful async code reviews
  • Focused work time without interruptions

When we do need real-time sync, we use video calls. But they’re the exception, not the default.

Documentation Becomes Essential

Can’t rely on “tribal knowledge” when the tribe is scattered across continents. This forces us to:

  • Write better docs
  • Comment code more thoroughly
  • Maintain clear project wikis
  • Record decisions in issues and PRs

Ironically, this makes our projects more accessible to new contributors than many co-located teams.

What Doesn’t Work

Assuming Everyone’s Available

“Quick question” doesn’t exist when “quick” might mean a 12-hour delay. We learned to:

  • Provide full context in every message
  • Anticipate follow-up questions
  • Make decisions with incomplete synchronous input

Real-Time Pair Programming

It’s possible, but scheduling is a pain. We do more:

  • Async code reviews
  • Recorded walkthroughs
  • Detailed PR descriptions

Traditional “Collaboration” Overhead

Here’s a controversial take: when individuals are powerful enough to handle 100k+ line codebases with agentic coding tools, traditional in-person collaboration can become a bottleneck.

Our method is simpler: One person focuses on one project or task at a time. No multiple people stepping on each other’s toes, no coordination overhead, no “too many cooks” problems.

Instead:

  • Clear ownership of tasks and projects
  • Deep, focused work without coordination overhead
  • Async handoffs when someone needs input
  • Discord threads for specific technical discussions

The Unexpected Benefits

Global Perspective

Team members from different countries bring different perspectives, different approaches to problems, and different areas of expertise.

Forced Clarity

Remote work punishes vague communication. This made us:

  • Write clearer code
  • Articulate ideas better
  • Think through proposals more carefully

Focus on Results

Can’t measure productivity by hours in office. We focus on:

  • Code shipped
  • Bugs fixed
  • Features delivered
  • Impact created

Tools That Help

Our stack is simpler than you’d think:

For Code:

  • GitHub - That’s it. Code hosting, PRs, issues.
  • CI/CD pipelines? Not 100% needed. Nice to have, not essential.
  • VS Code Live Share? Never use it. Everyone works solo.

For Communication:

  • Discord - This is the key.
    • Channels for different projects
    • Threads for focused technical discussions
    • Forum channels for longer-form discussions
    • Brief communication about PRs, issues, new code
    • If everyone engaged accepts → merge/modify
    • Async by default, real-time when needed

The Real Key: Different Info, Different Channels

Here’s what actually matters: matching information type to the optimal medium.

People can see multiple things at the same time - your computer has multiple windows open, right? So:

  • Code changes? → GitHub PR + brief Discord message
  • Architecture discussion? → Discord thread
  • Quick question? → Discord channel
  • Formal documentation? → GitHub Wiki/README
  • Design decisions? → Discord forum or pinned message

No specialized “remote collaboration tools” needed. No VS Code Live Share. No complex CI/CD orchestration. Just GitHub for code, Discord for communication.

When you keep it simple, it works.

The Human Element

Technology enables collaboration, but people make it work. We’ve found that successful virtual teams need:

Judge by Code, Not Promises

You can’t see people working. You can only see their code. That’s actually liberating - results matter, not hours logged or how busy someone looks.

If something’s not done? No blame, no pressure. Just:

  • Assign it to someone else
  • Do it yourself
  • Let it wait

Everyone’s an enthusiast with their own life. Day jobs, families, other commitments come first.

Communication: Less Is More

Over-communication is exhausting and doesn’t work async. Instead:

  • Write clear code
  • Document decisions when they matter
  • Ask questions in Discord when stuck
  • Don’t expect immediate responses

If something’s important, it gets done. If it’s urgent, someone steps up. No need for status updates or check-ins.

Shared Passion (Not Obligation)

We’re building this because we love it. When it stops being fun, people take breaks or move on. That’s fine.

No guilt about being “late.” No pressure to perform. Just:

  • Work on what interests you
  • Ship when you’re ready
  • Help when you can
  • Take breaks when you need

And this applies to you too, reader. If you’re feeling burnt out or your interest is dropping - take a break. Seriously.

Everyone is human. Forcing yourself to work when you’re not feeling it produces bad code and kills motivation. Taking breaks isn’t laziness - it’s how we stay productive and creative long-term.

We’ve found that people who take breaks when they need them actually ship better work faster than those who grind through burnout.

Respect for Real Life

Just because you’re awake doesn’t mean everyone else should be. Everyone here has:

  • Day jobs that pay the bills
  • Personal lives and commitments
  • Other projects and interests

Kohaku Lab is the fun side project, not the main gig.

Advice for Virtual Teams

Based on our experience:

  1. Write everything down - If it’s not documented, it doesn’t exist
  2. Embrace async - Most things don’t need real-time discussion
  3. One person, one task - Avoid coordination overhead by giving clear ownership
  4. Use Discord effectively - Channels, threads, and forums beat endless meetings
  5. Focus on outcomes - Measure what gets built, not when people are online
  6. Trust individuals - With modern tools, one focused person can ship massive projects
  7. Keep it casual - Formality doesn’t scale well virtually

The Agentic Coding Era Changes Everything

Here’s something most teams haven’t realized yet: when a single developer with AI coding assistants can build and maintain 100k+ line projects, the old collaboration model breaks down.

Traditional approach:

  • Multiple developers on same codebase
  • Constant coordination and merge conflicts
  • Meetings to stay aligned
  • In-person communication “essential”

Our approach:

  • One person owns a project or major feature
  • Use AI assistants for productivity
  • Ship complete implementations
  • Hand off clean, working code
  • Discuss architecture in Discord threads when needed

The result? Less coordination overhead, more deep work, better outcomes.

When individuals are this productive, in-person collaboration can actually slow things down. The bottleneck isn’t coding speed - it’s coordination overhead.

How We Use AI Coding Assistants

Not all AI usage is equal. Here’s our method that actually works:

1. Human Decides Everything Important

You - the human - decide:

  • Architecture and design patterns
  • Technology stack and dependencies
  • Solution approach and methodology
  • Implementation strategy
  • Design choices and trade-offs

AI executes your decisions, not makes them.

2. AI Does the Coding (Under Human Control)

AI writes the code, but you stay in control:

  • Direct the exact implementation
  • Specify design choices explicitly
  • Review and approve every step
  • Course-correct immediately when needed

Think of AI as an extremely fast junior developer who needs clear direction.

3. AI Documents, Human Verifies

AI can write documentation, but:

  • You must verify everything is correct
  • Check technical accuracy
  • Ensure docs match actual implementation
  • Fix any hallucinations or errors

Documentation is useless if it’s wrong.

4. Review Every Line

We encourage reviewing every line of AI-generated code:

  • Something feels weird? Ask AI to examine that specific part
  • Not sure about an approach? Get AI to explain the reasoning
  • Still uncomfortable? Modify it yourself

You’re not just accepting AI output - you’re actively reviewing and improving it.

5. Agentic AI Works, “Vibing” Doesn’t

AI is good when it’s agentic (autonomous task completion with your direction):

  • “Build this feature following this architecture”
  • “Implement X using Y approach”
  • “Refactor this to use Z pattern”

AI is bad when you’re just “vibing” (vague prompts, hoping for magic):

  • “Make it better”
  • “Fix the bugs”
  • “Optimize everything”

Be specific. Be directive. Stay in control.

Take Breaks (This Means You)

When you feel your interest dropping - take a break. Not tomorrow, not after this feature. Right now.

Everyone is human. Forcing yourself to code when you’re not feeling it:

  • Produces bad code
  • Kills creativity
  • Burns you out
  • Slows you down

Taking breaks when you need them isn’t weakness - it’s how we work better and faster.

Seriously: close your laptop, go for a walk, play a game, touch grass. The code will still be there when you come back, and you’ll solve problems faster with a fresh mind.

We’ve seen it repeatedly: people who respect their own energy and take breaks when needed ship higher quality work in less total time than those who grind through exhaustion.

One Person Touches Code, Everyone Contributes Ideas

Let’s be clear about what we mean by “one person per project”:

We’re NOT saying:

  • One person manages the whole project alone
  • One person makes all decisions solo
  • No collaboration on design

We ARE saying:

  • Only one person touches the codebase at a time
  • Everyone interested provides feedback, suggestions, discusses design choices
  • Multiple people collaborate on architecture and approach
  • But we don’t need multiple devs doing the actual implementation

Why? Because most code written by AI isn’t very difficult. The hard part is:

  • Deciding what to build
  • Choosing the right architecture
  • Making good design decisions
  • Reviewing and verifying the implementation

The actual typing of code? AI handles that. You don’t need 3 people pair-programming when 1 person + AI can implement what the group decided.

The workflow:

  1. Team discusses approach in Discord
  2. Someone says “I’ll handle this”
  3. That person implements it (AI or human doing the actual coding - whichever is faster)
  4. Team reviews the result
  5. Iterate if needed

Sometimes AI codes it. Sometimes the person codes it directly - depends on the task:

  • Extremely difficult/novel code? Human might be faster
  • Extremely simple/boilerplate? Human might be faster
  • Everything in between? AI usually wins

Use whichever approach gets you to working code faster.

Collaboration on ideas, solo execution. It’s faster and produces better results.

The Future of Work?

We’re not saying everyone should work remotely. But for certain types of work - especially open-source development, research, and creative projects - virtual collaboration opens doors that physical location closes.

Want proof? Look at our projects:

  • 7K+ GitHub stars
  • 2M+ HuggingFace downloads
  • Active user communities
  • Real impact

All built by people who’ve never been in the same room, mostly working solo on their tasks, coordinating async through Discord.

Join Our Experiment

Think virtual collaboration sounds interesting? We’re always looking for passionate people to join Kohaku Lab.

No resume needed. No formal interview. Just:

  • Pick a project that interests you
  • Start contributing
  • Join the conversation

That’s it.


Related Posts:

Connect With Us: