Work

Real work, in production today.

These are the teams we currently build and run backend and infrastructure for.

C-01 · Cancún · Backend & infra tech lead

Software agency

Sole owner of architecture and infrastructure. We defined deployment, operations and backend standards from scratch, and turn the PM’s requirements into solutions for multiple end clients, on VPS with Kubernetes and Docker Swarm.

Docker Swarmk3sCloudNativePGGitHub Actions
01 · Code → CI/CD GitHub Actions · 14 repos
build → ghcr.io → docker stack deploy · ssh
1Password → secrets at provisioning time
▼
▼
02 · Services Docker Swarm
Caddy · TLS autoGoNode
02 · High availability k3s
Envoy GatewayMetalLB PostgreSQL HA · CNPGValkey 1P · 2R · 3S
SQL▼
03 · Data PostgreSQL on the app node
backups ──▶
S3 AWS
Websites → Cloudflare Pages
NextReactAstro
How we deploy

Docker Swarm for most services and k3s for what needs high availability. The same pipeline across 14 repos, with secrets from 1Password. PostgreSQL lives next to the application with backups to S3, and websites ship to Cloudflare Pages.

Context

A development agency with its own product portfolio and clients in auto parts, HR, inbound tourism, healthcare and education. Every account arrived with its own stack — Go and Node APIs, Next and Astro frontends — and everything ended up on shared cPanel hosting, with no repeatable path to production and no way to reproduce an environment.

What we did

Two platforms, each for what it does best: a Docker Swarm with Caddy and automatic TLS for most services, and a k3s cluster for what needs high availability — PostgreSQL HA with CloudNativePG, Valkey with one primary, two replicas and three Sentinels, with Envoy Gateway and MetalLB in front. Deploys run on GitHub Actions: build, push to ghcr.io and docker stack deploy over SSH, the same across all 14 repos. Secrets are read from 1Password at provisioning time; none live in plain text.

Outcome

69 application services in production across Swarm and Kubernetes. The main node has been running for 479 days without a single restart. A change on main reaches production in a 3-minute median, and 99% of deploys finish in under 15.

Services in production 69 across Swarm and Kubernetes
Main node 479 days without a single restart
main → production 3 min median
Deploys 99% finish in under 15 min
Query latency 27 ms → ~0 PostgreSQL next to the app
C-02 · AI startup · Cancún · Backend, platform & automation

Nuke AI

One infrastructure for more than ten clients: 23 isolated stacks, business automations on n8n and AI pipelines that never fill in data that doesn’t exist.

Docker SwarmCaddyn8nNestJS · Next.jspgvector
nuke-ai.com ↗
Lifecycle of a lead
13 CRM flows74 active automations
⚑ Observability · failure alerts → Slack
01 · Inbound
WhatsAppLanding formAd
▶▼
02 · Agent LLM
classifies, replies and calls tools
↳ check rates↳ check availability
◀▶▲▼
03 · CRM Kommo stage updated automatically ⇄ the agent also reads the state
▶▼
04 · Outcome
payment linktransactional emailbooked appointment
Context

Nuke AI builds product for several clients at once: tourist transportation operations, hotel competitive intelligence, biomedical research and a dozen brand sites. Thirteen repositories, four languages and delivery cycles that look nothing alike — a static landing page and a live operations platform don’t ask for the same thing. The demand was never traffic: it was getting all of that to live on a single infrastructure without one client being able to take down another, and letting any of them ship to production the same day.

What we did

A Docker Swarm with Caddy in front handling automatic TLS per domain, and 23 isolated stacks on top: APIs, frontends, two PostgreSQL 16 instances, a pgvector database for embeddings, Redis and two n8n instances running the clients’ automations. Every project comes in the same way — GitHub Actions builds, publishes to GHCR and deploys over SSH, waiting for the stack to converge, verifying the SHA live, with a rollback workflow to a previous commit. The operations platform, NestJS and Next.js on PostgreSQL, runs a real-time war room with Socket.io over Valkey, Meilisearch search, write-invalidated caching and a 400 requests-per-minute-per-IP limit at the edge. The AI pipelines run on Claude with local embeddings and one hard rule: if a data point couldn’t be obtained, it is reported empty; it is never filled in.

Outcome

23 services in production for more than ten clients on a single node, with no replica down. 423 days of continuous operation without a restart. A change on main reaches production in a 3-minute median, and 96% of deploys finish in under five.

No restart 423 days continuous operation
Services in production 23 isolated stacks · 0 replicas down
Active automations 74 n8n workflows in production

Have a project that needs senior backend or infra?

First call is free. If we’re not the right team, we’ll point you to someone who is.