Sam Rayner

Hi, I’m Sam. I design and build apps for iOS and the web. I live in Sheffield, UK and play Ultimate far too much. You can reach me via email or on Twitter.

Statto - The Ultimate stats tracker

I don’t really blog about Ultimate Frisbee but when I’m not looking at a screen it’s what I’ll be out doing or at least thinking about.

For the past two years I’ve had the privilege of representing Great Britain, competing in the Mixed division at the European and World Championships. I also coach and captain the local club team, Sheffield Steal and help coach Sheffield’s university teams.

Ultimate is growing rapidly in popularity and recognition as a sport. With that growth has come an increasing desire for advanced statistical analysis to gain a better insight into player performance and team strategies.

It will be many years before Ultimate has the funding for the kind of GPS player tracking of more mainstream sports. In the meantime, I’ve developed an app for the iPhone and iPad to allow coaches, broadcasters and fans to track and analyse Ultimate stats. It’s called Statto and is available on the App Store.

Try it out today for free, or for more information visit the website.


As a fun little project over the last few weeks, I’ve built a Web app that helps you discover more music by artists in your iTunes library. It’s called Discographer, and uses the Spotify API to fetch albums, ticking off the ones you own so you can see what you might have missed.

iTunes Music Library.xml

It was a nice opportunity to play with some new web APIs (Drag and Drop, File and Flexbox), the main benefit being your library is never uploaded but parsed locally in your browser. The only thing transmitted is the name of any artist you click.

It was linked on Lifehacker a couple of days ago and I’ve since received some great feedback. Please give it a go and let me know what you think!

GitHub Spectacles

At Terracoding we regularly review pull requests from each other when working on a project. GitHub’s “Commits” and “Files Changed” tabs make it pretty painless but we wanted a way to easily view Ruby implementation files alongside their specs.

Octoclark Kentocat

I created a bookmarklet to arrange the file pairs 2-up for review. With the files side-by-side it’s easy to spot code that isn’t covered by tests and we get a better idea of what methods are meant to do. It also hides the code of deleted files which I never bother to read during review.

To install, drag this button into your bookmarks bar:

GitHub Spectacles

Try it out on this commit. Just click the bookmark when viewing the file changes.

The CoffeeScript for the bookmarklet is opensourced on GitHub.

Retiring Lando

Yesterday I finished porting this site to Middleman, a static blog generator written in Ruby. Since releasing Lando, I’ve barely written a line of PHP and, short of rewriting it in Ruby (which I unfortunately don’t have time to do), I’ve been put off working on Lando because of that.

I am very proud of how Lando turned out and have genuinely enjoyed using it to power my own site but it felt like it was time to switch to something written in the language I use day-to-day. If you use Lando, I am sorry I won’t be continuing its development. Rest assured it will stay open-sourced on GitHub and if anyone wants to take over managing it please get in touch.

If you’re looking for a replacement, translating my Lando templates to Middleman was remarkably simple, with the majority of helper functions and content properties matching across the two systems. I recommend it over Jekyll/Octopress which I found to be less flexible and hampered by their Liquid templates.

Lando and Han

Thanks to everyone who tried Lando out and gave feedback. I learned a lot building it.

Name & Shame

Name and Shame screenshot

A couple of days ago my first iOS app went up on the App Store! Name & Shame is an iPhone app for logging and sharing the funny, dumb (or even profound!) things your friends say.

“David Cameron… didn’t he direct Avatar?” – Erwann Cordon (being quizzed on his general knowledge)

It’s free to try out and just 99¢ or 69p to upgrade for unlimited quotations. You can import friends from Facebook and Contacts, share quotes on Twitter and Facebook, star your favourites, tag, search and more!

“…but cats CAN get married!” – Sarah Harrison

The idea came from sitting with my flatmates discussing possible app ideas that gradually got sillier as we got more desperate. It occurred to me how many times a mate has come out with something funny and I’ve kicked myself for not having written it down somewhere.

“There’s a town called Crematorium?” – Joe Crellin (seeing a road sign on the way to Manchester)

The app was developed with help from my mate Sam Millner. Thanks also to Guy Brown for his top lectures on iOS and Dom and Rob for their feedback and advice.

Please check it out on the App Store and take it for a spin! I’d love to know what you think via email or Twitter: @samrayner.

Introducing Lando

Managing the content of websites has always felt like a bit of a chore. Things like editing pages, posting blog entries and importing media should be simple but the Web-based admin interfaces of most CMSs make it fiddley. Form inputs and textareas weren’t designed for authoring content and, while WYSIWYG editors help, I dread looking at the HTML produced.

Up until a few months ago, I worked around the problem by editing content locally and pasting changes across but live and local versions quickly got out of sync. It was time to knuckle down and come up with something better.

A New Hope

Meet Lando: a new kind of CMS that lets you manage your website in the cloud. Lando lets you save plain-text files and media in special Dropbox folders and have them appear on your site. No forms, no fuss. You can create things like galleries and slideshows automatically from a folder of images and, with everything in the cloud, you can update your website from anywhere.

Lando Calrissian

Lando is written in PHP and comes in a package to upload to your own server. There’s a simple installation wizard to guide you through connecting to your Dropbox account. Lando then communicates with the Dropbox API every so often to check for changes to your website content files or you can force a refresh by logging in as an admin on your website and clicking update.

Lando installs 5 folders in your Dropbox: Pages, Posts, Drafts, Collections and Snippets. Pages, blog posts and drafts are created as folders containing a main text file and any supporting media files. Content can be formatted as Markdown, Textile or HTML. Collections are folders of files that can be included anywhere in your site as a list of links, a gallery or a slideshow. Snippets are text files that can be included anywhere too, useful for content that appears on multiple pages.

Having your content as files on your hard drive is great:

  • You can rename, delete and move stuff easily.
  • You can make local backups of your website.
  • You can enjoy the comfort and efficiency of editing in a familiar desktop or mobile environment rather than filling in forms in a browser.

Having content automatically sync to Dropbox is awesome too:

  • You can update your website from any connected device, even on the go with Dropbox-powered Android and iOS text editors.
  • You can edit offline and your changes will be applied next time you connect.
  • You can use Dropbox’s Share feature to easily collaborate with people on a single blog post or your entire website!
  • Your files are automatically versioned online so you can roll-back your content if something gets lost or mistakenly changed.

I’ve developed Lando as my third-year dissertation project over the past 18 months. Since then, I really have enjoyed using it to manage sites. This new version of is powered by Lando and it’s been a blast getting up and running so quickly with a system I know will make maintenaining it a breeze.

Lando is available free and open-source on GitHub. Documentation can be found at Please give it a go and let me know what you think!

Post Archive