Un cuestionario de 151 preguntas que decide si te dan un sello
Organismo público de certificación
Querían que las empresas pudieran averiguar solas si cumplían los requisitos de su certificación, en vez de descolgar el teléfono y preguntar. Suena sencillo hasta que te sientas a modelarlo.
151 preguntas con pesos distintos, agrupadas por bloques, y un resultado que tiene que aguantar si alguien lo discute. Mi parte fue el backend: el modelo de datos, el acceso por código de un solo uso y el motor que calcula la puntuación. El front lo levanté también, en React, con diseño trabajando al lado.
Es del que más orgulloso estoy: la lógica de cómo tenía que funcionar salió de mi cabeza.
PostgreSQLReactTypeScriptOTP
Las 2.000 líneas que nadie quería tocar
ONG de cooperación al desarrollo
Su formulario de donaciones llevaba tiempo dando guerra y nadie se atrevía a meterle mano. Con razón: es el sitio por el que la organización recibe su dinero, y estaba enredado con el CRM.
Me tocó a mí. Reescribí el backend —unas dos mil líneas— con tests delante de cada cambio y despliegue por fases, porque ahí un día caído no es un bug, es dinero que no entra. Y hablándolo con el cliente sobre la marcha, que estaba tan nervioso como para querer saber cada paso.
Aprendí más leyendo ese código que escribiendo el mío.
PHPCiviCRMTesting
Dos sistemas que no se hablaban y una persona en medio
Dos marcas de bebidas
Llevaban toda su operativa en Airtable, y cada vez que una fila cambiaba de estado había alguien mandando a mano el correo que tocaba y recogiendo luego los datos de vuelta. Todos los días.
Escribí un plugin que lo escucha por webhook: cuando algo cambia, sale un enlace de acceso único a una landing privada, la persona rellena lo suyo y vuelve sincronizado al origen. Nadie toca nada en medio.
De todo lo que he hecho, esto es lo que mejor resume lo que me gusta hacer.
PHPWebhooksAirtableMagic links
Cero errores
Editorial educativa multinacional
Necesitaban que su portal cumpliera accesibilidad de verdad, no de trámite. Estuve metido ahí una buena temporada, codo con codo con su equipo de contenidos: navegación con teclado, estructura, contraste, formularios, lectores de pantalla.
Acabó en cero errores detectados en auditoría. Y de paso salió un tema nuevo de Gutenberg pensado para convivir con el antiguo, para que puedan ir migrando la web por fases en lugar de pararlo todo un trimestre.
Desde entonces la accesibilidad se me ha quedado de manía.
WCAGGutenbergCore Web Vitals