JOB FIL-GRAMAUSER E.CHYRNIATIPO PROYECTO PROPIO · CAMINO A SAASFECHA
Proyecto propio
Fil-Grama
Analytics de redes sociales para agencias — Instagram, Facebook y TikTok en un solo lugar.
Las APIs de las redes no exponen series históricas completas: cada una da una ventana limitada de datos. Fil-Grama corre un job diario que consulta las cuentas conectadas de cada cliente y guarda snapshots de métricas en su propia base — como una impresora de línea que registra todo, día a día, en papel continuo. Con esa historia arma dashboards por cliente, comparación entre cuentas y reportes en PDF.
Rol · Fundador y desarrollador
Definí el modelo de datos y la arquitectura, diseñé la interfaz completa del wireframe a la alta fidelidad, implementé backend y frontend, hice las integraciones con TikTok y Meta, armé la infraestructura y hago los despliegues.
FIL-GRAMA.PRTHOJA 01/09 · EL PROBLEMAGREENBAR · 132 COL
01Por qué existe Fil-Grama
Una agencia que gestiona redes de varios clientes necesita comparar rendimiento entre cuentas y en el tiempo, pero Instagram, Facebook y TikTok no ofrecen historiales largos: cada API expone una ventana limitada. Sin una captura propia y constante, esa historia se pierde.
Fil-Grama la captura con un job diario que guarda snapshots de métricas (alcance, seguidores, interacciones, engagement) en su propia base de datos, y con esa historia arma dashboards por cliente, comparación entre cuentas y reportes en PDF.
Captura histórica propiaSnapshots diarios por cuenta, más allá de la ventana que da cada red.
Multi-cliente, multi-redCada cliente de la agencia con sus cuentas de las tres redes en un mismo panel.
Reportes y comparaciónDashboards, comparación entre cuentas y PDF por cliente y rango de fechas.
FIL-GRAMA.PRTHOJA 02/09 · ARQUITECTURAGREENBAR · 132 COL
02Backend modular, contrato de API como fuente de verdad
Backend en Java con Spring Boot, separado en módulos por dominio (auth, clientes, cuentas, OAuth, integración Meta, métricas, sincronización, reportes, media, storage). PostgreSQL con migraciones versionadas. El frontend en React consume el contrato de API con un cliente generado automáticamente (Orval), para que backend y frontend no se desincronicen.
Rotación de refresh tokens
Si un refresh token robado se reusa, se detecta y se revoca toda su familia — no solo ese token.
Modelo de datos — núcleo
14 tablas en el esquema; este es el núcleo relevante para el dashboard y el job diario.
FIL-GRAMA.PRTHOJA 03/09 · INGENIERÍAGREENBAR · 132 COL
03Detalles concretos del backend
001
167+ testsIncluye e2e con Testcontainers contra un Postgres real, no solo mocks.
002
Refresh tokens con rotaciónSi un token robado se reusa, se detecta y se revoca toda la familia, no solo ese token.
003
Tokens OAuth cifrados en reposoAES-GCM; nunca se guardan ni se exponen en texto plano.
004
Errores en RFC 7807Un único exception handler; problem+json consistente en toda la API.
005
Multi-tenant desde el modelo14 tablas con client_id, pensado para escalar a SaaS sin reescritura.
FIL-GRAMA.PRTHOJA 04/09 · INTEGRACIONESGREENBAR · 132 COL
04TikTok y Meta, con su estado real
Sandbox
Integraciones implementadas en modo sandbox; la aprobación de las APIs de métricas de Meta está en proceso. Cuento el estado tal cual está, sin inflar: esto es un producto en construcción.
TikTok — OAuth + métricas[ OK ] sandbox completo
OAuth de punta a punta con PKCE, refresh de token con rotación y flujo de conexión con QR de marca. Es la integración más madura: la única probada completa, desde autorización hasta lectura de métricas. La API de publicación requiere una auditoría aparte de TikTok, todavía no habilitada.
Meta — Instagram / Facebook[PEND] App Review
Implementada en código (OAuth, lectura de métricas), pero Meta exige App Review con Advanced Access y verificación de negocio antes de habilitarla con cuentas de clientes reales. Hoy funciona en modo Development, solo con cuentas propias de prueba, mientras avanza la aprobación.
FIL-GRAMA.PRTHOJA 05/09 · ESTADOGREENBAR · 132 COL
05En desarrollo activo, camino a SaaS
En construcción
Fil-Grama todavía no tiene clientes reales operando en producción: el foco está en dejar bien resuelta la base — arquitectura, integraciones, infraestructura — antes de sumar usuarios. El próximo hito importante es la integración de Meta habilitada por completo.
[x]
Backend y frontend desplegados — VPS en Vultr + Cloudflare Pages, funcionando.
[x]
TikTok integrado — OAuth y lectura de métricas en sandbox.
[~]
Meta en revisión — App Review y verificación de negocio en proceso.
[~]
Reportes automáticos — generación en PDF por cliente y rango de fechas.
[ ]
Publicación de contenido — pendiente de la auditoría de la API de TikTok.
[ ]
SaaS multi-tenant — evolucionar de herramienta interna a producto.
FIL-GRAMA.PRTHOJA 06/09 · INFRAESTRUCTURAGREENBAR · 132 COL
06Cómo está desplegado
Alquilé el servidor, hice las conexiones y desplegué las dos partes del sistema: backend en un VPS de Vultr, con Docker Compose detrás de Caddy como proxy y PostgreSQL, y frontend en Cloudflare Pages, con despliegue automático en cada push a la rama principal.
Para desarrollo uso un túnel de Cloudflare hacia el backend local: pruebo contra un dominio real sin exponer la máquina de desarrollo. Por seguridad, esta página no incluye IPs, credenciales, tokens ni URLs internas.
StorageCloudflare R2 (S3-compatible) en prod · MinIO en dev
FIL-GRAMA.PRTHOJA 07/09 · RECORRIDOGREENBAR · 132 COL
07Los flujos y pantallas, navegables
Una selección curada de las 50 pantallas diseñadas: analítica, comparación de cuentas, publicaciones, reportes y plataforma. Cada una se abre interactiva, tal como fue diseñada, en escritorio y móvil.
Del wireframe a la alta fidelidad
La misma pantalla (Audiencia): estructura primero, identidad visual después.
Fase 1 · Wireframe — estructura y jerarquía, sin color.
Fase 2 · Alta fidelidad — paleta, tipografía y componentes aplicados.
FIL-GRAMA.PRTHOJA 08/09 · PRODUCTOGREENBAR · 132 COL
08Capturas reales de la plataforma funcionando
En producción
La app corriendo en producción, no mockups: dashboard por cliente, detalle de una publicación, comparación entre cuentas y el generador de reportes exportable a PDF.
Fig. 01 — Dashboard por cliente: alcance, interacciones, engagement y seguidores, con el historial armado por el job diario.
Fig. 02 — Detalle de publicación: contenido real de la API de Instagram, con la evolución de una métrica en el tiempo.
Fig. 03 — Comparar cuentas: alcance, seguidores, interacciones y engagement lado a lado, en tabla o en barras.
Fig. 04 — Reporte automático: KPIs por red con variación vs. período anterior, exportable a PDF o Markdown.
Capturas tomadas sobre Oh My Bunny — mi propio emprendimiento, que uso como cuenta de prueba en producción mientras avanza la aprobación de Meta. Los números son bajos porque es una cuenta real recién conectada, no una demo con datos inflados.