Skip to content

Web development

Web applications that survive their third year. We build the thing you need, not the platform someone could theoretically need.

Stack
Rails, Node, React
You email
A developer

Fit

Who this is for

A good fit

  • You want the people building it to understand the business, not only the code.
  • You are tired of a site that takes ten seconds to load on a phone.
  • Your site cannot do what the business now needs it to do.
  • You need it built right the first time rather than patched later.
  • You want to work directly with the people writing it.

Not a good fit

  • You want the cheapest option available. You get what you pay for.
  • You want 47 different animations and effects that serve no purpose.
  • You want the newest experimental framework because it is the newest.
  • You expect the result to be good without supplying content or feedback.
  • You need a team of 20 people to make you feel important.

The build

What you get

Six things that exist when the build is done.

  • 01 A responsive interface It works on a phone because it was tested on one. Touch and keyboard both, across platforms, not a browser window dragged narrower.
  • 02 Technical SEO Search engines can read every page the day it launches, not after someone is hired later to add the SEO.
  • 03 Performance work It stays fast on your real data rather than a demo set, and when an outside service we do not control stops answering, the rest of the site keeps working.
  • 04 Security and maintenance SSL, security updates, automated backups and uptime monitoring, for as long as we are the ones running it.
  • 05 Code someone else can pick up Code another developer will not resent inheriting. Documented, tested, and in a repository you own.
  • 06 Analytics you can act on Analytics set up before launch, so you can see which pages people visit and where they arrived from.

Order of work

How a build runs

The same three steps every time, whether it is a marketing site or an application with real business logic behind it. Discovery is a conversation, not a deliverable.

Step 01

Real discovery

We work out what the site has to accomplish for the business before anyone opens an editor. Sometimes the problem turns out not to be the one you came in with.

Step 02

Build and ship

You see progress every week, not a status report once a month that says nothing. If an element does not help someone finish what they came to do, it comes out before it ships.

Step 03

Go live

It launches when it works rather than when the calendar says so.

Our products

Products we run ourselves

These are ours, not client work. We pay the hosting bill and answer the support email, which is the only way to find out whether a decision holds up long after you made it. Every price on these three cards is published on that product's own site, on the page named beside it.

rota.biz The Rota scheduling interface, showing a week of shifts laid out by employee
01

Rota

Rails 8 · Hotwire · Postgres · Kamal

Staff scheduling that replaced the spreadsheet. Conflict detection runs before a schedule is published rather than after it.

$29/mo for 25 employees, not per-user · rota.biz/pricing

wakio.net The Wakio home page, describing its sending and suppression behaviour
02

Wakio

Rails 8 · AWS SES v2 · Sidekiq

Transactional email sending direct via SES. Suppression is scoped to your account, so another sender's hard bounce never quietly blocks your address.

$99/month for 50,000 emails · wakio.net/pricing

somiti.net The Somiti home page, showing a member and dues summary
03

Somiti

Rails 8 · Hotwire · Pundit · Postgres

Membership management for clubs, leagues and community groups. Dues, event sign-ups and member records in one place.

Circle plan free for clubs of 50 · somiti.net

All of our products, on the home page

Money

What it costs, and what moves it

We will not quote you until we understand what you actually need. When we do, it is a fixed price or an hourly rate, whichever fits the work, and that number is the whole number. No surprise charges and no scope-creep fees.

  • A basic business site $8K to $15K
  • An e-commerce platform $15K to $35K
  • A custom web application $25K to $75K+

What moves it

  • How many screens there are, and how much behaviour sits behind them.
  • Whether the interface is drawn from scratch or from something you already have.
  • How many systems it has to talk to that we do not control.
  • Whether existing content and data have to come across with it.

Stack

What we build with

Rails by default, and Go, Node, Laravel or Django when the job or your existing code points that way. We pick tools that have been in production long enough to have boring failure modes, because you are the one who inherits whatever we choose.

What it is built in
Ruby on Rails, Node, Go, Laravel, Django
What the visitor sees
React, Next.js
What we take over
Rails, Node, Go, Laravel and Django apps that someone else built

Boundaries

What we won't do

Four boundaries, stated before you sign rather than discovered in month three. If one of them rules us out, better now than later.

  • We won't quote a timeline we do not believe. If we think it runs longer, you hear that before you sign.
  • We won't disappear at launch. If something we built breaks, we fix it.
  • We won't build on a framework that shipped last week. Proven stacks, every time.
  • We won't reach for microservices where a monolith does the job.

Questions

Things people ask before signing

How long does this take?

Most work falls into one of three shapes. A basic business site usually runs 4 to 6 weeks. An e-commerce platform, 8 to 12 weeks. A custom web application with real business logic behind it, 3 to 6 months. The things that move the price move the timeline too, so you get a figure for your own project before you sign rather than a bracket off this page.

What about Next.js?

We use it. Next.js is one way to ship React, and we take that work.

What about WordPress?

If you need a blog and a few pages, WordPress is cheaper than us and you should use it. We earn our price when the site has to do something rather than show something: take bookings, handle billing, decide who sees what.

What if I want to change it later, or work with someone else?

You own the code. If you stop working with us, the repo, the deploy and the docs come with you, and the developer you hire next does not have to be us. We picked Rails partly because that is true of it.

What happens if I need changes after launch?

Minor tweaks and bug fixes are included for the first month after launch. Anything larger, a new feature or a change of direction, is quoted before the work starts.

Can you host it and keep it running?

Yes. Hosting, security updates and uptime monitoring, the same work as our DevOps service, run by the people who built the thing. If you would rather run it somewhere else, from day one or later, you get everything you need to do that.

Do you handle the design as well?

Yes. We draw the interface as our product design service, or we build from designs you already have. Either way, whoever writes the code sees the screens before they are final.

Who will I actually be talking to?

A developer. There is no account manager in between relaying what you said.

Tell us what you're trying to build

On the call you get a price range, a rough timeline, or the reason we're not the right shop. No deck, no second call with a salesperson.