Integrar un certificado digital de persona física en apps móviles es un infierno. Lo hicimos, y ahora funciona. Te contamos cómo fue el camino.
Contexto
Este artículo forma parte de nuestra serie sobre técnico. Te contamos el cómo, el por qué y el qué nos llevamos aprendido de este proyecto concreto.
Problema
Cuando empezamos, el panorama era complicado. Teníamos instalaciones antiguas, equipos que llevaban años usando la misma interfaz, y un roadmap que exigía movernos sin romper nada.
"Lo fácil era tirarlo todo y empezar de cero. Lo difícil era mantener el servicio en producción mientras reescribíamos el motor." — Emilio López
Solución
Adoptamos un enfoque incremental con feature flags y dos pipelines paralelos. Cada semana migramos una pieza, la verificamos en un tenant piloto y la promocionamos al resto.
- Aislamiento por tenant con configuración independiente.
- Shadow-read: el nuevo módulo leía a la vez que el viejo para comparar resultados.
- Rollback automático al detectar desviaciones.
- Telemetría detallada por request para auditar el comportamiento.
Resultados
| Métrica | Antes | Después | Delta |
|---|---|---|---|
| Tiempo de captura | 4,2 s | 0,8 s | -81% |
| Precisión en digitalización | 88,3% | 96,7% | +8,4 pp |
| Coste por documento | 0,012 € | 0,003 € | -75% |
| Incidencias por cliente/mes | 14 | 2 | -86% |
Lecciones aprendidas
- Los datos mandan. Sin métricas antes/después es imposible justificar ningún cambio.
- Los usuarios tienen razón. Cuando 10 cooperativas se quejan de lo mismo, ese es tu próximo bug.
- La retrocompatibilidad es un músculo. Cuanto más la ejercitas, más fácil se vuelve.
- El on-call te mantiene humilde. Si tu equipo no está de guardia, no entiende de verdad su código.