Saltar al contenido
Beta privada

SaaS de facturación AI-native

Un SaaS de facturación con cumplimiento fiscal europeo que construí solo. Los agentes Claude escribieron la mayor parte del código. Yo marqué la dirección, revisé cada cambio y lo fusioné.

Anonimizado a propósito: sin nombre, enlace ni capturas.

  • 100%de las pull requests, revisadas y fusionadas por mí. Nada se fusiona solo
  • 100%de los controles de CI, vistos fallar a propósito antes de contar
  • ~90%menos auditorías de dependencias fallidas desde que entró el control de auditoría
ControlesRevisión ClaudeClaudeorquestadorClaude escritor 1Claude escritor 2Claude escritor 3otra vueltaYoreviso y fusionoStagingQA de ClaudeChispi, vigilando
ClaudeorquestadorClaude escritoresControlesRevisiónClaudeotravueltaYoreviso y fusionoStagingQA de Claude
una pieza de trabajoun control: primero rojo, luego verdeotra vuelta con Claude

El producto

Qué es

Un producto de facturación para autónomos y pequeñas empresas, construido para cumplir el régimen obligatorio de comunicación de facturas en tiempo real de un país europeo: las facturas se comunican a la administración tributaria en el momento de emitirlas y los registros no se pueden cambiar después.

La mayor parte del código la escribieron agentes Claude, en todas las capas: base de datos, API, aplicaciones web, infraestructura y tests. Funciona como beta privada en un entorno de staging. Todavía nadie paga por él y nunca se ha promocionado a producción.

Qué cubre

  • Facturas, rectificativas y simplificadas, presupuestos y albaranes
  • Clientes, catálogo de productos y gastos
  • Captura de documentos asistida por IA (OCR + LLM)
  • Cálculo de impuestos e informes fiscales periódicos
  • Plantillas PDF y envío por email
  • Conciliación bancaria con open banking (simulada en staging)
  • Planes de suscripción y cobro
  • Varios clientes (tenants) en una misma plataforma, aislados entre sí
  • Envío en tiempo real a la administración tributaria, con registros a prueba de manipulación que solo admiten añadir

Escala

El tamaño

Es un producto grande, y de eso va este caso: una sola persona dirigiendo agentes lo cubrió entero, en todas las capas.

  • Apps

    El producto, una consola de administración, una web de aterrizaje y la API, además de procesos en segundo plano y una simulación de la administración tributaria.

  • API

    Cientos de endpoints detrás de las aplicaciones web.

  • Pantallas

    Producto, administración y web de aterrizaje. Cada parte es una aplicación completa con sus propios flujos.

  • Base de datos

    Un esquema relacional grande en PostgreSQL.

  • Seguridad a nivel de fila

    Cientos de políticas separan los datos de cada cliente.

  • Trabajo en segundo plano

    Procesos y tareas programadas fuera del camino de las peticiones.

  • Triggers

    Muchos protegen registros que nunca deben cambiar.

  • Tests

    Decenas de miles, entre backend, frontend y end to end.

Categorías de integración

  • Pagos
  • Email
  • Open banking
  • Administración tributaria
  • Validación de números de IVA europeos
  • Almacenamiento de objetos
  • Autenticación
  • Caché y colas
  • Captura de documentos con IA
  • Protección contra bots
  • Observabilidad
  • DNS, CDN, VPN y TLS

El trabajo detrás

Lo que de verdad costó

Claude escribió la mayor parte del código. Lo difícil era llegar a un código que yo estuviera dispuesto a fusionar, y esa parte era mía.

  1. 01Muchas vueltas con Claude

    El trabajo solía necesitar varias vueltas. Rechazaba lo que parecía correcto pero no lo era, y seguía hasta que llegaba al listón. Que compile es donde empieza la revisión.

  2. 02Diseñar el pipeline como un producto

    Diseñé el montaje multiagente y multisesión y lo fui mejorando a medida que fallaba de formas nuevas: cómo se reparte el trabajo, cómo los agentes no se pisan y qué tiene que pasar antes de fusionar nada.

  3. 03Conocer el dominio

    La facturación con cumplimiento fiscal tiene reglas que un agente no puede adivinar. Entenderlas y decidir cómo las trata el producto era mi trabajo. El subagente de cumplimiento revisa. No decide.

  4. 04Decidir la arquitectura

    Aislamiento entre clientes, registros que no cambian, cómo se redondea el dinero, cómo llega cada versión a staging. Esas decisiones las tomé yo, y los agentes trabajaban dentro de ellas.

  5. 05Ser el listón de calidad

    Nada se fusionaba sin mi revisión. Todas las pull requests pasaban por mí, de una en una.

Quién hace qué

Un desarrollador, un equipo de agentes Claude

Yo marcaba la dirección y tomaba cada decisión de producto. Varias sesiones de Claude escribían la mayor parte del código en paralelo, y nada llegaba a la rama principal sin pasar los controles y mi revisión.

Diagrama del equipo de agentes. Yo dirijo a un orquestador, Claude haciendo de project manager. Este lanza varias sesiones de Claude que escriben código en paralelo, cada una en su propio git worktree. Sus pull requests pasan los controles de CI y después la revisión de un revisor Claude de solo lectura, con un especialista en cumplimiento fiscal cuando un cambio toca dinero o impuestos. Yo fusiono las pull requests de una en una. El cambio se despliega en staging, donde una sesión de QA de Claude lo prueba.

Yo

Dirección, decisiones de producto, revisión final y cada merge.

Claude como orquestador

Hace de project manager. Planifica, reparte el trabajo y vigila todo lo que está en marcha.

  • Bucle continuo
  • Memoria compartida
  • Planifica y reparte
  1. Escritores

    Varias sesiones de Claude a la vez, cada una en su git worktree. Un límite de sesiones simultáneas mantiene estable la máquina.

  2. Controles

    84Visto en rojoLuego en verde

    Comprobaciones ejecutables en CI. Un control solo cuenta cuando lo he visto fallar.

  3. Revisión

    • Revisor
    • Experto fiscal

    Un revisor Claude de solo lectura revisa cada pull request antes que yo. Un especialista en cumplimiento se suma cuando un cambio toca dinero o impuestos.

  4. Merge

    Yo

    Fusiono las pull requests de una en una. Nada se fusiona solo.

  5. Staging y QA

    Staging

    Un despliegue fallido se revierte solo. Una sesión de QA de Claude prueba staging en un navegador real.

  1. Reglas y memoriaLo que los agentes deben saber y lo que nunca deben hacer, versionado con el código.
  2. SkillsSkills para los trabajos que se repiten.
  3. El bucle de orquestaciónClaude mantiene el trabajo en marcha y contrasta el plan con lo que de verdad ha pasado.
  4. ControlesComprobaciones ejecutables. Una comprobación solo cuenta cuando se ha visto en rojo, y cada arreglo debe traer un test que falle en main.

Pruebas

Cómo medí si funcionaba

Los agentes producen mucho código muy rápido, así que la pregunta que me hacía siempre era cómo saber si era correcto. La respuesta acabó en cuatro reglas.

  1. Tres pruebas por control

    Una comprobación no cuenta hasta que supera tres pruebas. Una de ellas es romper el código a propósito y ver cómo se pone en rojo.

  2. Mutación antes de fiarse del verde

    Una batería que pasa dice poco hasta que la mutación demuestra que puede fallar.

  3. Predicciones antes de medir

    Escribo lo que espero antes de medir, para que el resultado pueda llevarme la contraria.

  4. Un test de regresión por arreglo

    Tiene que fallar contra main. Si pasa con el código roto, no demuestra el arreglo.

Mutación en la calculadora de impuestos

Después de corregir qué tests seleccionaba la pasada, casi todos los mutantes supervivientes desaparecieron. La pasada se volvió algo más lenta.

El pipeline, antes y después de pasar a un flujo multiagente orquestado

Antes
una muestra de pull requests de una ventana anterior al cambio
Después
todas las pull requests fusionadas en una ventana de la misma duración después
MedidaCambio
Ritmo de mergesMás altomejor
Tamaño de las pull requests más grandes (percentil 90)Un 36 % menoresmejor
Tamaño mediano de pull requestParecidoalgo mayor
Tiempo de apertura a merge, medianaMás largo, merges de uno en unopeor

Después de pasar a un flujo multiagente orquestado, se fusionaron más pull requests y las más grandes bajaron un 36 %, mientras que la mediana del tiempo hasta el merge subió porque los merges se hacían de uno en uno. Esa fila está porque es verdad.

La comparación es observacional, no controlada. Las dos ventanas cuentan poblaciones distintas, cambiaron otras cosas a la vez y la segunda ventana estuvo dominada por una racha de arreglos fusionados uno detrás de otro.

No doy cifras de cobertura de tests. No la he medido, y he visto un control en verde que no probaba nada.

Ritmo

El ritmo

Cómo avanzaba el trabajo.

Actividad de merges

Ilustración, no son datos reales.
  • En paralelo

    Varias sesiones de Claude a la vez, cada una en su git worktree y con su propia tarea.

  • Un solo revisor

    Todas las pull requests pasaban por mí, y las fusionaba de una en una.

  • Constante

    Los merges llegaban con frecuencia. El trabajo avanzaba pull request a pull request.

Herramientas

Stack

  • Backend

    • Python
    • FastAPI
    • Pydantic v2 (estricto)
    • SQLAlchemy asíncrono
    • Dinero en decimal
  • Frontend

    • TypeScript (estricto)
    • React
    • Vite
    • Tailwind
    • shadcn/ui
    • TanStack
    • Zustand
    • Zod
  • Datos

    • PostgreSQL
    • Aislamiento entre clientes en la base de datos
    • Registros inmutables
  • Infraestructura

    • Terraform
    • Kubernetes (K3s)
    • CDN y DNS
    • Red privada (VPN)
    • Paneles de métricas, logs y alertas
  • Entrega

    • Pipelines de CI
    • Runners propios
    • Staging con rollback automático
    • Workflow de promoción
  • Testing

    • pytest
    • Tests con base de datos real
    • pgTAP
    • Vitest
    • Playwright
    • mutmut
  • Pagos

    • Pagos con tarjeta y suscripciones
  • IA en el producto

    • Captura de documentos con OCR y un LLM
  • Herramientas de IA

    • Claude Code: orquestador, escritores, revisor, cumplimiento, QA

En qué punto está

Beta privada

Una beta privada pequeña y por invitación en staging. Sin clientes de pago, sin ningún envío real a la administración tributaria y sin versión en producción.

Qué falta para producción

  • El alta ante la administración tributaria para enviar facturas en nombre de los usuarios
  • Devoluciones y disputas de pago en las suscripciones
  • La infraestructura de producción y la primera versión promocionada

¿Quieres saber más de cómo se construyó?

Si buscas perfiles de ingeniería de producto AI-native, te enseño con gusto la arquitectura, el montaje de los agentes y las decisiones de diseño en una llamada.

Por qué no tiene nombre aquí

Mantengo el producto anónimo en esta web, así que no hay nombre, enlace ni capturas. Encantado de entrar en detalle en una conversación.

Nota de ChispiCada control de esta página tuvo que fallar a propósito antes de contar.