We balance independence with frequent sync. Too much disturbance kills focus; too little sync causes drift. Even with async work, flooding Slack channels with long threads reduces readability and creates noise. We've learned to be intentional about where information lives.
Our Tools
GitHub Issues and Projects is our single source of truth for work intake and prioritization. We document decisions, track tasks, and prioritize work in GitHub Projects. Team members pick up tasks from there. This keeps everything transparent and reduces the need to dig through chat history.
Slack for lightweight coordination and quick clarification. We avoid posting long updates or decisions in Slack — those belong in GitHub. For detailed discussions that need real-time back-and-forth, we use Slack huddles.
Devin as our AI software engineer. We have a dedicated product-with-devin channel in Slack where we transparently assign tasks and collaborate. We treat Devin like a colleague or intern — sometimes Yujong takes over when deeper coding expertise is needed, but mostly it's a transparent workflow where anyone can see what's being worked on.
GitHub also serves as our CMS — our IDEs double as blog editors. Want to write something? Just submit a PR with your article. Related posts:
Development tools — Zed, GitButler, Cursor, and Claude Code.
Escalation Ladder
Not everything is equally urgent. We use a simple escalation ladder: phone calls are reserved for truly urgent matters that can't wait; Slack mentions are for things that are reasonably urgent but can wait a few hours; and everything else goes into GitHub for async processing. This helps us protect focus time while ensuring nothing critical falls through the cracks.
AI-Augmented Team
We're automating as much as possible with AI and Hyprnote. Yujong has been heavily adopting AI into his workflow, and we believe a small, mission-aligned team augmented with AI can outperform companies with hundreds of people.