
Mi Trabajo
Plataformas construidas de punta a punta: la superficie del producto, la arquitectura detrás y la infraestructura sobre la que corren. Cada entrada lleva su caso de estudio.
Explora Mis Áreas de Especialización
El trabajo agrupado por superficie: plataformas, móvil, infraestructura, herramientas. Detrás de cada grupo está la misma disciplina, primero la arquitectura, después la construcción, después producción.
Sistemas de IA
Servidores MCP que exponen una plataforma real a los asistentes de IA, pipelines de agentes que hacen trabajo editorial real tras puertas de aprobación humana, y la infraestructura que los mantiene en producción. Construidos como sistemas, autenticados, con alcance definido y auditados, nunca como demos.
Ingeniería de IA - Agentes, Servidores MCP y Flujos de IA Duraderos
La plataforma alrededor del modelo que lleva las funciones de IA de la demo a producción: agentes que planifican, actúan y verifican, y servidores MCP sobre los propios sistemas de una empresa. A su alrededor, enrutamiento entre proveedores de modelos, flujos duraderos para trabajos largos, memoria acotada a cada cliente y barreras que mantienen a una persona en cada escritura. El servidor MCP en marcha detrás de este sitio es el ejemplo real, y la misma ingeniería funcionó en una plataforma de flujos de trabajo de IA centrada en agentes con más de mil tenants. Funciona sobre infraestructura propia, así que nada sale del edificio.
Aplicación Móvil
Apps para iOS y Android con React Native y Expo, construidas como una superficie más de la plataforma que las respalda: el mismo backend, la misma autenticación y el mismo modelo de datos que la web, publicadas en las tiendas al mismo ritmo. La sección va desde una plataforma de reservas y red de trabajo compartido para operadores de minibuses y autocares del Reino Unido hasta una app de ayuda al viajero entregada a lo largo de dieciocho meses, una app de habilidades para la vida para estudiantes, una app deportiva local, una herramienta de facturación para un distribuidor y una plataforma para fans.
Fully Booked - Solución de Reservas Inteligente Todo en Uno
Fully Booked es una plataforma de reservas para el alquiler de minibuses y autocares en el Reino Unido y la red de trabajo compartido de los operadores que hay detrás. El cliente describe su viaje una vez en la web para clientes y recibe ofertas de los operadores que pueden atenderlo, ordenadas con reseñas y fotos de los vehículos, y reserva con un pequeño depósito protegido. Un operador que no puede aceptar un trabajo recomienda al cliente desde la app y gana una parte cuando otra empresa de la red lo realiza. En torno a ese ciclo están los presupuestos, las cancelaciones, Get Covered, los contactos de socios, las reservas guardadas, una cartera, las páginas de negocio y el widget Prebooked, todo sobre un único backend y dirigido desde una sala de control de administración.
Carriage - App de Ayuda para Viajeros Entregada en 18 Meses
Aterrizas donde no hablas el idioma y la ayuda está por todas partes, fuera de alcance. Carriage la pone a tu alcance: enciende tus puntos y verás a personas cercanas que hablan tu idioma y están dispuestas a ayudar, acércate a una y, en cuanto acepte, podrás escribirle, llamarla o quedar en persona. Desarrollada como único desarrollador entre una app en React Native y un backend GraphQL en NestJS, entregada hito a hito desde un armazón de navegación vacío hasta el inicio de sesión social, los perfiles, el descubrimiento por radio, el flujo de acercamiento y la mensajería. Se aceptaron once hitos a lo largo de año y medio en una sola contratación continua, cerrando en la versión 1.8.0.
27 Pearls - Aplicación de Habilidades para la Vida y Sabiduría Universitaria
Una app que convierte el libro 27 Pearls of College Wisdom en objetivos que los estudiantes cumplen cada semana, con una recompensa que ellos eligen por cada diez. Cada etapa de la vida universitaria, desde la matrícula hasta los profesores, las clases y la salida de la universidad, se convierte en una lista corta de objetivos concretos que el estudiante descarta con un gesto al cumplirlos. Construida en React Native y Expo sobre un backend en NestJS, GraphQL y MongoDB, a lo largo de cuatro contratos con una misma persona fundadora entre 2022 y 2025.
SportPal - Conéctate y Juega con Entusiastas Deportivos Locales
SportPal muestra a los jugadores los partidos informales que se juegan cerca esta noche y ayuda a los organizadores a llenarlos, lanzada como producto completo en seis semanas. Los jugadores exploran como invitados, verifican su teléfono solo cuando quieren unirse y confirman asistencia a partidos públicos o aceptan invitaciones a privados; los organizadores deciden quién puede unirse y cuántos jugadores necesitan. React Native y Expo en iPhone y Android, con un backend en NestJS, GraphQL y MongoDB y verificación con Twilio.
Invoice Manager - Aplicación de Inventario y Facturación para Distribuidores
Una app para tablet que funciona sin conexión y permite a los comerciales de un distribuidor tomar pedidos, consultar el stock e imprimir facturas en el mostrador del minorista, haya o no cobertura. El stock se comprueba mientras se arma el pedido, cada factura toma el siguiente número de la secuencia y lo conserva tras la sincronización, el PDF se imprime por Bluetooth antes de que el comercial se vaya y un filtro muestra qué tiendas aún deben dinero. Movió existencias reales e imprimió facturas reales sobre el terreno.
CoverFanz - Plataforma de Participación de Fans y Reserva de Artistas
CoverFanz reúne a artistas, locales y fans en una sola app: los locales contratan artistas con condiciones por escrito y los fans encuentran el próximo show en un mapa. Una reserva incluye el evento, los horarios y la tarifa, el artista añade sus propias condiciones antes de que se publique, un evento confirmado puede llevar una promoción y las reseñas construyen el historial de cada artista. El backend, la app para iPhone y Android y el panel de administración salieron en un mes en 2022, y ambas tiendas la aprobaron al primer intento.
Aplicación de Escritorio
Software de escritorio en Electron y React para el trabajo que se queda en la máquina: funciona sin conexión, empaquetado para Windows, macOS y Linux, y conectado al backend de la plataforma como cualquier otro cliente cuando la hay. Keyboard Tracker, un rastreador de actividad de empleados con su propio generador de informes, es el ejemplo de esta sección.
Termi - Aplicación de Terminal de Código Abierto para macOS y Linux
Una aplicación de terminal de código abierto para macOS y Linux, publicada por Webanion bajo la licencia MIT: comandos guardados que abren hasta cuatro terminales lado a lado en una pestaña, en una disposición que Termi recuerda, y que pueden arrancar con la aplicación; dividir, reabrir, una paleta de comandos, una hoja de atajos, una guía integrada y las cifras de CPU, memoria y red en la barra lateral. Electron, React, TypeScript, xterm.js y node-pty, compilado con electron-vite y probado con Vitest, con un servidor MCP para que un asistente gestione los comandos guardados. Código fuente en github.com/webanion/termi.
Keyboard Tracker - Gráficos e Informes de Actividad en el Escritorio
Una app de escritorio discreta para Linux, Windows y macOS que cuenta el uso del teclado y el ratón, lo representa en gráficos y exporta informes, creada para Ja Turna en cinco semanas. Cuenta las pulsaciones sin registrar lo que nadie escribe, muestra gráficos de un día o de toda la historia y sigue fluida con meses de datos, descarga cualquier tabla como un PDF que un responsable puede compartir y guarda todo su historial en un solo archivo para un equipo nuevo. Electron, React, TypeScript y Redux desde una sola base de código.
Sitio Web
Plataformas web y los sitios que las presentan, con React y Next.js sobre un CMS headless: paneles de administración que llevan un negocio día a día, portales para clientes, el libro contable y los préstamos de una cooperativa, y sitios públicos que cargan rápido y se leen bien para buscadores y rastreadores de IA. Renderizados en servidor, localizados y medidos, sea cual sea su tamaño.
Al-Insaf - Plataforma de Finanzas Cooperativas con Libro Mayor y Préstamos
Una organización de finanzas cooperativas llevaba los registros de socios, los ahorros, los préstamos y el capital de los inversores entre papel y hojas de cálculo, sin forma de auditar una sucursal ni de cerrar el día con limpieza. Construimos un único sistema que lo reúne todo: registro de socios, cobros diarios, préstamos desde la solicitud hasta el desembolso, un libro mayor para varias sucursales, el capital de los inversores y un registro de auditoría que anota quién hizo qué. Los oficiales registran cada cobro en el momento en que se hace, los gerentes aprueban los préstamos y cierran el día, y el modelo de permisos decide qué puede ver y hacer cada rol en lugar de ocultar botones. Todo lo que se muestra en este caso de estudio funciona con datos de demostración precargados; los registros reales de socios nunca aparecen en el material de portafolio.
Webanion - Plataforma de Portafolio con CMS Headless y Servidor MCP
Un sitio de portafolio estático no podía sostener el trabajo en cinco idiomas ni seguir el ritmo de la escritura que hay detrás, así que lo reemplazamos por una plataforma. Un CMS headless guarda cada caso de estudio, artículo y registro; un frontend en Next.js los presenta en inglés, bengalí, español, hindi y chino; y un servidor MCP expone ese mismo contenido a los asistentes de IA, de modo que un agente preguntado por este trabajo lee la fuente en lugar de adivinar a partir de un rastreo. La búsqueda, la gestión de medios, un flujo de aprobación y una capa pública de descubrimiento funcionan sobre ella. La prueba es recursiva: la página que estás leyendo la sirve el sistema que describe esta entrada.
Sukalyan Research Group, web de un grupo universitario de farmacia
Sitio web del Sukalyan Research Group en el Department of Pharmacy de Jahangirnagar University, dirigido por el profesor Sukalyan Kumar Kundu: siete áreas de investigación con sus técnicas y artículos, una lista de publicaciones filtrable de ciento veinticuatro entradas de Google Scholar agrupadas por año, el perfil del investigador principal, los miembros por nombre y retrato, un muro de destinos de antiguos alumnos, una galería Lab Life y una página para unirse con cuatro vías y una lista de comprobación para el correo. Next.js con exportación estática, React y TypeScript, Tailwind CSS, todo el contenido detrás de una función de consulta para que el paso a un CMS headless no cambie nada más. Desplegado como un único contenedor en un clúster Kubernetes autoalojado.
Fully Booked - Sitio Web de Reservas para Viajes en Grupo
El lado del cliente de Fully Booked. Un cliente que llega a la web directamente, o por la recomendación de un operador, rellena un solo formulario, recibe ofertas de los operadores de la zona con reseñas y fotos de los vehículos, chatea sin revelar sus datos de contacto y reserva con un pequeño depósito que se retiene hasta que el viaje se realiza. Cada operador tiene además una página de negocio donde los clientes pueden reservarlo directamente y volver para el siguiente viaje.
Fully Booked - Panel de Administración para Reservas y Operadores
La sala de control de la red Fully Booked. El fundador revisa a los nuevos operadores antes de que puedan presupuestar, aprueba las plantillas de oferta y las fotos de los vehículos, modera las conversaciones y las reseñas, y rastrea cada reserva, cobertura, recomendación, pago y liquidación. Las comisiones, los límites y los permisos de cada operador son ajustes, y el panel funciona igual en el móvil que en el ordenador.
CoverFanz - Panel de Administración para un Marketplace de Artistas
El panel de administración con el que el fundador de CoverFanz gestionó un marketplace de artistas desde el día del lanzamiento sin pedir nada a un desarrollador. Cada fan, artista y local está en una sola lista con el estado de su suscripción, los locales nuevos esperan en una cola de aprobación hasta que se comprueba su dirección, las denuncias llegan con el motivo adjunto y los tipos de actuación son una lista que controla el fundador. Se construyó en el mismo mes que las apps, sobre la misma API GraphQL.
Grace Bangla - Sitio Web Oficial para Aprender Bengalí en Dhaka
Un sitio WordPress a medida que el propio personal de Grace Bangla Language Center gestiona desde hace años, para una escuela que enseña bengalí a extranjeros que viven en Dhaka. El sitio lleva la identidad propia de la escuela, explica los cursos y el método de enseñanza antes de la primera llamada de quien acaba de llegar y permite al personal cambiar cada página, aviso y evento por su cuenta. El proyecto se cerró con videotutoriales en lugar de un contrato de soporte.
Clear Concept - Plataforma Interactiva de Ciencia y Salud
Una sola membresía para ciencia, salud y respuestas en bengalí: artículos, vídeos, cuestionarios con tiempo, una comunidad de preguntas y respuestas y consultas en una plataforma que gestionaba su propio equipo. Los colaboradores escribían con un editor integrado y ganaban puntos por cada respuesta, los cuestionarios llevaban el reloj en el servidor para que los resultados no pudieran manipularse y los lectores reservaban por categoría una consulta de nutrición. Creada en 2020 con Node.js, Express y MongoDB.
DevOps
El trabajo de infraestructura y publicación que mantiene viva una plataforma: una migración de producción desde la nube gestionada a Kubernetes autoalojado sin tiempo de inactividad registrado, servicios en Docker detrás de Cloudflare, CI/CD que despliega con cada push y lanzamientos móviles llevados a través de la revisión de las tiendas. Las copias de seguridad, el TLS y la monitorización son parte del trabajo, no extras.
Un homelab autoalojado que sostiene el estudio, mantenido a diario
La infraestructura propia del estudio sobre un clúster de Kubernetes autoalojado, planificada en febrero de 2026 y mantenida cada día desde entonces: su sitio web, su CMS, sus servidores MCP y las plataformas de clientes que cuida, servidos a través de túneles de Cloudflare, con cada base de datos volcada y verificada cada noche, métricas y reglas de alerta que llegan a un teléfono, un monitor de caídas fuera de casa, un registro de contenedores y un registro npm, y una única consola privada que une merges, ejecuciones, imágenes, pods y nodos en una sola página.
La CI alojada era lo más lento y las compilaciones volvieron a casa
Las compilaciones y los despliegues pasaron de los runners alojados de GitHub, donde cada ejecución empezaba en una máquina nueva y las entregas esperaban colas e incidentes, a un pool de runners en casa: una máquina de compilación que toma cada trabajo mientras está encendida y runners de reserva en un servidor siempre encendido, detrás de un watchdog que, ante la duda, se inclina por seguir entregando. Las imágenes van a un registro de contenedores privado y las librerías del estudio a un registro npm privado, ambos dentro del edificio, y cada ejecución se archiva más allá de la retención de GitHub. El despliegue más lento pasó de ocho minutos y veinticuatro segundos a tres minutos y cinco, y la CI fue un tercio más rápida.
Un nodo pasó a ser un clúster sin cambiar ninguna aplicación
Una segunda máquina que puede apagarse en cualquier momento se unió a un clúster de un solo nodo en funcionamiento sin cambiar ninguna aplicación. Un servidor siempre encendido guarda el plano de control, cada base de datos y cada volumen y la primera copia de cada servicio; la máquina de compilación asume, detrás de un taint, las compilaciones y las segundas copias de los servicios sin estado, y esas copias esperan en lugar de volver cuando ella duerme. Se apaga sola cuando se acaba el trabajo y vuelve cuando entra un trabajo en cola, una consola muestra cada nodo, cada carga de trabajo y cada tramo de disponibilidad, y se midió cada CPU request del servidor siempre encendido, lo que llevó sus reservas del 84 % al 56 % de lo que puede asignar.
Fully Booked - Migración sin Tiempo de Inactividad a Kubernetes Autoalojado
Fully Booked funcionaba sobre infraestructura gestionada en la nube, con una factura que crecía cada mes y una pila que nadie controlaba del todo. Trasladamos toda la plataforma a un clúster de Kubernetes autoalojado sin un minuto de interrupción para quienes la usaban. El cambio abarcó DNS, ingress, bases de datos y el pipeline de despliegue, escalonado de modo que el tráfico se movía solo una vez probada cada capa en el clúster nuevo. Nadie que usara la aplicación esa semana notó nada, que era exactamente el objetivo. La factura recurrente pasó a ser hardware propio, y ese mismo clúster sostiene hoy las publicaciones semanales de la plataforma.
Fully Booked - Implementación Dockerizada con DigitalOcean y Cloudflare
Fully Booked salió como cinco servicios Docker en un único droplet de DigitalOcean detrás de Cloudflare, para que un equipo muy pequeño pudiera operar un marketplace que gestiona depósitos. Un solo repositorio construía cada imagen, un archivo compose y un Makefile reducían una publicación a pull, build y up, un proxy Caddy se encargaba de los certificados y las cabeceras de seguridad, y Playwright generaba en el servidor el PDF de cada presupuesto y factura. Como los servicios eran independientes desde el principio, más tarde pasaron a un clúster de Kubernetes autoalojado sin reconstruir nada.
Fully Booked - Implementación en App Store y Play Store
La app de operadores de Fully Booked llegó a App Store y Google Play y sigue superando la revisión, para que los operadores de minibuses del Reino Unido puedan llevar su negocio desde el teléfono. Las fichas cuentan el caso de negocio con una ventaja por captura, el cumplimiento está integrado en el producto con eliminación de la cuenta desde la app y declaraciones de privacidad acordes con lo que la app recoge, los enlaces abren la app directamente y las publicaciones se escalonan para que una actualización nunca estropee la jornada de un operador.
27 Pearls - Lanzamiento móvil y envío a tiendas
Una app de 27 Pearls terminada se convirtió en fichas aprobadas en App Store y Google Play dentro de un encargo de una semana, sin rondas de rechazos. La semana incluyó las compilaciones de publicación y la firma, textos de ficha escritos en torno al beneficio para el estudiante, capturas para cada tamaño de dispositivo exigido, declaraciones de privacidad acordes con lo que la app recoge y una cuenta de revisión que funcionaba. La app sigue hoy en Google Play.
Plugins/Widgets
Piezas integrables que llevan una plataforma a la web de otra persona. El widget Prebooked permite a un operador de minibuses o autocares ofrecer reservas en su propio sitio, con la plataforma Fully Booked detrás, para que los clientes reserven sin salir de la página. Fácil de instalar y hecho con el mismo nivel que el producto que amplía.
Fully Booked - Widget Prebooked para Reservas Sin Problemas
Prebooked es un widget de reservas integrable, publicado en npm, que lleva el formulario de solicitud, el chat y el flujo de presupuestos de Fully Booked a cualquier web de operador, desde WordPress y Elementor hasta React y HTML sencillo. Las solicitudes llegan a la app del operador como clientes directos, y solo se aplica una pequeña comisión cuando se reserva un viaje.
Otros
Las piezas alrededor de las plataformas que no son ni una app ni un sitio: gm-libs, los paquetes TypeScript reutilizables para autenticación, datos, interfaces y trabajo en segundo plano de los que parte cada frontend y backend de Webanion, y el recorrido de diseño de un producto, desde un prototipo interactivo en Figma y su UI/UX hasta los recursos visuales y los vídeos tutoriales que lo llevaron al mercado.
gm-libs, los paquetes base de cada frontend y backend de Webanion
Una familia de paquetes versionados e independientes del framework de la que parte cada frontend y backend de Webanion, con una capa de NestJS en el servidor y bindings para React, Vue y Expo en el cliente: autenticación con passkeys e inicio de sesión único, feature flags, un registro de auditoría, datos multi-tenant, cifrado, archivos, documentos, mensajería, tiempo real y modo sin conexión, webhooks, workers y un kit de UI. Cada paquete vive en su propio repositorio privado con sus propias versiones y se instala desde el registro npm privado del estudio, y la consola del estudio muestra qué consumidor va por detrás en qué versión.
Fully Booked - Producción de videos promocionales y tutoriales
Un vídeo promocional que recorre con un operador de minibuses del Reino Unido las ventajas de Fully Booked en el orden en que le importan, hecho con la app real y no con imágenes de archivo. Empieza por el propio problema del operador, dedica a cada ventaja un momento en una pantalla real y se editó en varias duraciones, desde un gancho de pocos segundos para redes sociales hasta una versión completa para páginas de destino y las fichas de las tiendas.
Fully Booked - Diseño de activos visuales con Photoshop
Capturas para las tiendas, un gráfico destacado, un icono de app y el arte de los correos, creados en Photoshop a partir de pantallas reales para que una plataforma joven parezca consolidada ante los operadores. Las capturas cuentan la propuesta en cinco deslizamientos en cada tamaño que exigen Apple y Google, cada correo se abre con su propia ilustración en los colores de la marca, y el icono y las pantallas de bienvenida llevan el logotipo de dos manos que se encuentran.
Fully Booked - Diseño UI/UX para app móvil y panel de administración
Cada pantalla de Fully Booked empezó como un boceto que el fundador aprobaba antes de pagar una sola línea de código, y cada una responde a un problema de un operador o de un cliente. La pantalla de inicio del operador se convirtió en un menú de ingresos, Get Covered mantuvo el orden de su flujo dibujado a mano, los presupuestos y las cartas de cancelación salieron de las propias palabras del fundador, y la administración pasó de cinco pestañas en wireframe a la sala de control de la red. Las pantallas del MVP las diseñó otro miembro de Webanion; las fases 2, 3 y 4 las rediseñé yo mismo en Figma, a partir de estos flujos.
Fully Booked - Prototipo interactivo de Figma para web y móvil
Cada fase de Fully Booked se montó como un prototipo navegable en Figma, para que el fundador pudiera probarla, cuestionarla y aprobarla antes de pagar por construirla. Tres archivos, para la app, la web de clientes y la administración, comparten un mismo conjunto de estilos y componentes, y los documentos que envían los operadores están prototipados junto con el toque que los envía. Los desarrolladores construyeron a partir de pantallas terminadas y no de suposiciones, y cada fase se mantuvo dentro de su alcance. El MVP lo diseñó otro miembro de Webanion; el rediseño de las fases 2, 3 y 4 es mío.
Fully Booked - Diseños de marketing y promoción con Canva
Seis anuncios, cada uno vendiendo una ventaja de Fully Booked a los operadores de minibuses y autocares del Reino Unido, creados en Canva con pantallas reales de la app. Convertir solicitudes, un centro de reservas en la propia web del operador, presupuestos en segundos, todas las reservas en un solo lugar, cobertura de socios de confianza y pagar solo por reserva: una promesa por anuncio, un mismo estilo y componentes que convierten el siguiente anuncio en cuestión de minutos. Los mismos visuales sirvieron después de base al vídeo promocional.

El blog son notas de campo desde producción: decisiones de arquitectura, sistemas de AI que sobrevivieron al contacto con usuarios reales e infraestructura que se paga sola. Escrito desde el trabajo, no sobre él.






























