// 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.
// IMPACTO// IMPACT
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
- [01]React
- [02]API Python
- [03]Casos de uso
- [04]PostgreSQL
- [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.