Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


BirdWatch is a reactive web application for visualizing a stream of live tweets. It started out as a playground for trying out different ways of solving the same problem. There is a server-side application which subscribes to the Twitter Streaming API and then allows a client-side single-page application to perform a live search, meaning that a search on historical tweets up until now will be performed and then updated as new tweets matching the same search are retrieved.


On the server side, there are currently two different implementations:

  1. Play Framework (Scala) application with communication over Server-Sent Events and multiple clients: AngularJS, ReactJS and ClojureScript/Om. Note that the ClojureScript/Om client is not actively maintained as the Clojure development has moved to the application below. Read more

  2. Clojure application communicating with the client over Websockets. This application makes use of my systems-toolbox library, which it uses extensively on both the server and the ClojureScript client. Read more


Installation instructions live with the respective implementations.

Further Reading

There are a couple of blog posts covering this application. The best starting point for the Play application is the BirdWatch Explained article covering both the server side and the initial client using AngularJS. The BirdWatch: AngularJS vs. ReactJS article covers the ReactJS client. This article builds on the previous one. Then there is the BirdWatch with ClojureScript and Om explained article. This one may still be useful as it covers how to build a ClojureScript client using Server-Sent Events. Then, there's a book being written about the systems-toolbox library, using this application as the main example application.

Check out and subscribe to the newsletter if you want to stay up to date.

YourKit Logo

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.


Copyright © 2014-2017 Matthias Nehlsen. Distributed under the GNU GENERAL PUBLIC LICENSE, Version 3. See separate LICENSE file.