Sprint Poker — Free Agile Estimating Tool

Michał `fazibear` Kalbarczyk
EL Passion Blog
Published in
3 min readOct 22, 2015

Sprint Poker is the new and completely free tool for Agile estimating. With its help you will plan tickets with your team quickly and efficiently. You don’t even have to register to start using it!

Sprint Poker is the new and completely free tool that will help you will plan tickets with your team quickly and efficiently.

All you need to do is type in the session name and your nickname. To invite other team members, you simply send them a link to your session and that’s it. After adding tickets you can start estimating.

What Makes It Special For Me

sprintpoker_start

Sprint Poker is the application that I always wanted to create. Here’s what makes me proud of it:

  • Asynchronous communication between client and server.
  • Modern React based frontend.
  • Elixir powered backend on the top of Erlang VM.
  • Every single thing makes this application cool.

We want to share our experience and open source it. You can check it out and run it. If you’ll find any bug, report an issue or create pull request please!

Technical Background

Long time ago

When client’s side application became real and websocket connection became standard I really wanted to make communication between client and server asynchronous. I didn’t want to request server just to check if something changed and wait for a response. With websocket it’s quite easy. Both sides can push messages and listen to them. To update user client, you simply send “user:update” message and … that’s it. When server updates it, it sends “user” message with current user. Also when some background job updates it, server sends it too. Client simply waits for the message and when it arrives, it changes stored data. A perfect solution for Sprint Poker.

sprint poker dashboard

Phoenix and Elixir

Rails is a great framework, but not so asynchronous. For websocket thing node.js is doing better. But I don’t want to write a lot of javascript. Seriously.
Recently Elixir has reached 1.0 version. Elixir is a Ruby like functional language on top of Erlang VM. With Phoenix Framework they’re a great tandem. They give you speed and maintainability at once. This is a very good choice for websocket backend. Especially when you like Ruby.

React

There are a lot of frontend frameworks. Angular, Ember.js, React. They’ve passed a long way to become what they are now. But for Sprint Poker I needed something small that fits into small asynchronous application. React was a bullseye. Of course React is only a view layer, but with Reflux it’s a really powerful tool. Stores, actions and components — it’s all there. Actions change a state, components render a state and can invoke actions. Pretty simple. But wait, there’s a one catch. A websocket.
We need to change a state, when websocket message comes in. No problem. Store implements websocket communication and updates it when messages arrive.

--

--