Saltar al contenido

Rosario, Santa Fe, Argentina

Felipe Garcia Suez

Backend Python Developer

Lo que construyo está corriendo ahora mismo, en un servidor que administro yo.

Mis sitios, ahora mismo

  • caudalwallet.comConsultando…
  • jacintalynch.artConsultando…

Estado consultado en vivo al cargar esta página.

Sobre mí

Trabajo en Python hace más de cuatro años, casi siempre del lado del backend: modelos de datos, PostgreSQL, integraciones y sistemas contables que no pueden fallar.

Fuera del trabajo construyo productos propios y los llevo hasta el final — que para mí significa hasta el servidor. Compré un VPS, lo aseguré y ahí corren mis aplicaciones, con backups que probé restaurando.

Cuando algo se rompe, prefiero entender la causa antes que tapar el síntoma. Suele tardar más y suele ser la única forma de que no vuelva.

4+
años de experiencia profesional
2
aplicaciones propias en producción
1
servidor propio, administrado por mí
Idiomas

EspañolNativo

InglésProfesional · código, documentación y equipo a diario

Proyectos

En producción

Desplegados en mi servidor y funcionando ahora.

En produccióncaudalwallet.com

Caudal

Gestor de finanzas personales, self-hosted y open source.

El problema que solucionamos

Los gastos chicos y repetidos —el café, el delivery, la suscripción que nadie cancela— no aparecen como problema en ningún resumen bancario. Están diluidos entre cientos de líneas sin categoría. A fin de mes falta plata y no hay forma de señalar dónde se fue.

  • Python 3.12
  • Django 5.2
  • PostgreSQL 17
  • HTMX
  • Alpine.js
  • gunicorn
Caudal abierto en el celular en caudalwallet.com, mostrando el panel de gastos hormiga con las categorías Viaje, Hogar, Salud y Supermercado, y un aumento del 46% respecto del mes pasado. Los importes están desenfocados.
En producciónjacintalynch.art

CuadrosJaci

Catálogo web para una artista, con su propio dominio.

El problema que solucionamos

Una artista que muestra su obra en redes sociales depende del algoritmo y no tiene forma de presentar el catálogo ordenado: por estilo, por técnica, por tamaño. Un cliente que pregunta por un cuadro específico termina revisando publicaciones viejas.

  • Python 3.12
  • Django 5
  • Django REST Framework
  • PostgreSQL 16
  • React
  • Vite
Recorrido por jacintalynch.art: la grilla del catálogo y el detalle de la obra Doberrman, con su descripción y estado de disponibilidad.

Otros proyectos

Discontinuado

CoProduce

Co-producción musical remota sobre Ableton Live.

  • TypeScript
  • Electron
  • WebRTC
  • Node.js
Ver el caso completo
En desarrollo

Gardenia Aromas

E-commerce de velas y aromas.

  • Python
  • Django
  • PostgreSQL
  • Docker
Ver el caso completo

Infraestructura

No dependo de una plataforma para que mi código exista. Alquilé un servidor, lo aseguré, lo documenté y ahí corren mis aplicaciones.

Dos aplicaciones distintas, con dominios distintos, compartiendo un solo servidor. El único proceso que escucha en internet es el reverse proxy; todo lo demás se habla por redes internas de Docker que no salen a ningún lado.

  1. Borde — expuesto a internet

    Caddy

    Los únicos puertos abiertos del servidor son 80, 443 y SSH. Emite y renueva los certificados TLS de los dos dominios sin intervención.

  2. Aplicaciones — red compartida

    caudal-web

    gunicorn + Django. Sin puertos publicados: Caddy lo alcanza por el nombre del servicio.

    cuadrosjaci-web

    API de Django REST Framework. El frontend son archivos estáticos que sirve el proxy.

  3. Datos — redes aisladas, una por app

    caudal-db

    PostgreSQL. Verificado que no responde desde la red del proxy: solo lo alcanza su propia aplicación.

    cuadrosjaci-db

    PostgreSQL, en su propia red. Una app comprometida no llega a la base de la otra.

Acceso

La única forma de entrar al servidor por red es una clave criptográfica. No hay contraseña que adivinar.

Respaldos

Respaldo diario automático, y la restauración se prueba de verdad en vez de asumirse.

Convenciones

Los nombres de contenedores y volúmenes son obligatorios, porque el mantenimiento del servidor descubre qué hacer a partir de ellos.

Ver cómo está armado

Experiencia

  1. Adhoc S.A.

    Partner oficial de Odoomay 2024presente

    Desarrollador Python · Odoo

    Traduzco requerimientos contables y fiscales complejos —incluida la localización fiscal argentina— en soluciones técnicas que escalan.

    Ver detalle +
    • Desarrollo backend en Python sobre una plataforma web de gran escala: programación, personalización y mantenimiento de módulos adaptados al negocio.
    • Modelado de datos y consultas sobre PostgreSQL a través del ORM del framework, asegurando integridad y consistencia en flujos financieros críticos.
    • Depuración directa del código fuente nativo del framework, no solo de los módulos propios: identifico la causa raíz en lugar de aplicar parches superficiales.
    • Refactorización y optimización de sistemas en producción, automatizando flujos y reduciendo tiempos de procesamiento.
    • Python
    • Odoo
    • PostgreSQL
    • ORM
    • Linux
  2. Globalbitz

    España · remotojul 2025nov 2025

    Desarrollador Full Stack (freelance)

    Entregué aplicaciones web de punta a punta con un equipo internacional, trabajando en inglés y con ejecución autónoma.

    Ver detalle +
    • React y TypeScript en el frontend, Node.js en el backend, desde el diseño de componentes hasta la puesta en producción.
    • APIs REST, lógica de negocio del lado del servidor y manejo de estado y datos entre cliente y servidor.
    • Tipado estático como herramienta de mantenibilidad: menos errores en tiempo de ejecución a medida que el proyecto crecía.
    • Docker para contenerización, desarrollo local y despliegues consistentes entre entornos.
    • TypeScript
    • React
    • Node.js
    • Express
    • Docker
  3. Solvo

    mar 2023abr 2024

    Desarrollador Python

    Fui el puente entre el negocio y la parte técnica: traducía requerimientos en software funcional y explicaba resultados a gente no técnica.

    Ver detalle +
    • Módulos personalizados en Python y soluciones orientadas al cliente, con foco en POO y código reutilizable.
    • Entornos containerizados con Docker para desarrollo y despliegue.
    • Python
    • POO
    • Docker
  4. Independiente

    oct 2022feb 2023

    Desarrollador Web Full Stack (freelance)

    Me hice cargo del ciclo completo con el cliente: relevamiento, desarrollo, despliegue y soporte.

    Ver detalle +
    • Proyectos web de principio a fin, desde sitios informativos hasta e-commerce, con React en el frontend y Express en el backend.
    • Incorporé TypeScript desde esta primera etapa freelance, adoptando el tipado estático como estándar propio.
    • React
    • Express
    • TypeScript
    • JavaScript

Formación

Universidad Tecnológica Nacional (UTN)

feb 2023may 2026

Tecnicatura Universitaria en Programación

POO, estructuras de datos, bases de datos, redes y arquitectura de sistemas.

Stack

Sin barras de porcentaje: cada tecnología dice dónde la usé.

Backend

  • PythonAdhoc, Solvo, Caudal, Gardenia
  • DjangoCaudal, CuadrosJaci, Gardenia
  • Django REST FrameworkCuadrosJaci
  • OdooAdhoc · localización fiscal argentina
  • Node.js · ExpressGlobalbitz, freelance
  • APIs RESTGlobalbitz, CuadrosJaci
  • gunicornCaudal y CuadrosJaci en producción

Datos

  • PostgreSQLAdhoc, Caudal, CuadrosJaci, Gardenia
  • SQLConsultas y modelado en todos los proyectos
  • Migraciones y respaldosMigración completa de base entre proveedores, con verificación
  • SQLiteCaudal en desarrollo local

Infraestructura

  • DockerSolvo, Globalbitz, y las tres apps propias
  • LinuxUbuntu Server · administración y hardening
  • CaddyReverse proxy y TLS de mis dos dominios
  • systemdTimers de backup y mantenimiento programado
  • ufw · SSHFirewall, claves ed25519, acceso sin contraseña

Frontend

  • TypeScriptGlobalbitz, CoProduce, este sitio
  • ReactGlobalbitz, CuadrosJaci, freelance
  • Next.jsEste sitio
  • HTMX · AlpineCaudal · carga en dos toques sin SPA
  • HTML · CSSTodos los proyectos con interfaz propia

Herramientas y práctica

  • GitVersionado con ramas y tags por release
  • pytestCaudal, CuadrosJaci, Gardenia
  • ruff · uvCaudal
  • POO y patrones de diseñoBase de la formación en UTN, aplicada en Python y JavaScript
  • Agile · ScrumAdhoc, Globalbitz

Notas técnicas

Cosas que encontré resolviendo problemas reales.

Contacto

Si querés hablar de un proyecto, de una posición o de algo técnico, escribime.