good evening 👋 · open for projects · --:--
← all notes

the stack, and why it's boring on purpose

We love shiny new tech. We read the release notes, we play with the betas, we have opinions about all of it. We just don't gamble your project on any of it. Our stack — React, Vite, TypeScript, Supabase, Postgres — is deliberately, almost stubbornly boring. And in software, "boring" is one of the highest compliments you can pay a tool.

what "boring" actually means

A boring technology is proven, well documented, widely used and easy to hire for. It has been around long enough that its sharp edges are mapped, its bugs are mostly found, and a new developer can pick it up without a séance. Boring does not mean old or slow — Postgres is decades old and still outclasses most of its trendier rivals. It means dependable. It means you can build on it without checking the weather first.

what boring buys you

  • Speed. We are not fighting the framework or working around its surprises, so the time goes into building your features instead of patching around someone else's experiment.
  • A clean handover. It is your codebase. Any competent team can pick it up, today or in three years, with no lock-in and no secret knowledge required. (This is the same reason we are honest with you about wordpress versus custom: you should never be trapped.)
  • Fewer 3am surprises. Mature tools have already had their crises in public. You benefit from everyone else's pain.
  • Lower running costs. Predictable tech is cheaper to host, cheaper to maintain, and cheaper to fix when something does go wrong.

the real cost of "exciting"

The bleeding edge looks great in a demo and feels expensive in production. Breaking changes every few months. Thin documentation. A tiny community, so when you hit a problem nobody has hit it before you. And the quiet risk that the library you bet on is abandoned within a year, leaving you to maintain it yourself. Choose the exciting option and you often become the unpaid QA team for someone else's side project — on your budget, on your deadline.

boring isn't the same as cheap-looking

This is the misunderstanding worth clearing up. "Boring underneath" says nothing about how the thing looks or feels on top. The foundation being dependable is exactly what frees us to be ambitious where it counts — the design, the motion, the little moments that make a site feel alive. A rock-solid base does not make a dull website; it makes a bold one possible, because nobody is nervously holding the plumbing together while the fun happens. Dull where it should be invisible, delightful where you can see it.

where we do reach for new

So boring underneath does not mean boring everywhere. The surface — the animation, the interaction, the playful bits — is precisely where it is safe to experiment, because if an effect misbehaves, the foundation underneath still stands. This very site is the example: a dull, predictable base with all the personality pushed up to the layer where a wobble can't take anything down with it.

how to tell if your stack is too exciting

A few warning signs, if you have inherited a project and aren't sure. You hear "we're the only ones using it this way" more than once. Every upgrade is a small adventure with an uncertain ending. Only one person truly understands a key piece, and everyone gets quiet when they go on holiday. The documentation is a Discord channel. None of these are fatal on their own, but together they are the sound of a project built on excitement rather than foundations — and they get more expensive every month you leave them.

boring is a feature

The exciting part of a project should never be whether the database holds up overnight. It should be what you get to build on top of it once you stop worrying about the foundation. We keep the plumbing boring so the ideas can be bold. 👋

like how we think?

[email protected]
hand-coded in spain 👋