02 / casos de estudio
Proyectos destacados
Selección de proyectos full-stack, de sistemas y de IA, con foco en arquitectura, calidad y medición.
MisTableros.com
Arquitectura Hexagonal y Domain-Driven Design (DDD)
Aplicación Kanban en equipo de 3, con la lógica de negocio aislada en el núcleo del dominio (sin dependencias de frameworks ni de persistencia) y reglas de trazabilidad complejas modeladas con agregados, entidades y Value Objects. Mi parte: responsable principal de la arquitectura hexagonal bajo principios DDD, de la capa de persistencia JPA/H2 (entidades espejo, mappers y adaptadores de repositorio) y de la API REST, y de la calidad: corrección de bugs críticos y code smells detectados con SonarQube y suite de pruebas con análisis de valores límite, dobles de prueba y tests de aceptación BDD con Cucumber.
Java 21Spring Boot 3.5Spring Data JPAH2JUnit 5MockitoCucumberJaCoCoSonarQubeJavaFX
/02
Personal Finance App
Automatización e integración bancaria (Open Banking)
PWA de finanzas personales que sincroniza movimientos, saldos e inversiones de una cuenta bancaria real mediante Open Banking (PSD2), sin intervención manual. Backend en Python (FastAPI, SQLAlchemy 2.0, Pydantic, PostgreSQL). Sincronización nocturna con GitHub Actions contra la base de datos de producción, deduplicando por fecha, importe y concepto dentro del límite diario de consultas de PSD2. Patrimonio calculado al vuelo a partir de saldos, transferencias internas y posiciones valoradas a precio de mercado, con los importes guardados como enteros en céntimos. Scripts de migración SQLite→PostgreSQL que comparan recuentos y se niegan a sobrescribir sin confirmación explícita.
PythonFastAPISQLAlchemyPostgreSQLTypeScriptGitHub ActionsOpen Banking (PSD2)
NanoFiles
Concurrencia avanzada y programación con sockets
Sistema P2P de intercambio de ficheros con arquitectura híbrida inspirada en BitTorrent. Directorio centralizado que gestiona el censo global sobre sockets UDP fijos y un motor dual por Nodo que actúa como cliente/servidor mediante sockets TCP multihilo dedicados al streaming masivo de datos binarios en crudo. Desarrollado sin frameworks externos para maximizar el control de los recursos de red.
Java 21Sockets TCP/UDPMultithreadingArquitectura ConcurrenteProtocolos de Red
/04
Network Services Deployment
Infraestructura de red y protocolos
Práctica de Servicios Telemáticos en equipo de 2. Diseño, configuración y puesta en marcha de los servicios de red de una organización sobre dos máquinas: DNS primario y secundario, correo SMTP y POP, servidor Apache HTTP/HTTPS y asociación de seguridad IPsec entre cliente y servidor. Incluye un servidor HTTP/1.1 a medida en Python sobre sockets, con modelo multiproceso (os.fork), conexiones persistentes con timeout mediante select, validación de peticiones, errores 400/403/404/405, control de accesos con cookies y logging centralizado.
PythonSocketsHTTP/1.1DNSSMTP/POPApacheIPsec
FrutaIA
Edge AI & clasificación en tiempo real
Aplicación nativa de inspección visual capaz de clasificar el estado de frescura de alimentos (fresca o podrida) 100% local y offline, con inferencia en el propio dispositivo y sin latencia de red. Modelo optimizado mediante Transfer Learning sobre MobileNetV2 entrenado con más de 27k imágenes y exportado a un binario ligero integrado en el APK. Incluye sincronización en la nube segmentada por usuario. Proyecto en colaboración con NTT DATA.
Android NativoKotlinTensorFlow LitePythonMobileNetV2Firebase AuthCloud FirestoreMaterial Design 3Claude Code
AppGestionGastos
Motor de finanzas personales desacoplado
Sistema de escritorio para la gestión de finanzas personales y cuentas compartidas con cálculo dinámico de deudas cruzadas por porcentajes. Diseñado bajo MVC con desacoplamiento estricto de la persistencia mediante interfaces de repositorio. El almacenamiento actual en ficheros JSON (Jackson/Gson) es completamente intercambiable por motores SQL sin alterar la lógica de negocio ni las vistas.
JavaJavaFXFXMLArquitectura MVCDesign PatternsJackson