Sergio Díaz.
Sergio Díaz · Desarrollador · Madrid

Lo que más me gusta es el rato de antes de escribir código.

Con quince años me pasaba las tardes en Photoshop peleándome con las capas. Tardé bastante en descubrir la programación, y cuando llegó se me fue la cabeza con otra cosa distinta: la lógica.

Entender por qué algo funciona. Cómo se ordenan los datos. Dónde se va a romper cuando le eches encima el doble de usuarios. Esa parte.

Cuatro años después sigo igual. Me gano la vida en una agencia de Madrid construyendo webs y plataformas para gente que va desde ONG internacionales hasta marcas que te suenan, y lo que me sigue enganchando es el rato de sentarte a pensar cómo debería funcionar algo antes de tocar el teclado. El código es la consecuencia.

Casi todo lo que escribo es PHP, TypeScript y React, sobre PostgreSQL o MySQL. Me he peleado con Django y con .NET cuando el proyecto lo ha pedido, y llevo tiempo con una manía sana: que lo que entrego sea accesible y rápido de verdad, no como revisión de última hora.

Una cosa antes de seguir: nada de lo que hay aquí abajo lo he hecho solo. Detrás de cada proyecto hay diseño, gestión y otros desarrolladores. Cuento mi parte, que es la que puedo defender si me preguntas por ella.

Cosas que he construido

Cuatro que merece la pena contar.

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
Fuera del horario

Lo que hago cuando no me lo encarga nadie.

Una app de rutinas y dieta, porque no encontraba la que quería

En desarrollo

Hago deporte y ninguna aplicación me terminaba de cuadrar, así que me puse a hacerla. Genera rutinas y pautas de dieta cruzando tu perfil con tus métricas.

Lo divertido llegó cuando dejó de ser manejable: cada variable nueva descuadraba cálculos que ya funcionaban. Lo arreglé cubriendo la lógica con tests antes de seguir creciendo, y ahora puedo refactorizar el algoritmo entero sin que se me caiga nada.

React NativeExpoTypeScript

Un juego de mesa musical para mis amigos

Terminado

Quería jugar a algo tipo Hitster pero con nuestras canciones, así que lo monté: la aplicación para jugar y unos scripts que generan todas las tarjetas listas para imprimir, con sus códigos y su maquetación.

Proyecto de fin de semana, pero con su reto: que la generación en lote saliera bien y que al pasarlo por la impresora cuadrara de verdad.

JavaScriptNode
Contacto

Si te ha parecido interesante algo de esto, escríbeme.