Saltar al contenido
EN

Santiago Santofimio

Software Developer

Sobre mí

Soy desarrollador web en Colombia y trabajo de forma remota: la distancia no es un obstáculo para llevar tu proyecto hasta donde estés.

Coordinamos por WhatsApp o videollamada, y puedes seguir el avance de tu proyecto desde el primer día. Estoy disponible para proyectos por encargo y para sumarme a un equipo de desarrollo.

Me he formado en la universidad, en cursos en línea y, sobre todo, construyendo proyectos propios de principio a fin. Me muevo entre el frontend y el backend: de una interfaz en React o Astro a una API en Java con Spring Boot.

Me importa que lo que hago funcione para cualquiera: que cargue rápido, que se pueda usar con el teclado y que se lea bien en cualquier pantalla.

Cómo aprendí

  • Universidad

    La base formal.

  • Cursos en línea

    Para aprender herramientas nuevas rápido.

  • Proyectos propios

    Donde más aprendo: construyendo.

  • Breach Room

    Escape room web de ciberseguridad. El jugador queda encerrado en la red interna de Kryptelia Systems, una empresa ficticia, y escapa departamento por departamento explotando una vulnerabilidad real en cada uno. Se juega en unos 10 minutos, también desde el celular y sin DevTools.

    • Tras cada sala, un debrief explica la falla con el código Java vulnerable y el corregido lado a lado, su categoría del OWASP Top 10 y cómo se detecta en un sistema real.
    • Seguro por diseño: las vulnerabilidades son reales en su lógica, pero solo operan sobre recursos simulados. Nada de lo que escribe el jugador ejecuta procesos, toca archivos ni sale a la red.
    • Tests que demuestran que la inyección SQL no puede leer archivos, crear funciones ni cambiar datos, y 44 pruebas de navegador con Playwright, incluida una partida completa.
    • Java 21
    • Spring Boot
    • H2
    • JUnit 5
    • React
    • TypeScript
    • Docker

    La primera visita puede tardar hasta un minuto mientras se despierta el servidor gratuito. El juego convierte esa espera en parte de la historia.

  • Luka Wallet

    App de finanzas personales para iPhone que funciona sin conexión y sin servidor: todos los datos se quedan en el teléfono. Se instala desde Safari como cualquier otra app.

    • Ingresos, gastos, presupuestos por categoría y un gráfico diario del mes.
    • Copias de seguridad cifradas con AES-GCM y PBKDF2, usando solo la Web Crypto API.
    • Pensada para sentirse nativa en iOS: hojas que se arrastran, teclado numérico propio y modo oscuro.
    • React
    • TypeScript
    • Vite
    • Vitest
    • PWA
    • IndexedDB
  • URL Shortener

    Acortador de enlaces con estadísticas de clics, alias personalizados y enlaces que expiran. La interfaz es un tablero de salidas de aeropuerto con letras que giran.

    • API REST en Spring Boot que redirige con 302 y responde 410 cuando un enlace expira.
    • Valida cada destino: bloquea esquemas peligrosos, redes internas y direcciones IP disfrazadas.
    • Límite de creación por IP, códigos aleatorios con SecureRandom y borrado protegido con un token.
    • Java 25
    • Spring Boot
    • JPA / Hibernate
    • React
    • TypeScript

    La demo corre sin servidor: la API está portada al navegador con las mismas reglas, y los enlaces solo funcionan en el navegador que los crea.

  • SortingVisualizer

    Algoritmo

    Versión en miniatura hecha para esta página. En el proyecto real, los pasos los calcula una API de Spring Boot.

    Visualizador de algoritmos de ordenamiento. Una API en Spring Boot calcula cada paso de Bubble, Insertion, Selection, Merge y Quick Sort, y el navegador los anima barra por barra.

    • Java 21
    • Spring Boot
    • Maven
    • JavaScript
  • Esta página

    Hecha con Astro y React solo donde hay interacción. Sistema de diseño propio en CSS, contraste verificado por script y animaciones sin librerías.

    Contraste del tema actual, medido en vivo

    Texto sobre fondo
    Texto suave sobre fondo
    Botón principal
    • Astro
    • React
    • TypeScript
    • Tailwind CSS

Tecnologías

Las que he usado en proyectos propios, de la interfaz a la base de datos.

  • Frontend

    Interfaz · componentes

    • HTML5
    • CSS3
    • JavaScript
    • TypeScript
    • React
    • Angular
    • Astro
    • Tailwind CSS
    • Vite
  • Backend

    APIs · servicios

    • Java
    • Spring Boot
    • Maven
    • JPA y Hibernate
    • JUnit
    • Python
    • Lua y Luau
  • Datos y DevOps

    Persistencia · infra

    • PostgreSQL
    • Docker
    • Git
    • GitHub
    • Cloudflare Pages
    • Netlify

Cómo trabajo

Cuatro costumbres que se notan en el código de esta misma página.

  1. Primero el celular

    Diseño desde 360 px hacia arriba. Esta página no hace scroll horizontal en ningún ancho.

  2. Accesible desde el principio

    HTML semántico, navegación completa con teclado y cada color verificado con un script de contraste.

  3. Rápido por defecto

    HTML estático, fuentes servidas desde el propio sitio y JavaScript solo en lo que se mueve o responde.

  4. Un historial que se entiende

    Commits pequeños, en español y con un solo propósito cada uno.

Hablemos.

Si tienes un puesto o un proyecto en el que pueda aportar, escríbeme. Respondo en una a tres horas durante el día, hora de Colombia (UTC-5).

Escríbeme