This was built and written in 2016. While the project didn't gain much traction, the intro post is kept here for posterity.
Building realtime applications is hard.
A scalable solution to this problem involves many cumbersome steps:
- Hooking into replication logs of the database servers, or writing custom data invalidating logic for realtime UI components.
- Adding messaging infrastructure (e.g. RabbitMQ) to your project.
- Writing sophisticated routing logic to avoid broadcasting every message to every web server.
- Reimplementing database functionality in the backend if your app requires realtime computation (e.g. realtime leaderboards).