Houdrik
About the studio

A small team that takes responsibility.

Senior-only, distributed, opinionated. We take prototypes to production, then stay to maintain and improve them.

What this studio is

Houdrik is a distributed, senior-only studio. We take prototypes — AI-built, vibecoded, contractor-handed-off, or your own first attempt — and bring them to production-grade. Then we stay on to maintain and improve them.

The studio is led by engineers who have been shipping production software together for years. We are deliberately small, senior-only and distributed, working asynchronously across timezones with a synchronous touch-point every two weeks. The smallest team that can ship a serious product reliably is also the cheapest to coordinate, the easiest to keep aligned, and the fastest to move. The case studies on this site reflect engagements led together by the same engineers — under the studio and from prior work.

The gap we exist to close

AI made it astonishingly easy to scaffold an application. A founder with no engineering background can produce a working prototype in an afternoon. A product manager can hand a model a screenshot and get back something that almost looks like a real product.

What AI has not made easy is the next part. The part where the prototype meets real users. The part where authentication has to actually be secure, the database schema has to support an audit, the deploy pipeline has to be reversible, the observability has to answer "why was it slow at 14:07 last Tuesday?", and the on-call runbook has to be readable by a half-asleep engineer.

That is roughly 90% of the work of running software. AI helps with parts of it, but not enough to ship without an experienced team. We are that team.

What we do, concretely

  1. Take prototypes to production. Engineering, infrastructure, security, performance — the unglamorous foundations that decide whether your app survives growth.
  2. Maintain and improve what we built. Most agencies hand off and disappear. We offer monthly retainers for ongoing maintenance, observability, performance tuning, and feature work — because the messy middle years are where products either compound or rot.
  3. Take over and rescue. Inherited systems with technical debt, departing CTOs, ailing legacy stacks — we audit, stabilise, and bring them back to production-grade.
  4. AI features that survive real traffic. RAG, LLM agents, AI features in your product — built the way you'd build any other backend feature: measured, observable, with cost ceilings and traceability.
  5. Automation pipelines. Replace repetitive operations work with reliable systems that don't fail silently.

How we choose work

We are not for everybody, and we say so. We work best with:

  • Tech founders and CTOs at early-stage startups. People who can articulate what they want and engage with trade-offs in real time. Roughly 60% of our engagements.
  • Growing SMBs digitising operations or trying to ship faster. Less technical, more focused on operational efficiency. About 25%.
  • Product teams in mid-size companies that need a tightly scoped engagement on a single surface. About 15%.

We turn down engagements where:

  • The success criterion is "be cheap". We compete on time-to-production and senior execution, not price.
  • The premise relies on a no-code or low-code platform we'd have to fight against.
  • The client wants a fixed price on a moving scope. We do fixed-scope engagements priced in person-weeks; if the scope is fluid the price has to be too.

How we pick what we build with

Frontend or backend. TypeScript, Python, Go, or whatever else fits. Managed cloud or self-hosted. Postgres or another database where it earns its place. We refuse to list a stack on this page because the answer depends entirely on your timeline, your team's skills, your hosting constraints, and what failure looks like at 3am.

What is universal: we pick mature, well-maintained tools that your team will still be able to inherit and operate in three years. We name every choice clearly in the kickoff document and defend it in writing. If you have a stack preference we'll usually accommodate it.

How we work

Engagements are time-boxed. Even retainers have a defined monthly budget and a renewal cadence. There is always an off-ramp.

Demos at the end of every sprint. Two-week sprints. The demo is on a real URL, on real infrastructure — never a screenshot, never localhost. We do not perform mid-sprint progress; we ship at the end and let the artefact speak. If something needs an out-of-band conversation we have one, but the cadence stays calm.

Decisions are written down. Every architectural decision lives in the repo as a one-screen Architecture Decision Record. Future-us is grateful; clients can read along.

The work is yours from day one. Code, infrastructure, deploy pipelines, runbooks, observability dashboards. We use no proprietary middleware. We retain no lock-in. Walking away on day 91 is supported by design.

We don't disappear after launch. A monthly retainer for ongoing maintenance and improvement is the most common follow-on engagement. If you'd rather take it in-house we hand off cleanly. Either is fine.

How to start

The simplest path: send us a paragraph about what you want to build, fix, or take over. We reply within one business day. The first conversation is fifteen to thirty minutes, no obligation, with whoever from our team would lead the engagement. If we're not a fit we'll tell you, and usually we'll suggest someone who is.

We are also happy to do paid one-week scoping engagements — written architecture proposal, risk-ranked plan, fixed fee — for projects where the right shape isn't yet clear.

Find us via the contacts page.

What you're working with

Depth where it counts

No juniors, no bench-warmers. Every engagement draws on the same senior disciplines — the ones that decide whether a system survives its second year.

Database architecture

Real constraints, indexes for the actual query patterns, partitioning, full-text and vector search, migrations that survive a multi-instance deploy.

Production architecture

Service boundaries, queues, caching, idempotency, retries — the patterns that decide whether a feature scales or quietly degrades.

Auth & security

OWASP-clean authentication, multi-tenant isolation at the database level, secrets storage, audit trails, compliance for regulated clients.

Observability & on-call

Structured logs with correlated request IDs, metrics that map to user impact, distributed tracing, runbooks a half-asleep engineer can follow.

AI in production

RAG pipelines, evaluation sets, cost ceilings, prompt structure, graceful refusal — the engineering that turns model output into a product feature.

Infrastructure & CI/CD

Containerised deploys, reversible releases, performance budgets the team measures and defends.

Product surface & design

Component systems, accessibility, front-end performance, the editorial polish that makes a tool feel finished.

Operations & automation

CRM and back-office workflows replaced with reliable software — scheduling, reporting, finance pipelines that don't fail silently.

01

Senior-only

No juniors. No bench-warmers. The people on the first call are the people who write the code that reaches your production.

02

Full-stack, hands-on

Frontend, backend, SQL by hand, infrastructure and CI configuration — without flinching, and without a hand-off to someone junior.

03

Conservative by design

We grow the studio by ones, not fives. We would rather decline a profitable engagement than dilute the bar that makes it work.

Got an app that needs to last?

Take it from prototype to production.

Reply within one business day. Vibecoded MVP, AI-built draft, half-finished project, or a working product that's starting to crack — all welcome.

Start a project