Let's stay in touch
Get one email every month or so about software products, marketing, and entrepreneurship

All Writing

I've been writing about my experiences starting, running and growing a creative companies since 2014, the bulk of which you'll find here. You can subscribe to an RSS feed of latest posts, too.

Habit building with coffee beans

Writing is important to me. But try as I might, I always seem to let my long-term writing habit slip. So, I'm trying something new.

How to add new colours to Tachyons

I'm a big fan of functional css; Tachyons in particular. This is the utility function I use to generate custom colour classes.

When technology kills a craft

In the spring of 1848, a Dutch trading ship dropped anchor in Nagasaki harbour. Its cargo would destroy an industry.

Why we deleted 70% of our portfolio

Six years into running Animade, we permanently removed around two-thirds of the projects from our website. But why did we need to do something so drastic?

Paralysed by analytics? Use a spreadsheet

If you want make better decisions with usage information, make a spreadsheet instead of using complex analytics reporting.

Middleman & Ulysses – My perfect writing setup

How I use Middleman & Ulysses to stay focussed on writing

How to tackle a task you've been avoiding

The process I run through to try and get a long-standing task off my todo list.

Losing the remote – 3 things I learned building a distributed team from scratch

How we wasted 1,000 qualified job applicants time in 48 hours, and what we learned from the experience.

Growing a studio, the hard way

A piece I wrote for the Boords blog about strategies for managing responsibilities in a growing studio.

Death of a side project

A small obituary for FeedHop, and RSS feed reader I built and ran for a time.

Todo lists do not the best of a morning make

A short summary of an approach to task planning which maximises your most effective time of day.

The black hole of sprint planning

When working on a product, a natural part of the process is a large volume ideas being consistently generated. These are my thoughts on where to put them.

Other people have better imaginations

The pitfalls of building what you think your users will want before actually talking to them

Nature's lunchtime revenge

Putting the post-lunch lull to good use.

Single Responsibility and the Heart of Darkness

Experiences navigating an occasionally nightmarish code jungle in a growing web-app.

Choosing what to charge for

You've added a new feature to your app. You're excited about it. But should it be free or paid?

Batch resizing images from the command line on a Mac

If you need to quickly resize a bunch of images on a Mac, you don't need to open Photoshop. There's a simple way to do it from the command line

Using Git in a team: a cheatsheet

I don't go anywhere near the vast majority of the things Git can do. Nevertheless, over the years I've arrived at a workflow which seems to have stuck. It's by no means revolutionary, but it gets the job done.

Why it's worth learning Vim

A letter to myself 6 months ago.

Launching Boords: Storyboarding made simple

We're working on a new product which helps make storyboarding simple.

6 lessons from launching FeedHop

FeedHop is a fast, simple, themeable newsreader. Its goal is to help you cut through the noise of the internet and find content you care about, faster.

Events in Google Analytics

Analytics may not be sexy, but without thoughtfully tracking how your sites are being used, you're flying blind. In less than half an hour you can tailor Google Analytics to work for you by using Custom Events.


A command line tool which generates documentation for your existing frontend code in seconds.

Cucumber: Test data

When testing your Rails apps with Cucumber, you need data to test with. This is a short introduction on how to create that data with the Factory Girl and Faker gems.

Cucumber: Getting started

Writing tests will make for better code and a less stressed you. Cucumber is a simple way of testing a Rails app. It’s like clicking through the site to check things are working, except the clicking happens automatically.

Micro Media Query Mixin

The worlds smallest media query mixin ™. It's not perfect, but 90% of the time it's good enough.

Multipliers in Javascript animation

Multipliers dictate how many times an animation happens in a given loop. They're a great way of creating convincing, characterful movement.

A better console log

Write yourself a custom console log wrapper for control, brevity and nerd points.

Mistakes we made starting a company

We could have saved ourselves a lot of heartache had we done a couple of things differently when starting up. Here’s a list of some of our more glaring cockups.

A rule of thumb for working with type

When working with type, only change one element of typographic style for each step in hierarchy.

Animation with Bourbon & Sass

Previously the preserve of Javascript, using CSS for simple animation sequences is quicker, more modular and easier to frankenstein to do your bidding.

A stab at a retina sprite workflow

Working with CSS sprites in two resolutions can quickly become unwieldy. We've set up a workflow to make things as easy as possible for ourselves.

Morning standup meetings

Our morning standup has made me reconsider everything I thought I knew about myself*.

Painless page states in CSS

Adding state-changing CSS rules to the body rather than specific elements makes them much easier to keep track of.

A simple guide to CORS

The "if-your-name's-not-down-you're-not-coming-in" of Javascript errors. What it means, and how to fix it.

© 2014-2019 James Chambers
Discover the tools behind great software products

Sign up to The Inner Joiner, my weekly newsletter about the tools and techniques behind great software products.