One big machine

The infrastructure I use in teams and those I use for my personal projects are quickly diverging and it comes down to this question: What can one person do?

When I'm working on solo projects like Transmutable Work or Science Saints the key word is "nimble". Each new technology has to earn its place by reducing demand on my most precious resource, time.

Science Saints has no database, no web app, and no compiled code. It's a set of static HTML and JS file that reads a hand edited JSON file holding the saints data. It's served from an AWS instance running nginx that I'm using for other projects but it could as easily be served from an S3 bucket. I don't manage it, I just make it.

Compare that to what I build with teams like the one I work in at Captricity. In order to support our customers' need to turn information on paper into information in a computer I've built a snazzy editor for uploading images, defining what fields they want converted, and then seeing the results. If we cut some corners, one person might be able to manage that. But then there's all of the machine learning and mechanical turk code, the ops tools, and soon we're looking at a dozen people working long hours.

The goals of those projects are radically different but the fundamental actions of the people aren't: Think a thought then make it so.

It's the acceptance of complexity which makes multi-person projects different.

My capabilities in one person projects are growing faster than my capabilities in multi-person teams. Tiny, comprehensible web engines like go-json-rest are combining with the complexity reduction of single-page apps and style foundations like Bootstrap to start one person projects far ahead of multi-person projects which feel the need to differentiate their tools and style.

On solo projects I don't even consider buying hardware, laying my own network, or investing in storage. I push from GitHub to Heroku via Drone.io and deal with the occasional hiccup. Or I spin up a single, increasingly powerful AWS instance (One Big Machine) and rely on RAID and offsite backups to recover from occasional disasters.

More than just bringing new techniques into larger projects, I feel like we're heading towards a time when there are two, somewhat separate ecosystems: one for solo projects and one for large groups.

More posts

Recent posts

  • What is PotassiumES?

    This is a post about PotassiumES, an ECMAScript library that enables browser-side development for the wider web. If you're not sure about the wider web, click that link because otherwise the rest of this post won't make a lick of sense.

  • Wider Web Lingo

    People sling around a lot of lingo when talking about the wider web, and even the term "wider web" is lingo!

    So, I wrote a series of short posts defining words and phrases ...

  • Wider Web Lingo: Voice

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Voice: Phrases or other vocal noises that can be recognized and used as input

    Computers are getting pretty good at understanding ...

  • Wider Web Lingo: Gesture

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Gesture: A body motion that can be recognized and used as input

    Computers are getting better at watching how we position ...

  • Wider Web Lingo: More Hugs, Fewer Thugs

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    More hugs, fewer thugs

    The wider web is inherently more intimate than the flat web that you hold in your hand ...

  • Wider Web Lingo: Spatial Controls

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Spatial controls: Interactive visual elements that are placed in the real or virtual environment

    Unlike page controls or overlay controls (the ...

  • Wider Web Lingo: Overlay Controls

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Overlay controls: Visual elements that seem to sit on top of a portal display

    Overlay controls on the wider web float ...

  • Wider Web Lingo: Page Controls

    There's a lot of lingo around the wider web so this is one of a series of short definition posts.

    Page controls: Visual elements that you're used to on the web like buttons, images, text fields, and blocks of text ...

  • Wider Web Lingo: Wand

    There's a lot of lingo around the wider web (which is itself lingo) so this is one of a series of short definition posts.

    Wand: A handheld device with tracked orientation and position, often with touchpads, thumbsticks, buttons, or other controls ...

  • Wider Web Lingo: Immersive Display

    There's a lot of lingo around the wider web (which is itself lingo) so this is one of a series of short definition posts.

    Immersive display: A display into a real or virtual environment that covers most of your field of ...