Rafael Medina Consultor Tecnológico

Disponible para nuevos proyectos

Aplicaciones web y automatización para operaciones críticas.

Construyo aplicaciones web internas con Django, APIs REST que conectan sistemas y automatizaciones que eliminan trabajo manual. Cuatro años haciéndolo en entornos donde la seguridad, la trazabilidad y la estabilidad no son negociables.

Proyectos puntuales o colaboración continua · Trabajo en remoto

04 Años desarrollando backend y automatización en Python
Banca Sector de mayor experiencia: entornos regulados y datos sensibles
03 Motores de datos integrados: PostgreSQL, SQL Server e Impala
Django Framework principal para aplicaciones web internas y APIs REST
Entornos en los que trabajo
  • Banca y servicios financieros
  • Sistemas internos de negocio
  • Procesos operativos
  • Datos sensibles y trazabilidad
  • Integración entre plataformas
01 Capacidades

Qué construyo para tu organización

Tres líneas de trabajo que suelen ir juntas: una aplicación necesita datos, los datos vienen de otros sistemas y el proceso que hay detrás casi siempre se puede automatizar.

WEB / Aplicaciones

Aplicaciones web con Django

Herramientas internas completas —interfaz, lógica de negocio y datos— pensadas para el equipo que las va a usar cada día.

  • Aplicaciones internas de principio a fin
  • Control de acceso por rol y registro de actividad
  • Modelado de datos y código documentado
API / Integración

APIs REST e integración de sistemas

Una capa de acceso común para que las aplicaciones dejen de hablar con cada base de datos por su cuenta.

  • Diseño de APIs con Django REST Framework
  • Conexión con PostgreSQL, SQL Server e Impala
  • Control de acceso y trazabilidad de las peticiones
AUT / Automatización

Automatización de procesos

Tareas que hoy consumen horas de trabajo manual y que pueden ejecutarse solas, de forma estable y auditable.

  • Procesamiento de información y tareas repetitivas
  • Flujos de trabajo en entorno Windows
  • Registro de cada ejecución y control de errores
02 Casos de trabajo

Problemas reales y cómo se resolvieron

Los proyectos internos se presentan como casos de estudio, sin exponer información confidencial de la organización ni de sus clientes.

Acadix — Gestión académica

En producción
Reto
Un centro educativo reparte matrícula, calificaciones y asistencia entre hojas de cálculo y registros sueltos. Consolidar el rendimiento de un grupo obliga a rehacer el mismo trabajo cada periodo.
Enfoque
Plataforma completa: API REST en Django con autenticación JWT y alta de cuentas validada por un administrador, más una interfaz en React. Modela colegios, materias, grupos, evaluaciones, calificaciones y asistencia, con importación masiva de estudiantes desde Excel.
Resultado
Aplicación desplegada y accesible en producción, con todo el ciclo académico —del alta del estudiante al registro de notas— resuelto en una sola herramienta.

Aplicaciones web internas

Caso de estudio
Reto
Procesos de negocio repartidos entre hojas de cálculo, correos y pasos manuales, sin un punto único de control ni registro de lo ocurrido.
Enfoque
Aplicaciones internas en Django que centralizan el proceso, con validaciones, control de acceso por rol y registro de actividad.
Resultado
Operación centralizada, menos trabajo manual y trazabilidad de quién hizo qué y cuándo.
  • Python
  • Django
  • PostgreSQL
  • SQL Server

Integración de datos y servicios

Backend / APIs
Reto
Información dispersa en varias bases de datos y plataformas que no se comunicaban entre sí.
Enfoque
APIs construidas con Django REST Framework y conectores hacia PostgreSQL, SQL Server e Impala.
Resultado
Una única capa de acceso a los datos, reutilizable por varias aplicaciones.
  • Django
  • DRF
  • REST
  • PostgreSQL
  • SQL Server
  • Impala

Automatización de procesos operativos

Automatización
Reto
Tareas periódicas que exigían intervención manual, con el riesgo de error humano y sin histórico de las ejecuciones.
Enfoque
Automatizaciones en Python sobre entorno Windows, con control de errores y registro de cada corrida.
Resultado
Ejecución desatendida y estable, con un histórico auditable de cada proceso.
  • Python
  • Automation
  • Windows
03 Logros

Resultados acumulados

El impacto medible del trabajo y las contribuciones que hago fuera de él.

Impacto medible

Cifras propias

Procesos automatizados

Tareas que antes requerían intervención manual y hoy se ejecutan solas.

Pendiente de completar

Horas de trabajo manual ahorradas

Estimación mensual del tiempo que los equipos dejaron de invertir.

Pendiente de completar

Aplicaciones internas en producción

Herramientas construidas y hoy en uso dentro de la organización.

Pendiente de completar

Sistemas y fuentes de datos integrados

Plataformas y bases de datos conectadas entre sí mediante APIs.

Pendiente de completar

Proyectos y herramientas propias

Trabajo propio
Arquitectura

BaseZero

Plantilla de backend en Django y DRF que arranca un proyecto con la seguridad ya resuelta: JWT con rotación y blacklist, OTP por correo, magic links, OAuth, rate limiting, bloqueo de cuenta, Argon2id, multi-tenant opcional y CI con auditoría de dependencias.

Proyecto

python-quicksetup

Herramienta publicada para reducir el tiempo que los desarrolladores invierten configurando entornos de desarrollo Python.

Herramienta

SQL Dependencies Extractor

Analizador de consultas SQL que extrae las tablas y campos realmente referenciados, descarta las temporales y audita los logs de uso por usuario con exportación a Excel.

Librería

WinPassSafe

Librería Python para guardar credenciales en Windows cifradas con la huella de hardware del equipo —Fernet (AES-128 + HMAC-SHA256) sobre PBKDF2— sin contraseña maestra ni base de datos.

04 Metodología

Del problema a una solución mantenible

Un buen desarrollo no empieza escribiendo código: empieza entendiendo qué debe resolverse. Cada fase cierra con algo revisable.

FASE 01

Entender

Analizar el proceso, sus restricciones y el problema que realmente necesita solución.

Entregable Alcance acordado y criterios de aceptación.

FASE 02

Evaluar

Comparar alternativas considerando complejidad, seguridad, estabilidad, tiempo y costo.

Entregable Propuesta técnica con opciones y estimación.

FASE 03

Construir

Implementar una solución clara, mantenible y adecuada al contexto, con entregas revisables.

Entregable Código documentado y avances verificables.

FASE 04

Validar

Probar, revisar y documentar antes de considerar la solución terminada.

Entregable Pruebas, documentación y traspaso al equipo.

05 Stack técnico

Herramientas con las que trabajo

Lo que uso hoy en producción y aquello en lo que estoy profundizando ahora mismo.

Backend y aplicaciones web

Núcleo
  • Python
  • Django
  • Django REST Framework
  • REST APIs
  • React
  • POO

Datos e integración

Producción
  • PostgreSQL
  • SQL Server
  • Impala
  • SQL
  • Pandas

Automatización y herramientas

Día a día
  • Windows Automation
  • Git
  • Linux
  • Open Source
  • Desarrollo asistido por IA
  • Railway

En expansión

Aprendiendo ahora
  • Data Analysis
  • Visualización
  • Design Patterns
  • DevOps
  • CI/CD
  • Arquitectura RAG
  • Technical English
06 Sobre mí

Desarrollo web y automatización con criterio técnico

No se trata solamente de escribir código, sino de entender el problema, evaluar alternativas y construir una solución que tenga sentido para el contexto.

Soy desarrollador Python especializado en aplicaciones web y automatización. Construyo herramientas internas con Django y transformo procesos repetitivos o difíciles de mantener en soluciones que hagan el trabajo más simple para las personas que las utilizan.

He trabajado con Django construyendo aplicaciones web internas y APIs, además de integrar diferentes fuentes de datos y bases de datos como PostgreSQL, SQL Server e Impala.

Mi experiencia en un entorno bancario me ha llevado a prestar especial atención a la seguridad, trazabilidad, estabilidad y mantenibilidad de las soluciones. También considero el costo: una tecnología más moderna no necesariamente significa una mejor solución para todos los casos.

Soy autodidacta por naturaleza. Cuando aparece un problema que no conozco, investigo, pruebo distintos enfoques y consulto documentación hasta encontrar una solución razonable.

Problema antes que tecnología

Primero entiendo qué necesita resolverse y después elijo las herramientas.

Seguridad y trazabilidad

Las soluciones deben ser confiables, auditables y fáciles de mantener.

Pragmatismo

Busco el equilibrio entre calidad, complejidad, tiempo y costo.

Aprendizaje continuo

Investigo y experimento para encontrar mejores formas de resolver problemas.

Contacto

¿Tienes un proceso que podría hacerse mejor?

Si necesitas automatizar una tarea, construir una aplicación interna o integrar sistemas, conversemos. Reviso cada mensaje personalmente.