~9 years across full stack and backend roles. I care about well-modeled domains, clear boundaries between modules, and code that communicates intent.
Currently building myCQRS, a CQRS framework from scratch in Java, exploring hexagonal architecture, domain event modeling, and read/write segregation.
Personal CQRS framework built from scratch in Java 21 / Spring Boot 3. Multi-module project separating reusable core infrastructure from application contexts. Implements custom command/query/event buses, validation interceptors, and read/write model segregation backed by JPA and MongoDB. Built as a reference implementation for hexagonal architecture and DDD patterns.
Java 21 Spring Boot 3 CQRS DDD Hexagonal Architecture JPA MongoDB
Web and mobile app showing real-time conditions for every beach in Cantabria: waves, wind, temperature, tides, and Red Cross flag status. Backend built in TypeScript with Express and a hexagonal architecture, scraping multiple public sources (including AEMET) with custom encoding handling. Frontend in React + Ionic with Leaflet maps, packaged for mobile via Capacitor. Deployed on Render and Firebase.
TypeScript Node.js Express Hexagonal Architecture React Ionic Leaflet Capacitor
Started as Python Telegram bots (f1spainbot, motogpbot) and grew into full web applications built with Next.js:
- F1 Hub: driver and constructor standings, race calendar, live session results, and Telegram session alerts. Built on Next.js App Router with
next-intl(ES/EN) and grammY for the bot. - MotoGP Hub: MotoGP schedules, standings, and race results. Also built with Next.js.
Next.js TypeScript Vercel Python
-
One Dimension: arcade game for Android, co-developed with a friend (500+ downloads).
C#UnityAndroid
Read this in other languages: Español



