Portafolio Profesional Autogestionable
Volver a proyectos

Portafolio Profesional Autogestionable

Python FastAPI PostgreSQL Docker HTMX JWT Cloudflare Resend

Prueba el panel admin en vivo → perfil.gilman.pro/static/admin-demo/ — Una demo funcional del panel de administración para que explores todas las secciones sin necesidad de autenticación.

Estado: ✅ Producción activa en perfil.gilman.pro Rol: Desarrollador de Soluciones Tecnológicas (creación individual) Tiempo de desarrollo: 1 mes


🏆 Logros Clave

  • CMS completo en producción real con panel de administración, blog, proyectos, CV y más
  • Seguridad profesional: protección contra ataques web, autenticación segura, límites de uso por IP
  • Almacenamiento híbrido: usa la nube como almacenamiento principal y el disco local como respaldo automático
  • SEO completo: el sitio está optimizado para aparecer en buscadores (Google, Bing), con sitemaps dinámicos, RSS y etiquetas para redes sociales
  • Panel admin demo público que cualquiera puede explorar sin pedir credenciales
  • Estadísticas de visitas sin guardar direcciones IP — respetuoso con la privacidad
  • Dos versiones de CV en PDF: uno optimizado para sistemas automáticos (ATS) y otro con diseño visual de dos columnas

Tecnologías Principales

Área Tecnologías
Backend Python, FastAPI
Base de datos PostgreSQL
Frontend Tailwind CSS, HTMX, Alpine.js
Infraestructura Docker, Cloudflare
Email Resend (correos automáticos)
Almacenamiento Cloudflare R2 + disco local

¿Qué hace este proyecto?

Es mi portafolio profesional, pero construido como un producto completo. No es una página estática: es un sistema que me permite administrar todo el contenido desde un panel privado, sin tocar código.

Lo que incluye

  • Página principal con mi perfil, proyectos destacados, blog, habilidades y formulario de contacto
  • Sección “Sobre mí” con experiencia laboral, formación académica, hobbies y habilidades
  • Blog para publicar artículos técnicos
  • Galería de proyectos con filtros por categoría
  • Certificaciones profesionales
  • CV en PDF generado automáticamente en dos formatos
  • Formulario de contacto con protección anti-spam

Panel de Administración

El corazón del sistema. Desde aquí se gestiona absolutamente todo el contenido del portafolio en tiempo real, sin escribir una sola línea de código.

¿Qué se puede hacer desde el Admin?

Sección ¿Qué puedes hacer?
Info Personal Editar nombre, título, biografía, email, teléfono, redes sociales, logo y favicon
Experiencia Agregar, editar o eliminar trabajos con fechas, categorías y contenido enriquecido
Educación Gestionar formación académica con imágenes, fechas y orden personalizado
Hobbies Agregar pasatiempos con íconos y colores personalizados
Habilidades Crear grupos de habilidades (técnicas, blandas, etc.) y asignar habilidades a cada grupo
Proyectos CRUD completo con imágenes, tecnologías, enlaces y categorías
Blog Editor completo de artículos con soporte para arrastrar y soltar archivos
Certificaciones Gestionar certificados con emisor, fecha y estado (vigente/expirado)
Categorías Crear y eliminar categorías para organizar el contenido
Secciones Reordenar y mostrar/ocultar secciones del sitio con arrastrar y soltar
Mensajes Bandeja de entrada con filtros y exportación a CSV
Archivos Gestor de archivos con subida múltiple, descarga y eliminación
Configuración Colores del sitio, logo, favicon, texto de correo automático
Estadísticas Dashboard con gráfico de visitas, páginas más vistas, proporción bots vs humanos
Cambiar Contraseña Formulario con verificación de seguridad

Demo Público

Puedes explorar el panel sin necesidad de registro en perfil.gilman.pro/static/admin-demo/. Es una réplica funcional con datos de ejemplo que se ejecuta completamente en el navegador.


Seguridad

El sistema implementa varias capas de protección:

  • Autenticación segura con tokens de acceso temporales y contraseñas encriptadas
  • Protección CSRF que evita ataques de falsificación de solicitudes
  • Límite de uso en el formulario de contacto para evitar spam
  • Cabeceras de seguridad en todas las páginas (HSTS, Content Security Policy, etc.)
  • Recuperación de contraseña con enlaces temporales que expiran en 15 minutos
  • Detección de bots para mantener las estadísticas limpias

SEO y Visibilidad

El sitio está optimizado para que reclutadores y buscadores encuentren la información fácilmente:

  • Meta etiquetas dinámicas para cada página (título, descripción, Open Graph, Twitter Card)
  • Datos estructurados (JSON-LD) para que Google entienda el contenido
  • Sitemap XML automático para que los buscadores indexen todo el contenido
  • Feed RSS para que puedan seguir las publicaciones del blog
  • Archivos llms.txt optimizados para asistentes de IA
  • URLs amigables y contenido responsive

Correo Automático

  • Autorespuesta de contacto: cuando alguien envía un mensaje, recibe una confirmación automática
  • Recuperación de contraseña: enlace seguro para restablecer la contraseña del admin
  • Todo funciona con el servicio Resend y el dominio gilman.pro

Generación de CV en PDF

El sistema genera automáticamente dos versiones del CV al iniciar:

  1. CV para sistemas ATS: una columna, sin colores, tipografía limpia — optimizado para que los sistemas de reclutamiento lo lean correctamente
  2. CV visual: diseño moderno de dos columnas con sidebar oscuro y acentos de color

Si se sube un PDF personalizado desde el admin, el sistema respeta ese archivo y no lo sobrescribe.


Infraestructura

  • Docker: la aplicación y la base de datos corren en contenedores separados
  • Cloudflare: maneja el SSL, la caché y la protección contra ataques DDoS
  • Almacenamiento en la nube: las imágenes y archivos se guardan en Cloudflare R2, con respaldo automático en el disco local
  • Actualizaciones automáticas: al iniciar, el sistema verifica y aplica cambios en la base de datos sin intervención manual

¿Qué aprendí?

Este proyecto representa mi portafolio profesional convertido en producto. Más allá del currículum, es una plataforma que demuestra mis capacidades como Desarrollador de Soluciones Tecnológicas.

Habilidades que desarrollé

  • Arquitectura backend en producción: construir una aplicación web completa desde cero, con rutas públicas, panel admin y APIs
  • Seguridad web real: no es teoría — implementé protección contra ataques en un sistema expuesto a internet
  • Bases de datos relacionales: modelado de datos, consultas optimizadas, migraciones automáticas
  • Docker: configuración de contenedores para desarrollo y producción
  • Frontend moderno sin frameworks pesados: interactividad completa usando herramientas ligeras (HTMX + Alpine.js)
  • SEO técnico: optimización para buscadores, datos estructurados, sitemaps dinámicos
  • Correo transaccional: integración con servicios de email para autorespuesta y recuperación de contraseña
  • Generación de PDFs: creación de documentos con diseño profesional desde código
  • Analítica propia: sistema de estadísticas sin Google Analytics, respetuoso con la privacidad

Lo que más valoro

  • Un sistema en producción real que uso para presentarme profesionalmente
  • Seguridad implementada de verdad, no solo configuraciones por defecto
  • Un panel admin completo con demo público que cualquiera puede explorar
  • Saber que cada línea la entiendo porque la escribí, debugueé y desplegué yo mismo

Diagrama de la Aplicación

graph TB
    subgraph Internet["🌐 Internet"]
        V["Visitantes"]
        A["Admin"]
        BOT["Buscadores
Google / Bing"]
    end

    subgraph CF["Cloudflare"]
        CDN["SSL / CDN / Protección"]
    end

    subgraph Servidor["Servidor Docker"]
        APP["App Web
FastAPI + Python"]
        DB["Base de Datos
PostgreSQL"]
    end

    subgraph Nube["Cloudflare R2"]
        R2["Almacenamiento
Imágenes / Archivos / PDFs"]
    end

    subgraph Email["Resend"]
        ML["Correos automáticos
Autorespuesta / Recuperación"]
    end

    V --> CDN
    A --> CDN
    BOT --> CDN
    CDN --> APP
    APP --> DB
    APP --> R2
    APP --> ML

Hecho con IA, pero con criterio humano

Sí, este proyecto se construyó con ayuda de asistentes de IA. Pero la IA no tomó ninguna decisión de arquitectura, no resolvió bugs, no configuró la seguridad ni desplegó el sistema en producción. La IA aceleró la escritura de código repetitivo y sugirió enfoques, pero cada línea fue revisada, cada error fue corregido, y cada decisión fue tomada por mí.

  • Más de 60 bugs documentados y resueltos en proyectos relacionados — cada uno fue una lección concreta
  • Seguridad multi-capa que investigué, implementé y probé personalmente
  • Infraestructura Docker que configuré desde cero
  • Debugging real — los bugs no vienen con instrucciones. A veces el error es solo “no funciona” y hay que descubrir por qué

La IA es una herramienta poderosa, pero no reemplaza el criterio, la experiencia ni la capacidad de resolver problemas. Este proyecto es la prueba de que con conocimiento, disciplina y las herramientas adecuadas, se puede construir software profesional en producción, con ayuda de IA pero sin depender de ella.


Proyecto desarrollado por Gilberto Castillo — Julio 2026

Volver a proyectos