Skip to main content

// el_problema_real

Contratar desarrolladores es una lotería.

Algunos escriben código que funciona.

Pocos entienden POR QUÉ debería funcionar.

Menos aún saben CUÁNDO NO debería existir ese código.

Yo no soy el dev que añade features.

Soy el que pregunta si esa feature debería existir.

Y después la construye en la mitad del tiempo.

// resultados > curriculums

Wenalyze · 2024 - 2026

Dos migraciones. -70% de latencia.

"Tenemos que migrar el backend."

"Pero no podemos parar producción."

"Y tiene que estar para ayer."

Express se había quedado pequeño. Firestore, caro y lento para lo que le pedíamos.

Antes de tocar nada, evalué alternativas: Express actualizado, FastAPI, NestJS.

Preparé plantillas de arquitectura, prototipé los módulos clave y lo llevé a consenso con el equipo.

Primero, la API a NestJS. Después, la base de datos de Firestore a PostgreSQL.

Sin downtime. Sin features rotas. Sin el clásico "ya lo arreglaremos después".

Resultado: más de un 70% menos de tiempo de respuesta en la API.

El código legacy no da miedo. Lo que da miedo es dejarlo crecer.

  • TypeScript
  • NestJS
  • Express
  • PostgreSQL
  • Firestore
Wenalyze · 2024

-60% en tiempo de ejecución

El sistema de scraping llevaba años funcionando. Lento, caro, frágil.

Nadie lo tocaba porque "si funciona, no lo toques".

Yo lo toqué. No añadiendo código: quitando.

Redundancias que nadie veía. Flujos que "siempre se habían hecho así".

Resultado: 60% menos tiempo de ejecución y +30 fuentes Open Data integradas.

Mismos datos. Menos recursos. Menos facturas de AWS.

A veces el mejor código es el que eliminas.

  • TypeScript
  • NestJS
  • PostgreSQL
  • Puppeteer
  • AWS
Wenalyze · 2024

Producto completo

Wenalyze Sync: de idea en una pizarra a SaaS en producción.

Gestión de gastos para empresas: reportar un gasto sin guardar tickets ni facturas.

Diseño, frontend y API, de la v1 a la v2.

Todo, desde la primera línea hasta el primer usuario.

Cuando alguien dice "desde cero", yo escucho "sin excusas si algo falla".

  • Astro
  • React
  • TypeScript
  • ShadCN
  • Tailwind
  • Google Cloud
Ver proyecto
Wenalyze · 2024 - 2026

Procesos, no parches

Un equipo de cinco no necesita burocracia.

Necesita que nada dependa de la memoria de nadie.

Monté los pipelines de CI/CD con GitHub Actions.

Estandaricé el entorno de desarrollo cuando se renovaron los equipos.

Definí cómo usamos los LLMs para desarrollar, y lo fui iterando.

Y hice de puente con Analytics y Marketing: APIs pensadas para sus dashboards.

Un buen proceso no se nota. Se nota cuando falta.

  • GitHub Actions
  • CI/CD
  • Code reviews
  • Kanban

// herramientas

Las herramientas son eso: herramientas. Un martillo no te hace carpintero. Saber cuándo NO usarlo, sí.

¿Falta algo? Probablemente lo aprenda antes de que termines de escribir el email.

// cosas_que_he_construido

el-impostor

Juego multijugador en tiempo real. En una Raspberry Pi. Porque puedo.

"Hagamos un juego social tipo Among Us."

"Multijugador."

"En tiempo real."

"Y despliégalo en una Raspberry Pi que tengo en casa."

Eso no es un proyecto. Es un reto personal.

WebSockets para que todo pase al instante.

Clean Architecture porque el caos no escala (ni cuando son 4 amigos jugando a las 2am).

SSL porque la seguridad no es opcional, ni siquiera en una Pi.

La mejor forma de aprender algo es construirlo cuando nadie te lo pide.

  • React
  • TypeScript
  • Socket.io
  • Node.js
  • Supabase
  • Tailwind

wenalyze-sync

De "necesitamos un dashboard" a SaaS en producción.

Gestión de gastos para empresas: reportar un gasto sin guardar tickets ni facturas.

Suena corporativo. Suena aburrido.

Lo interesante está en los detalles:

- Arquitectura que optimiza llamadas API

- UI que no necesita manual de instrucciones

- Rendimiento que no te hace esperar

Diseño y frontend de punta a punta; la arquitectura, decidida en equipo.

Cada pantalla, mía. Cada bug a las 3am, también.

Cuando el producto lleva tu firma, no hay donde esconderse. Y eso está bien.

  • Astro
  • React
  • Next.js
  • TypeScript
  • ShadCN
  • Tailwind

gestió-renda

Un ERP completo para la campaña de la renta. En producción. Con clientes reales.

"Necesitamos gestionar toda la campaña de la renta."

Una correduría de seguros. Una temporada que estalla en abril.

Lo construí entero. Yo solo. Desde cero.

Máquina de estados por renta: reservada → revisión → cerrada.

Calendario que detecta citas en conflicto y permite arrastrar para reprogramar.

Validación de DNI/NIE/CIF e IBAN con mod-97. CRM, auditoría, facturación.

14 tablas. Bilingüe. Command palette. Todo lo que una oficina necesita un martes a las 9.

No hay demo pública. Lleva datos reales de clientes reales.

La prueba es el dossier. Y que el negocio funciona con esto cada día.

Que no haya demo no es una excusa. Es que alguien confió su operación entera a mi código.

  • TypeScript
  • Next.js
  • React
  • PostgreSQL
  • Drizzle
  • NextAuth

keku

Una web de restaurante que el dueño actualiza sin llamarme.

KEKU hace hamburguesas con carne madurada 50 días.

Yo hice que su web estuviera a la altura.

Carta interactiva con sistema de alérgenos.

Reservas que aterrizan directas en el WhatsApp del dueño.

Un indicador de "abierto / cerrado" que sabe los horarios de COCINA, no los de la barra.

Pero lo importante no se ve:

El dueño cambia un plato o un precio él mismo. Sin tocar código. Sin llamarme.

Bilingüe, con SEO de verdad, de un diseño a producción.

El mejor producto no es el que me necesita. Es el que ya no me necesita.

  • Next.js
  • React
  • TypeScript
  • Sanity
  • styled-components

¿Y si esto es lo que necesitas?

Si has llegado hasta aquí, quizás valga la pena que hablemos.

Conóceme mejor

// siguiente_comando

Si has llegado hasta aquí, una de dos:

1. Tienes un proyecto que necesita a alguien que lo entienda de verdad.

2. Te aburrías y esto era más entretenido que scrollear LinkedIn.

Si es la primera, hablemos.

Si es la segunda... gracias por leer, supongo.

// Alcàsser, València

// Remoto, presencial o mudándome: lo que tenga más sentido.

// Zona horaria: CET (pero flexible si el proyecto lo vale).

$ exit 0 // Gracias por scrollear hasta aquí.