Ilya Brin - Software Engineer

History is written by its contributors

Go Channel Hell: How We Defeated chan map[string]*map[int]chan struct{}

2025-05-14 8 min read Golang Concurrency Refactoring Ilya Brin

Hey Gopher! 👋

Have you ever seen code like chan map[string]*map[int]chan struct{}? If yes, then you know what channel hell is.

This is a story about how we started simple, reached nightmare, and found an elegant solution. A real-time notification system that grew from 100 users to 100,000, and how we refactored the channel architecture.

Spoiler: we ended up replacing all this horror with 3 simple interfaces and typed channels 🚀

Continue reading

Notification System: How to Sync Millions of Devices Without Pain

Hey architect! 📱

Need to build a notification system that works like the big players? Where messages arrive instantly on all user devices, and the server doesn’t crash under load?

Let’s break down how to design a notification service that can handle millions of users and sync state across their devices.

Continue reading