grand tour of the 13 railsday winners

Railsday 2006 results are out, at long last. The winning applications are impressive, and especially, very fun. There’s no universal demo server though so unless you go to quite a bit of work, you can’t see what the winning projects actually are like.

best solo project: rails wishlist

Rails Wishlist is a sort of a social feature-requester for Rails itself, by Hampton Catlin. It lets users vote up or down, Digg-style, on proposals for changes in Rails core.

front page

This entry is very interesting because it’s one of the few whose success wasn’t driven by the quality of its design; it was carried mainly by its features (I assume).

vote dropdown

request details

third prize, most useful: profilr

Profilr is a sort of account aggregator for your information-sharing sites, by Terence Haddock and Mark Chadwick. Unfortunately I couldn’t get it to work very well.


set up some of your accounts

get ready, go

loading… something

I never managed to get the application past this point. I don’t know if the accounts are disabled, or the sites are changed, or what. It tries to use Selenium to automate browsing and collect the relevant information.

second prize, most useful: regex tutor

Regex Tutor gives you a live environment in which to solve regular expression problems. Regex Tutor is by Ryan Bates.

Actually, this application was really fun and I wish there had been more fixtures. It has the constrained environment and instant gratification of a good puzzle game, while leading you lessons about different aspects regular expression.

get ready

level one

You have to make the input set on the left turn into the output set on the right. In the middle the results of your current attempt are updated automatically as you edit it.


if you need help

The application includes glossary and FAQ infrastructure so that it can be fleshed out into a comprehensive teaching tool.

This is my personal favorite of all the winners. Excellent functional use of Ajax.

first prize, most useful: heartbeat

Heartbeat is a server monitor. It combines an internal tool like Monit with an external uptime checker like Montastic. Heartbeat is by Charles Brian Quinn and Derek Haynes.


setup your servers

It connects via SSH to monitor process status.

keep an eye on your apps

third prize, best interface: (make sure I got all the dots) generates a public view onto your iTunes collection. is written by Jae Hess. You upload your iTunes .xml library file. The interface is adorable and solid. Unfortunately when Railsday ended it didn’t do more than display a tag cloud of your genres and artists.

who? what?

The small cloud in the background floats around via sneaky Javascript breezes.


glory in your unique and impeccable taste

Those are fixtures, not my real artists. I declined to try uploading my personal database of 25,000 songs.

But those little trees are so cute…

second prize, best interface: d20 online

D20 is a tool for keeping track of your card-based roll-playing games, by Tom Leiber, Jeff Mickey and Javier Cabrera. I don’t know anything about card-based roll-playing games so I have to keep quiet on this one. People can participate remotely in real time. Only having one of me, and not really knowing what I should be doing, I had a hard time testing that out.

ready to rumble?

create my character

participate in a game

The FAQ will help you out.

first prize, user interface: we rate stuff

We Rate Stuff is a product and service review database, although I guess you could review like your dog or something too if you wanted to. We Rate Stuff is by Frederico Oliveira, Tiago Macedo and Pedro Eduardo Lemos Freitas, who give it infinite stars (out of five).

We Rate Stuff includes full-text search via ferret, but I couldn’t get it to work.

home page

We Rate Stuff is full of beautiful fixtures and it really makes the application seem polished.

how was that latin concert, then?

or that “ruby tracks” thing

third prize, most creative: is an expense tracker and reminder sender for apartment mates. Hopefully it did not spring from a disagreement between Dominic Damian, Ben Myles and Chris Abad.

home page

pony’s gotta eat

let’s review

someone’s been slacking off

second prize, most creative: family book

Family Book is the little seed of a future comprehensive family networking site, by Lucas Carlson and John Butler. It lets you create a family-tree-like view onto your relatives, track their details, and spam your whole extended family whenever the annual reunion is coming up.

home page

The “lexical parser” bit refers to being able to type sentences like “My mother is Mom and her birthday is 10/3/1982” and have it add a node on the family tree for her. I typed “My daughter is a baby” and after that nothing showed up, so I stuck to the examples from then on. It was only one day, after all.

graph view

The graph is all in Flash. The suggestions at the bottom are slightly alarming, but do get the point across.

first prize, most creative: the awesome ninja game

The Awesome Ninja Game is a game, where you have this ninja, and he does ninja stuff. It was created by Tobias Lutke, Cody, and Daniel while they were standing in the sun. Seriously. Nobody saw it coming.

It seems like you can have your character fight with other people’s characters, just like Digg or Slashdot.

create our fierce ninja

choose moves

I don’t know the differences between them, but there are a lot to choose from.

good ninjas keep a schedule

Turns go by, and the ninjas fight, or study, or do whatever you set. Results are returned as text descriptions in the blank field to the left of the schedule, creating a little Zork-style history of your ninja’s activities.

oh, who’s the best, that’s right

This application was one of the really fun ones.

third prize overall: cuppin’

Cuppin’, which has become a real place, is a social site and review hub for coffee lovers. Peat Bakke and Raymond Brigleb are its highly-caffeinated creators. This really impressed me mainly because it’s something I would actually use, and all of the advertised features are fully implemented.

home page

i remember that one

what the faq

who’s been talking

coffee-related events

Mmmmmm. Catastrophy doesn’t sound good, though. Somebody probably ground the beans ahead of time, or maybe they were frozen (the horror!).

second prize overall: good to garden

Good to Garden is a garden simulator. Will Emigh and Rory Starks must have played a lot of Harvest Moon. I don’t think Good to Garden would be a good place to try out your growing strategies before hitting the dirt. It’s more like a vegetable Tamagotchi.

home page

i’m just testing, man; it’s really ok

the princess is in another castle?

I don’t know why this came up, but it did.


our little friend

harvest day

I’ll make some carrot cake to go with my coffee.

first prize overall: freckle

Freckle is a wedding planner, by Amy Hoy and Bryan Wood. I don’t know if they’re married or not; you’ll have to direct your inquiries elsewhere. Freckle leads you through the steps of orchestrating the big day. The app is solid although I did run into “Application error/Rails” here and there.

almost the most importantest

design your invitations? sort of

lots to do

hire people


wrapping up

Many of the applications that won are basically CRUD (Cuppin’ and Freckle included). Good design seemed to carry the day. I didn’t see any really ugly apps with awesome ideas, or notice slick code tricks among the winners. This vaguely disappointed me. Ideas are hard to come by, though, and good code is certainly harder to evaluate than good design. Seriously, though, all the winners are more than worthy.

here, take this unsolicited advice

One thing all the winners did have in common was great migrations and (usually) good fixtures. I tried installing some of the non-winning applications randomly. I couldn’t get most of the ones I tried to even start properly due to bad migrations, database incompatibilities, or dependency issues. So here is what I will be keeping in mind for next year, if I compete:

  • Make it work out of the box. Consider sqlite3 for your database.
  • Have fun and interesting fixtures.
  • Think of your idea and sketch out a visual design on paper before hand.
  • Better to leave something out than expose an application error.
  • Have a good teammate with skills complimentary to your own. There’s a reason the winning apps were almost all by teams.
  • Go for plain old CRUD if in doubt. It’s the heart of Rails, after all.

26 responses

  1. Thank you for writing this up. It is very fun to see the other sites!

    Glad you liked Regex Tutor. I’ll have to turn it into a real site some time (with obviously more content).

  2. Oh, BTW, I should mention that the fixtures were only used for testing in Regex Tutor. The real data is placed in an external file for you to import (MySQL only though). db/populate.sql

  3. Thanks Evan! Your suggestions are also cool, but just so you know, the rules for railsday said you had to use mysql. Possibly the most stupid requirement ever.

    CampingDay would rock my socks

  4. Ryan, hey, I missed the populate.sql file. Maybe I’ll go back and install it so I have more to play with.

    Chris, but at least two apps up there used Postgres, and one (profilr) was not compatible with MySQL.

  5. Thanks so much for putting this together Evan. I used the script to download the projects and by chance had already found out about the “weratestuff” application, but this is a great overview.

    I did run into some really nasty problems on OSX trying to get rMagick installed (nothing to do with WeRateStuff, but it won’t run without it)

    If anyone knows of a running demo, plz post here.

    Many thanks!


  6. You didn’t notice slick code tricks among the winners… did you look at the source behind FamilyBook? Every line of code was written during the 24 hours and if that lexical parser was not slick, I don’t know what counts as slick in your book.

  7. Thanks for taking the time to do this, and include the screen shots. Saved me a lot of time.

  8. I’m pretty disappointed by the results, with especial disdain for the overall choices.

    The overall winner (to me) seemed to be some scaffolds that were tacked together (or maybe the developer just really likes to code like the scaffolding; I only did a cursory peek into the code). My apologies to Freckle (cool idea), but I think second place was just a much cooler idea with equal execution. But, hey, I’m not a judge, right? :)

  9. Lucas, didn’t mean to insult your app. The first phrase I tried seemed to damage the graph view so I stuck to the prescribed examples after that. Maybe after RubyConf I’ll have a chance to study the source of the different entries in more depth. Congratulations though! You may already be a winner…

    RubyConf is sweet by the way. But _why is not here; sadness.

  10. Thank you for doing what should have done. The next step would be setting up demos :p

  11. …at least two apps up there used Postgres, and one (profilr) was not compatible with MySQL.

    So some of the winners broke the rules? That’s too bad.

    But thanks for the great writeup!

  12. I’m curious…

    “Make it work out of the box. Consider sqlite3 for your database.”

    Why would you reccomend this…

  13. Sqlite is configuration-free. No server daemon problems (‘socket can’t connect’, what?), no authentication problems (hrm, what roles does Postgres need for this…), no database version problems (MySQL 4.1? But I have 5.2b!).

    And you can ship your fixtures merely as the sqlite database file itself, no fixture load step or even real fixtures are necessary. You can just keep whatever test data you entered in the course of development.

    Sqlite rocks. It’s not as fast as MySQL, despite some claims. But I don’t think “does it scale” is first in one’s mind on Railsday.