Profile
Gustavo Azañero
I am a backend engineer. Since 2008 I have built and operated systems that other people depend on — lead engines that fan out to dozens of buyer APIs, content platforms, telephony integrations, management systems.
I run Consultores TIC, a small software and hosting company. That means I have never had the option of handing a problem to another team: infrastructure, deployment, monitoring, support and the customer conversation are all mine. It is not a career path I would recommend to everyone, but it removes any gap between what I build and what I have to keep alive.
I work spec-first and I use AI agents to move faster. I decide what to build, how it is structured, and whether it holds. That distinction matters to me and I keep it explicit.
How the stack evolved
The same problem — ingesting leads and dispatching them to partners — solved three times, each time with what the constraints actually required.
- 2008
Consultores TIC
Founded a software and hosting company serving local and international clients. Infrastructure, development and technical support for the same accounts for over a decade.
- 2012
ApiFuel — native PHP
Built the lead engine in native PHP, tuned for throughput under shared-hosting constraints. Performance was a design requirement from day one, not an optimisation pass.
- 2016
ApiFuel — AWS Lambda and API Gateway
Moved the ingestion and dispatch path to serverless. Traded server management for managed scaling, at the cost of cold starts and a harder debugging story.
- 2025
ApiFuel — TypeScript, BullMQ and Redis Cluster
Rebuilt the dispatch layer in TypeScript with BullMQ and a Redis Cluster. The constraint that drove the design was never request rate: it was outbound concurrency, because each lead fans out to multiple partner APIs. Added a controller that provisions an ephemeral EC2 fleet ahead of demand, since a new t4g.small takes one to two minutes to become ready.
Products I built and operated
-
ApiFuel
Lead management and dispatchIngested leads and dispatched each one to multiple third-party buyer APIs. In production from 2012 to 2025, across three successive architectures.
PHP · TypeScript · AWS Lambda · API Gateway · BullMQ · Redis · PostgreSQL
www.apifuel.com (opens in a new tab) -
ArticleAI
SaaS content platformFull product built solo: React and TypeScript front end, MySQL back end, proprietary API, automated SEO content generation and multiple export formats. An official WordPress plugin distributes it.
React · TypeScript · MySQL · WordPress
www.articleai.io (opens in a new tab) -
DialReveal
Anti-spam call detectionCombines Twilio, FTC data and scraping automation into a single usable signal, behind a dashboard with Stripe billing.
PHP · Twilio · Stripe · MySQL
www.dialreveal.com (opens in a new tab) -
Opticaz
Optometry management systemWeb app, Android app and admin dashboard sharing one REST API: appointments, inventory, clients and reporting.
PHP · MySQL · REST · Android
www.opticaz.pe (opens in a new tab) -
Dale Espacio
Personal backup serviceCommercial landing page for a personal backup service, with a self-hosted Nextcloud instance behind it on my own infrastructure. I built the site and operate the service; storage, sync and mobile apps are Nextcloud.
HTML · CSS · JavaScript · Nextcloud
www.daleespacio.com (opens in a new tab)
How I approach engineering
Four things I would rather be judged on than a list of technologies.
-
Simplest thing that satisfies the requirement
Every dependency, service and abstraction is a cost someone pays for years. I add one when the requirement forces it, and I write down why. The decisions and the alternatives I rejected are public in this repository.
-
Measure before claiming
If I state a number, I can show how it was obtained and what it does not cover. A load test is not production traffic and I say so.
-
Failure modes over happy paths
Integrations, queues and networks fail partially and in ambiguous ways. Retries need idempotency, dispatch needs backpressure, and logs need to answer "what happened to this specific request".
-
Own the whole thing
Code that nobody operates is a guess. I deploy it, monitor it, answer the support email and fix it at 2 a.m. if that is what it takes.
The details
Full trajectory, technologies and availability in the CV.