¡Hola! 👋 Soy Alfredo Sobrados, desarrollador full-stack con experiencia en mobile, backend y web. Me especializo en construir software bien estructurado — desde APIs REST con arquitectura hexagonal hasta apps multiplataforma con Kotlin Multiplatform. Este portafolio recoge proyectos reales, personales y académicos que documentan mi evolución: código preparado para producción, un TFG con origen en prácticas profesionales, y muchas horas de aprendizaje autodidacta. Siempre buscando el siguiente reto. 🚀
🔗 Mobile App: HumanPerformApp
🔗 REST API Backend: api_rest_human_app
Descripción:
Plataforma completa para la gestión integral de un centro deportivo, desarrollada como proyecto real durante mis prácticas en Fransdata Tech Ventures y posteriormente ampliada y finalizada como Trabajo Final de Grado (TFG).
El sistema está compuesto por una aplicación móvil multiplataforma (Android/iOS) y una API REST segura y escalable que centraliza la lógica de negocio y acceso a datos.
Tecnologías:
- Frontend: Kotlin Multiplatform Mobile (KMM), Jetpack Compose, SwiftUI
- Backend: Node.js, Express.js
- Base de datos: MariaDB
- Seguridad: JWT + Refresh Tokens
- Arquitectura: Clean Architecture + Hexagonal Architecture
Objetivo:
Diseñar e implementar una solución software multiplataforma real en producción, reutilizando más del 70% del código entre Android e iOS y separando claramente frontend y backend mediante arquitectura desacoplada.
Características destacadas:
- Registro e inicio de sesión seguro con JWT
- Persistencia cifrada de sesión y credenciales
- Gestión avanzada de perfiles con subida/edición de imágenes
- Sistema de entrenadores/profesionales favoritos
- Backend REST desacoplado con autenticación robusta
- Interfaz moderna responsive con Material Design 3 y soporte dark mode
Qué aprendí:
- Desarrollo full-stack móvil + backend en entorno real
- Diseño de APIs REST seguras y escalables con Node.js
- Integración KMM compartiendo lógica entre Android/iOS
- Aplicación práctica de Clean Architecture y principios hexagonales
- Gestión de un proyecto académico-profesional de gran escala como TFG
📄 Documentación académica (TFG): Próximamente disponible
Descripción: Landing page profesional para empresa de ingeniería geotécnica con sistema completo de generación de leads. La página presenta servicios (estudios geotécnicos, sondeos, ensayos) y cuenta con un formulario de contacto que activa un flujo automatizado de notificaciones por email y almacenamiento de datos.
Tecnologías: React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui, Zod, React Hook Form, Vercel (hosting + serverless functions), Supabase (PostgreSQL), Resend (emails), Google reCAPTCHA v3.
Características destacadas:
- Arquitectura Jamstack con frontend estático y backend serverless completamente separados
- Sistema anti-spam multicapa con reCAPTCHA v3 invisible + campo honeypot oculto
- Validación consistente usando esquemas Zod compartidos entre cliente y servidor
- Flujo automatizado completo: validación → verificación captcha → almacenamiento BD → envío de emails (notificación + confirmación)
- Optimización de rendimiento con lazy loading de imágenes, code splitting y CDN de Vercel
- Manejo robusto de errores con feedback inmediato al usuario y logging detallado
- Escalabilidad automática gracias a funciones serverless y servicios cloud gestionados
API REST documentada: Endpoint POST /api/contact con validación de entrada, verificación reCAPTCHA, persistencia en Supabase y envío de correos transaccionales. Incluye pruebas unitarias completas con Vitest.
Implementé: Integración completa de servicios externos, validación de formularios robusta, arquitectura serverless escalable, y sistema de notificaciones automáticas end-to-end.
Descripción: Finanzas Personales es una aplicación Android, diseñada para facilitar la gestión de tus finanzas personales. Implementa la arquitectura MVVM (Model-View-ViewModel) junto con el patrón Repository para garantizar un diseño modular, escalable y fácilmente mantenible. Esta app es mi Práctica Final de Plataformas de Software Móviles.
Tecnologías: Kotlin, Jetpack Compose, Material Design 3, Gradle KTS y Android Studio.
Puntos clave:
- Esta app resuelve el problema de unas finanzas personales mal gestionadas.
- Principales funcionalidades: Ver, Añadir, Editar y Eliminar tanto transacciones de gasto o ingreso como presupuestos asignados a un mes, año y categoría concreta. Estadísticas para visualizar nuestras finanzas y una página principal que nos da un saldo, ingresos y gastos totales.
Descripción:
HotelManagementAPI es una API RESTful diseñada para gestionar un hotel, permitiendo la administración de clientes, habitaciones, reservas, pagos y administradores. Implementa autenticación con JWT y sigue una arquitectura limpia para separar la lógica de negocio, la infraestructura y los adaptadores.
Motivación:
Este proyecto nació como un ejercicio de la comunidad Skool DeHaroHub. Aunque la comunidad ya no está activa, decidí desarrollarlo y publicarlo por mi cuenta como una oportunidad para mejorar mis habilidades en el diseño de APIs RESTful, el manejo de bases de datos con JDBC y la aplicación de buenas prácticas en arquitectura de software.
Tecnologías:
- Lenguaje y Framework: Java 21+ con Spring Boot
- Seguridad: Spring Security con JWT
- Base de Datos: MariaDB en Docker
- Persistencia: JDBC (sin ORM)
- Contenedores: Docker para la base de datos y Adminer
- Documentación: Swagger/OpenAPI
- Pruebas: JUnit5, Mockito, Testcontainers y Postman
- Herramientas de construcción: Gradle
Características destacadas:
- CRUD completo para clientes, habitaciones, reservas, pagos y administradores.
- Implementación de autenticación y autorización con JWT.
- Uso de JDBC en lugar de ORM para mayor control sobre las consultas SQL.
- Arquitectura limpia y modular basada en principios hexagonales.
- Configuración con Docker para facilitar la instalación y ejecución.
- Documentación interactiva con Swagger/OpenAPI.
- Pruebas unitarias y de integración para garantizar la estabilidad del sistema.
¿Qué aprendí con este proyecto?
- Profundicé en la arquitectura hexagonal y su aplicación en APIs REST.
- Mejoré el manejo de bases de datos sin ORM utilizando JDBC.
- Implementé autenticación segura con JWT en Spring Boot.
- Aprendí a optimizar la estructura del código para mejorar la mantenibilidad y escalabilidad.
Descripción: Este proyecto implementa un sistema de gestión para un Centro de Convenciones utilizando los principios de la Programación Orientada a Objetos (POO) y varios patrones de diseño. Proporciona funcionalidades para gestionar espacios, reservas, productos y aspectos económicos del centro.
Objetivo: En esta práctica aprendí los pilares de la programación orientada a objetos (herencia, polimorfismo y encapsulación) e implemente varios patrones de diseño.
Herramientas: Java y el IDE NetBeans.
Descripción: La aplicación web permite a los profesores de Tecnologías Web notificar avisos a sus alumnos.
Tecnologías: HTML, CSS, PHP, JavaScript, jQuery y un entorno virtual LAMP (Linux, Apache, MySQL y PHP).
Objetivo: Aprender a desarrollar una aplicación web básica y a prepar el entorno virtual de desarrollo.
Descripción: Ejercicios y ejemplos prácticos de estructuras de datos en Java.
Objetivo: Fortalecer habilidades en lógica y resolución de problemas.
Temas cubiertos:
- Listas enlazadas, pilas, colas, árboles binarios, etc.
Descripción: Ejercicios prácticos para entender conceptos fundamentales de los Sistemas Distribuidos.
Objetivo: Aprender algunos fundamentos prácticos básicos como la ejecución concurrente de hilos o el paso de mensajes de manera bidireccional entre cliente y servidor.
Temas cubiertos:
- Implementación de tareas concurrentes utilizando la clase
Threadde Java. - Uso de la interfaz
Runnablepara manejar tareas concurrentes. - Implementación de un servidor y cliente de Web Sockets en Java.
Descripción: Este práctica final es una replica del mítico juego Arkanoid desarrollado en Java.
Tecnologías: Java, Swing Java y AWT GUI
Objetivo: Aprender a desarrollar una aplicación de escritorio visual en Java para entender y aplicar el diseño de interfaces de usuario de manera práctica.
Soy un desarrollador en constante aprendizaje, con interés en desarrollo de aplicaciones web y móviles, inteligencia artificial, ciberseguridad y tecnología blockchain. En este portafolio encontrarás desde prácticas básicas hasta proyectos más avanzados, reflejando mi evolución en este duro pero bonito camino.
- 💼 LinkedIn: Mi Perfil de LinkedIn
- 📧 Contacto: Mi correo electrónico
¡Gracias por visitar mi portafolio! 😊


