◉Demandly
Case studies
ML PipelinesBigQueryEmbeddingsGCPPythonReact

Financial Platform

Pipelines ML, semantic search y alertas Telegram sobre BigQuery.

6.8k
LOC backend
1.000+
Tickers procesados/día
Real-time
Alertas Telegram

Contexto

Plataforma financiera personal desarrollada como base técnica para experimentos ML/data y como herramienta interna de análisis de mercados.

Problema

Los datos de mercado están dispersos entre docenas de APIs (FMP, Yahoo, brokers, IEX), sin un single source of truth para hacer análisis cruzado. Además, las ideas de mercado interesantes son difíciles de rastrear en tiempo real sin una infraestructura de alertas propia.

Solución

Construimos una plataforma completa con tres capas:

  • Ingesta y almacenamiento: pipelines Python que extraen datos de Financial Modeling Prep y los cargan en Supabase (Postgres) para acceso transaccional y BigQuery para análisis a escala.
  • Semantic search sobre earnings call transcripts usando embeddings (Vertex AI) y BigQuery vector search — permite buscar "quién habló de expansión en Latinoamérica" sobre miles de transcripts.
  • Pipelines ML: predicción de precio, agentes de precio y clasificación de eventos, corriendo en Cloud Run scale-to-zero.
  • Frontend React con Redux, dashboards de watchlists, wallet y screener personalizable.
  • Alertas Telegram automáticas cuando precios de watchlists cruzan umbrales definidos — todo el ciclo desde detección hasta notificación en <60s.

Stack

Python 3.11
GCP · Cloud Run
GCP · Cloud Functions
GCP · BigQuery
GCP · Vertex AI
Supabase (Postgres)
React 18 + Redux
Vite + TypeScript
Streamlit
TensorFlow
Financial Modeling Prep
Telegram Bot API

Resultados

  • ~6.800 líneas de código backend Python en producción.
  • Pipeline diario que actualiza precios de más de 1.000 tickers.
  • Semantic search operativo sobre miles de earnings transcripts.
  • Alertas Telegram funcionando en producción con latencia sub-minuto.

Aprendizajes

  • BigQuery + Supabase como combo: OLAP para análisis, OLTP para app. Cada uno en su terreno rinde 10x mejor que forzar todo en un solo sistema.
  • Embeddings sobre docs largos requieren chunking inteligente por temas — split naïve por tokens produce contexto basura.
  • Cloud Run scale-to-zero ahorra 90 %+ del coste vs GKE para cargas ML esporádicas, sin sacrificar arranque.
¿Siguiente paso?

Hablemos de tu proyecto

30 minutos, sin compromiso. Nos cuentas qué quieres construir y te decimos con honestidad si es un fit para nosotros.