Two four-pointed glass stars from the Amwaj Sama mark, floating on a dark sea seen from directly overhead, with soft light scattered across the water around them.

Creative software studio, since 2015

We build things from scratch. You are looking at one of them.


A studio of engineers and makers. Most of what we build is our own, and a few times a year we build somebody else's.

That is the sea from overhead, and the sky is underneath it. Move your pointer. How this was built.

Exhibit one

This page is the portfolio piece.

The sea above is raw WebGL. There is no three.js behind it, no maths library, and no animation library anywhere on the site. Every figure below is measured by the build rather than typed in by hand, so when the JavaScript doubles next year this page will say so on its own.

Runtime dependencies
0
JavaScript
35.3 kB gzipped, 4 modules
Stylesheet
12.5 kB gzipped, one file
Every image
94.4 kB 2 files, drawn by the build
First load
133.2 kB before the sea film

The cloud film on the sea floor came from Pexels and its licence does not ask for credit. We would rather give it.

Things we made

The gallery

WebGL · Type · Tooling2026

This website

A sea seen from directly overhead, with the sky underneath it rather than above. The floor is a cloud timelapse, so the water refracts it and two pieces of glass taken out of our mark magnify it as they drift over. Move a pointer and the water answers, and everything floating on it answers the water, including the headline word by word.

  • Raw WebGL. No three.js, and no maths library either.
  • The still underneath is the same geometry through a software renderer we wrote, so a browser with no 3D loses nothing.
  • The PNG encoder, the font subsetter and the mark itself are all ours.

How it was built

More of these exist. They are scattered across old repositories and half-finished domains, and they go up here as they are untangled rather than all at once.

The practice

And a few times a year, we build somebody else's.

Not a lot of them, because the person on the call is the person who writes the code. That caps how much work we can carry and is the main reason we sometimes say no.

01

Work out what it should be

Before anyone writes production code, we work out what it is for and what it has to survive.

02

Build it properly

The version with the edges on: empty, loading, error, and the page with four hundred rows.

03

Make it survive being used

Traffic ten times last month, and a database that was fine at ten thousand rows.

Fit

Who that goes well for, and who it does not

This goes well when

  • Something already half exists, and there is a real date by which the rest of it has to.
  • You would rather have the honest number early than the comfortable one late.
  • Somebody on your side can decide inside a week.
  • It has to still be running in three years, and somebody other than us has to run it.

This goes badly when

  • The cheapest quote wins. We will lose that one, and we ought to.
  • The specification is signed and what you want is typing.
  • The last team left no tests and nobody is still there to ask.
  • The date matters more than whether the thing works on the date.

Talk to us

Twenty minutes, no deck.

You talk. We ask the awkward questions, and at the end you know roughly what it costs and whether we think it is worth building at all.

The call is with Mo Sfahan, who writes the software, and takes the call.

Free. An NDA signed before you describe anything if you ask when you book, and nothing chasing you afterwards.