Adrián Cabeza

Projects

I work on a platform that serves thousands of hotels. Each piece here is told as a pattern: the problem that shows up when a platform grows and the decision that solves it.

Secrets and trusted networks

Security · In production

The problem

When a platform grows from ten projects to hundreds, keys end up scattered across files, variables and someone’s head. Rotating a credential is an afternoon of finding where it lives.

The decision

A central vault with rotation, trusted networks between services and a single controlled path to each external vendor. Projects ask for the secret; nobody copies it. Rotating is one change in one place.

A firewall that learns

Security · ML · In production

The problem

A booking engine receives malicious traffic that changes shape every week. Hand-written rules are always a step behind and, once tightened, block real guests.

The decision

A model that classifies every request instead of hand-written rules; rules remain for what a model must not decide.

Company MCP server and agent toolkit

AI agents · In use by the team

The problem

Everyone used coding agents on their own, without access to the company’s email, chat or knowledge base, and with no measure of what they added.

The decision

A company MCP server with per-person permissions, a shared toolkit of skills (reusable instructions) and protocols, and usage telemetry to measure what each piece adds before extending it.

Internal service family

Platform · In production

The problem

Internal services get built one at a time, each with its own bootstrap, its own logging and its own way to deploy, until maintaining them costs more than building them.

The decision

Flask services on a shared library and a short backend standard: it is cheaper to follow than to work around. A new service starts life with bootstrap, logging and deployment already solved, and ships like everything else.

Aloha Apartments

Family · In use

The problem

My family ran their apartments with a paper notebook: bookings by hand, incidents by phone, nothing to check from outside.

The decision

An app that reads bookings from photos of the notebook with an LLM, handles incidents via QR codes and shows each person only what they need. Running for years. Built for them, not for sale.

  • wordpress-guardian: a file-integrity monitor for WordPress with Telegram alerts, in C++.
  • Automated rollout of one component to dozens of hotels in an afternoon.
  • Several browser extensions and internal tools from the front-end years.