This article is part of Building Realtime Apps Tutorials series, updated on a regular basis. Notifications can be very useful, but they can also be annoying. Often I can be on a chat app, somebody sends me a message, and I get two notifications: one in the window, and another by email. The application has […]


This article is part of our series of tutorials ‘Building Realtime Applications’, updated on a regular basis. When I browse the web, there’s nothing less helpful than a progress bar that doesn’t give me any feedback on what’s actually happening. This usually happens when the application is working on a task that needs some time […]


ReactJS has been an awesome development in the way we think about data-driven user interfaces. By eschewing the n-way data-binding we see in many other JavaScript frameworks, it provides a simple, unidirectional flow for handling state in client-side code. Whenever the underlying data of your views change, React automatically re-renders your components. As a result, […]


Battlehack NYC was our one and only US-based event in the series this year and we were extremely thrilled to meet the amazing talented hackers of the Big Apple. And as usual with Battlehack, all our expectations were exceeded! Jamie and I spent a wonderful weekend in a stunning city. We made new friends, munched […]

BattleHack Stage

A whirlwind of impressive hacks, great food, friendly people, a frighteningly tall CN tower, and beer. Yes, Jamie and I recently got the chance to represent Pusher at BattleHack Toronto! Jamie is a veteran of previous BattleHacks (London and Athens), but for me it was my first one, so needless to say, I was very […]


Olga and I travelled to Venice over the weekend just gone in order to represent Pusher at the latest instalment of this year’s Battlehack, BattleHack Venice. This was my third time at a BattleHack event but it was Olga’s first. She’d read the previous Berlin, Tokyo, Athens and London blog posts and heard us extolling […]


Last weekend, Pawel and I were at BattleHack Berlin, our fourth involvement in the global hackathon series hosted by Braintree. Having heard from my colleagues about the BattleHacks in other cities, I expected the Berlin edition to take it one level higher; and Braintree did exactly that! They left no stone unturned in their quest […]


Tokyo was our third involvement as BattleHack 2015 partners. The first two – London and Athens – set a high standard. How would Tokyo compare? With 41 teams competing for the coveted Axe Trophies the Japanese edition was busy and exciting – but also very focused and organised. Braintree yet again proved they’re the perfect […]


Last week we headed over to Cardiff to attend and support our first DjangoCon Europe. Although the Welsh capital met us with stormy showers and blustery winds, the Django community proved to be warm and very welcoming. In this post I’m going to cover DjangoCon EU’s efforts around social responsibility and report on the talks […]


ἀλλ᾽ ἄγε θᾶσσον ὄτρυνον πόλεμον δὲ κάρη κομόωντας Ἀχαιούς, – Iliad Book 19, Lines 68-9. Translation: “Come, rouse the Greeks of flowing locks to war.” This weekend Hamilton and I made the trip to Greece to attend the Athens edition of this year’s BattleHack – and, BattleHack being BattleHack, we weren’t disappointed by any stretch […]


This article is part of Building Realtime Apps Tutorials series, updated on a regular basis. In this guest blog post Aaron Bassett talks about how and why he built django-pusherable, a mixin library for Django Class-based views that makes it easy to add real-time notifications to your Django apps. Aaron Bassett is a freelance developer […]


Since joining Pusher last year I have participated in a few office hack days, each one unique, and a good opportunity to get our creative juices flowing. I love seeing the imaginative ways people use Pusher in their apps. The concept of a ‘hack day’ was new to me before joining the start-up scene but […]

WS Blog Header

I have been at Pusher for almost 6 months and, mainly working on customer-facing developer work, parts of our deeper infrastructure have seemed a bit of a black box to me. Pusher, a message service that lets you send realtime data from server to client or from client to client, has the WebSocket protocol at […]