The Mechanical Turk is the only solution available for specific kind of tasks where human assistance cannot be replaced by machines. Think about moderation of images, web sites or videos that should go public inside your app for example. If you can’t hire people specifically for the task, you can give the Mechanical Turk a try. Interfacing with the Turk isn’t simple though: it’s a highly asynchronous interaction where you need to persist state, then checking for tasks in the queue and acting accordingly. The low level Ruby APIs from Amazon can be used to integrate the service into a Rails application but then you need specific classes to deal with it. This presentation illustrates patterns for creating tasks, observing Turk tasks, parsing results and send events back to the application.