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ñol — Nativo

Inglés — Profesional · 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
Carga de un gasto en Caudal en dos toques: se ingresa el monto y se elige una categoría entre chips como Ahorro, Apps, Café, Delivery o Supermercado, sin salir de la pantalla.
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 2024 — presente

    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 · remoto · personalizaciones de Allplanjul 2025 — nov 2025

    Desarrollador Python (freelance)

    Escribí funciones en Python con PythonParts, la API de scripting de Allplan, para generar estructuras 3D paramétricas dentro del sistema a partir de medidas y parámetros de configuración.

    Ver detalle +
    • Funciones paramétricas en Python con PythonParts (la API de scripting de Allplan) que generan estructuras 3D dentro del sistema a partir de medidas y parámetros de configuración.
    • Trabajo remoto para una empresa española especializada en personalizaciones de Allplan, software BIM/CAD para arquitectura e ingeniería.
    • Python
    • Allplan
    • PythonParts
  3. Solvo

    mar 2023 — abr 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 2022 — feb 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 2023 — may 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, Globalbitz
  • Allplan · PythonPartsGlobalbitz · geometría 3D paramétrica
  • DjangoCaudal, CuadrosJaci, Gardenia
  • Django REST FrameworkCuadrosJaci
  • OdooAdhoc · localización fiscal argentina
  • Node.js · ExpressFreelance
  • APIs RESTCuadrosJaci
  • 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 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

  • TypeScriptCoProduce, este sitio
  • ReactCuadrosJaci, 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

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.