We love helping people build beautiful, working things. We’d love to help you too.

We are intelligent, pragmatic humans who build machines made of logic, designed with feeling. We’re good at understanding what you do and finding ways to help you do it better. Let’s work together →

See how we

Notes and ideas

Next-generation Ruby web apps with dry-rb, rom-rb, and Roda: RedDotRubyConf 2016

Tim talks in Singapore about rediscovering joy in Ruby web app development

Tim Riley28 Jun 2016

Conversational rom-rb, part 2: types, associations, and update commands

More in our literate programming introduction to rom-rb: return results as dry-types structs, fetch associations, and update your existing records.

Tim Riley10 Jun 2016

A conversational introduction to rom-rb

How we build our app’s persistence support will have a profound impact on its overall design.

Tim Riley03 Jun 2016

2010: Odyssey Two

2010: Odyssey Two →

Time Travel

Time Travel →

Introducing ‘Today Icelab Learned’

Find out what we’ve been learning with ‘Today Icelab Learned’.

Andrew Croome25 May 2016

Plug Board

Plug Board →

Visualising our weekly schedule

Understanding what we’re working on is important. Here’s one way we do it.

Michael Honey24 May 2016

Louise Mann

Louise Mann →

Saturn V rocket

Saturn V rocket →

Put HTTP in its place with Roda

Design better apps with a clearly separated HTTP interface

Tim Riley24 May 2016

A change-positive Ruby web application architecture

A look into a post-Rails, post-MVC world.

Tim Riley19 May 2016

What you see is what you want

Or: How I Learned to Stop Worrying and Love Rich Text Editors.

Max Wheeler10 May 2016

Better code with an inversion of control container

Following good software design principles is not as hard as you think.

Tim Riley10 May 2016

Effective Ruby dependency injection at scale

An approach to dependency injection that will work across your entire app.

Tim Riley03 May 2016

Work with us, we’re good peopleGet in touch