ontobit

Software engineering studio · Madrid

Software that holds up under load.

We design and build distributed systems, high-concurrency backends and mobile apps for teams that can't afford to go down — and we run our own SaaS products on the same foundations.

Targets we design for

latency budget
p99 < 100 ms
availability SLO
99.95%
deploy downtime
0 s
concurrent sockets
100k+

01 / Capabilities

From the socket to the store listing.

One team for the whole path: backend, infrastructure and the apps your users hold in their hands.

Distributed systems

Event-driven architectures, replication and multi-region deployments designed to degrade gracefully instead of falling over. We treat partial failure as a design input, not an incident.

  • event sourcing
  • consensus
  • multi-region
eu-west

replica

us-east

leader

ap-south

replica

High-concurrency backends

Go and Rust services built for sustained load: WebSockets, streaming, queues and back-pressure done right.

  • Go
  • Rust
  • gRPC

Mobile apps

iOS and Android apps with offline-first sync, real-time updates and release pipelines you can trust.

  • Flutter
  • React Native
  • native

SaaS products

We build and operate our own SaaS on the same stack we deliver to clients — multi-tenant, metered and observable from day one.

  • multi-tenant
  • billing
  • analytics

Cloud & platform

Infrastructure as code, CI/CD and observability on GCP, AWS and Kubernetes, so every deploy is boring.

  • Terraform
  • Kubernetes
  • OpenTelemetry

02 / Engineering

Built to be operated, not just shipped.

Most outages are designed in long before they happen. These are the rules we build by.

  1. 01

    Observable by default

    Metrics, traces and structured logs ship with the first commit. If we can't see it, we don't call it done.

  2. 02

    Failure is a design input

    Timeouts, retries, idempotency and circuit breakers are decided up front, then tested with real load.

  3. 03

    Boring where it matters

    Proven databases and protocols at the core; new technology only where it earns its place.

  4. 04

    Small, frequent releases

    Trunk-based development, preview environments and automated rollbacks keep change cheap and safe.

rollout · production
12:04:11infodeploy api@4f2c1e → canary 5%
12:04:39infop99 42ms · error rate 0.00%
12:05:02infocanary healthy → promoting 25%
12:06:18warnws gateway: back-pressure on shard 3
12:06:19infoautoscaler +2 replicas (ws-gw)
12:07:40inforollout complete · 0 dropped connections
12:07:41
Illustrative canary rollout. Every release is gradual, measured and reversible.

03 / Stack

Proven tools, chosen per problem.

No framework loyalty. We pick what fits the load profile, the team that will own it and the budget.

Languages

  • Go
  • Rust
  • TypeScript
  • Swift
  • Kotlin
  • Dart

Data & messaging

  • PostgreSQL
  • Redis
  • Kafka
  • NATS
  • ClickHouse

Apps & web

  • Next.js
  • React Native
  • Flutter
  • Expo

Platform

  • Kubernetes
  • Terraform
  • GCP
  • AWS
  • Cloudflare
  • GitHub Actions

04 / Process

A clear path from idea to production.

Small senior team, short feedback loops and no surprises on scope or cost.

  1. 01 · 1–2 weeks

    Discover

    We map the domain, the load profile and the constraints. You get a written technical brief and an honest estimate.

  2. 02 · 1–3 weeks

    Architect

    Architecture, data model and failure modes on paper, with load tests planned before the first line of production code.

  3. 03 · iterative

    Build

    Two-week increments, deployed to real environments. You see working software, not status reports.

  4. 04 · ongoing

    Operate

    Monitoring, on-call and continuous improvement — or a clean handover to your team, with runbooks and docs.

Have a system that needs to scale?

Tell us what you're building. We reply within one business day with questions, not a sales pitch.