← PORTAFOLIOPORTFOLIO / proyectos / plataforma-interna

// PRJ_003 · 2025

Plataforma administrativa internaInternal admin platform

Plataforma interna · PythonInternal platform · Python

La parte más grande de la herramienta interna con la que el equipo gestiona clientes y cartera todos los días.The largest part of the internal tool the team uses every day to manage customers and their accounts.

En detalleIn detailEl componente de mayor volumen funcional de la plataforma administrativa interna de Roda: gestión de clientes, seguimiento de cartera y los flujos que el equipo de operación usa todos los días. Backend en Python (Flask / FastAPI), interfaz en React y PostgreSQL sobre GCP.The largest functional component of Roda's internal admin platform: customer management, portfolio follow-up and the flows the operations team uses every day. Python (Flask / FastAPI) backend, React interface and PostgreSQL on GCP.

RolRole
Desarrollador principalLead developer
AñoYear
2025
CódigoSource
privado — trabajo de empresaprivate — company work
Stack
Python · Flask · FastAPI

// IMPACTO// IMPACT

PythonPython
backendbackend
PostgreSQLPostgreSQL
datosdata
GCPGCP
nubecloud

El problemaThe problem

La operación interna vivía repartida entre herramientas sueltas: los datos del cliente en un sitio, el estado de la cartera en otro y la coordinación con campo en un tercero. Faltaba un lugar donde el equipo pudiera ver y mover todo el ciclo del cliente.Internal operations lived scattered across separate tools: customer data in one place, portfolio status in another, field coordination in a third. There was no single place where the team could see and move the whole customer cycle.

Cómo lo resolvíHow I solved it

Construí el módulo central de la plataforma administrativa: API en Python (Flask / FastAPI) con casos de uso separados de los controladores, interfaz en React para el equipo de operación y PostgreSQL como fuente de verdad, todo desplegado en GCP.I built the platform's central module: a Python (Flask / FastAPI) API with use cases separated from controllers, a React interface for the operations team and PostgreSQL as the source of truth, all deployed on GCP.

Arquitectura y stackArchitecture & stack

  1. [01]React
  2. [02]API Python
  3. [03]Casos de uso
  4. [04]PostgreSQL
  5. [05]GCP
  • Python
  • Flask
  • FastAPI
  • React
  • PostgreSQL
  • GCP
  • TypeScript

Lo que aprendíWhat I learned

01 //

Volumen funcional

El módulo más grande no es el más difícil de escribir, sino el más difícil de mantener legible mientras crece.

02 //

Casos de uso aparte

Separar los casos de uso del controlador es lo que permitió agregar flujos sin reescribir los existentes.

03 //

La operación manda

Las decisiones de modelo salieron de ver cómo trabaja el equipo, no del diagrama que yo tenía en la cabeza.

01 //

Functional volume

The biggest module isn't the hardest to write, it's the hardest to keep readable as it grows.

02 //

Use cases apart

Separating use cases from the controller is what let me add flows without rewriting existing ones.

03 //

Operations lead

The model decisions came from watching how the team works, not from the diagram I had in my head.