Suave, NDC and a tool for creating your own conference track

I recently attended a workshop at NCrafts where I was introduced to the basics of Suave.IO. I like the concept of writing no-nonsense lightweight web apps and APIs in F#, and have a use case at hand where it might be suitable.

But first I wanted to try it out, and decided to write a small application using it. Since NDC is approaching I grabbed the agenda from the official site and put together an "NDC tracker". It's built with Suave.IO and runs in Azure at ndc2015.geist.no.

How it works

When you hit the root of the site it redirects you to a randomly generated URL consisting of two parts "/{id}/{key}". If you don't want some random URL, just go ahead and choose your own id and key.

When you visit the site with both an id and a key you will be able to plan your schedule for NDC by clicking the sessions in the agenda. When you click a session it will be highlighted and added to your track.

When you visit the site with just an id you will be able to see the selected sessions, but not make any changes.

The idea is that you can create your own track, choose which sessions you want to attend, and have your own track in your pocket on your mobile at the conference. Or share your track using the public readonly URL.

NDC Tracker

The NDC agenda data

If you are interested in creating something using the NDC agenda I have done the heavy lifting of turning it into a somewhat sane JSON-document which you can download here.

My experience using Suave

It was my intention to follow up the project with a blog post about Suave, but I think there is enough material for a series of posts. I will start writing them as soon as I can find the time. I will also publish the code when I have had a chance to clean it up a bit.

For now I hope you go and check out the tracker, and that I will see you at my lightning talk next Friday at NDC!

View Comments