Saltar al contenido

Proyectos

Proyectos de ingeniería de datos, arquitectura e IA: desde lakehouses y MLOps hasta agentes, MCP e IA desplegada en el edge.

Extracción con LLM y Evaluaciones: Saber Cuándo Confiar

CI/CD Status

Objetivo: Extrae campos de facturas con Claude o Gemini, guarda el texto exacto detrás de cada valor, califica cada campo y envía los documentos dudosos a una persona.

Herramientas: Python, Claude (structured outputs), Gemini, Pydantic, pytest, GitHub Actions

Impacto: Muestra por qué la precisión por campo engaña: una línea base con regex acierta el 86% de los campos pero solo el 25% de los documentos.

Arquitectura

LLM extraction with evals: Documents (Invoices, Gold labels) → Extract (Claude, Gemini, Regex baseline) → Score (Normalize, Field scoring, Evidence check) → Route (Auto-accept, Human review)Documents
Invoices60 generated, 4 layouts
Gold labelsknown answers
Extract
Claudestructured outputs
Geminiresponse schema
Regex baselinethe bar to beat
Score
Normalize1.234,50 = 1234.50
Field scoringaccuracy per field
Evidence checkquote must be in the doc
Route
Auto-acceptevery field backed
Human reviewanything doubtful

Plantilla de Datos para Claude Code: Controles para IA en Proyectos de Datos

CI/CD Status

Objetivo: Un proyecto base de dbt + DuckDB donde Claude Code sigue reglas de datos y los hooks bloquean DROP, entornos de producción y secretos antes de ejecutarse.

Herramientas: Claude Code (hooks, subagentes, skills), dbt, DuckDB, Python, pytest, GitHub Actions

Impacto: 34 pruebas de hooks y 12 pruebas de datos en dbt, incluida una conciliación que falla si un cruce empieza a perder pedidos.

Arquitectura

Claude Code data guardrails: Rules (CLAUDE.md, Permissions) → Before a tool runs (guard_bash, guard_files) → After an edit (check_model) → Helpers (Subagents, Skills, dbt + DuckDB)Rules
CLAUDE.mdlayers, grain, done
Permissionsdbt allowed, .env hidden
Before a tool runs
guard_bashDROP, prod, force push
guard_filessecrets, .env
After an edit
check_modeltests, no SELECT *
Helpers
Subagentsreviewer, investigator
Skillsnew-model, reconcile
dbt + DuckDBdemo shop, 12 tests

table-diff: Demostrar que una Migración Está Bien

CI/CD Status

Objetivo: Compara una tabla antigua con su copia migrada por hash, del día a la fila y a la celda, y filtra el ruido inofensivo que toda migración agrega.

Herramientas: Python, DuckDB, SQL, pytest, GitHub Actions

Impacto: Compara 1.000.000 de filas en 0,09 s en una laptop y encuentra exactamente los 3 errores sembrados; sus códigos de salida lo vuelven un control de CI.

Arquitectura

table-diff: migration validation: Inputs (Legacy table, Migrated table, DuckDB) → Normalize (Noise rules) → Three passes (Partition pass, Row pass, Cell pass) → Output (Report, Exit code)Inputs
Legacy tableParquet, CSV, DuckDB
Migrated tablesame key, new platform
DuckDBevery pass is SQL
Normalize
Noise rulesfloats, spaces, NULLs
Three passes
Partition passcount + hash sum per day
Row passmatch by key
Cell passwhich columns changed
Output
ReportMarkdown or JSON
Exit code0 match · 1 diff · 2 error

Casos de Incidentes de Datos

CI/CD Status

Objetivo: Tres incidentes de datos reproducibles, trabajados como investigaciones: síntoma, hipótesis, evidencia, causa raíz, corrección y un control que se queda.

Herramientas: Python, DuckDB, SQL, pytest, GitHub Actions

Impacto: Coincidencia recuperada de 57% a 98%, una sobreestimación de ingresos de 15% corregida y 5 controles reutilizables.

Arquitectura

Data incident casebook: Incident (Generated data, Pipeline under test) → Investigation (Hypotheses, Evidence queries, Root cause) → Fix (Fix, Guard checks) → Output (Case files, CI)Incident
Generated datano client data
Pipeline under teststaging → model → report
Investigation
Hypothesescheapest first
Evidence queriesone per hypothesis
Root causeconfirmed by data
Fix
Fixsmallest safe change
Guard checksstay in the pipeline
Output
Case filesgenerated, tested in CI
CIPython 3.11–3.13

Data Lake con IA: Claude + Servidor MCP

Objetivo: Data lake con arquitectura Medallion que ingesta datos de CRM, ERP y APIs, y usa Claude para asesorar calidad de datos, generar SQL e insights de negocio, expuesto a agentes vía un servidor MCP

Herramientas: Claude (Sonnet + Opus), MCP, AWS S3, Glue, Athena, PySpark, dbt, CloudFormation, pytest

Impacto: Pipeline de extremo a extremo de datos crudos a KPIs listos para negocio, donde agentes de IA consultan el lakehouse directamente mediante MCP

Arquitectura

AI-Powered Data Lake: Sources (CRM, ERP, APIs & events) → Bronze → Silver (S3 Bronze, Glue + PySpark, Quality checks) → Gold (dbt on Athena, KPIs & reports, CloudFormation) → AI layer (Claude Sonnet, Claude Opus, MCP server)Sources
CRMHubSpot, Salesforce
ERPSAP exports
APIs & eventsWhatsApp, web
Bronze → Silver
S3 Bronzeraw, as received
Glue + PySparkclean, dedupe, UTC
Quality checksschema + rules
Gold
dbt on Athenadaily metrics
KPIs & reportsrevenue, growth
CloudFormationS3, Glue, Athena
AI layer
Claude Sonnetprofiling, NL → SQL
Claude Opusbusiness insights
MCP serveragents query lake

Tutor IA Offline con Gemma 4 para el Perú Rural

Objetivo: Tutor educativo que corre Gemma 4 localmente en un servidor edge comunitario, para que estudiantes de primaria en zonas sin internet accedan a IA desde sus celulares vía WiFi local

Herramientas: Gemma 4, Ollama, Google ADK, FastAPI, Angular, RAG (TF-IDF, scikit-learn), Docker Compose

Impacto: Proyecto para la competencia Build with Gemma de GDG Lima (track Local AI & Edge): IA desplegada donde está el usuario, sin depender de conectividad

Arquitectura

Offline AI Tutor (Gemma 4): Students (Basic phones, Local WiFi) → Edge server (Web UI, FastAPI) → Agent (Google ADK, Gemma 4, Gemini API) → Knowledge (PyMuPDF, SQLite, TF-IDF search)Students
Basic phonesbrowser, no data
Local WiFischool intranet
Edge server
Web UIno CDN, works offline
FastAPIREST API
Agent
Google ADKagent + tools
Gemma 4local via Ollama
Gemini APIoptional cloud mode
Knowledge
PyMuPDFMINEDU materials
SQLitechunks, chats
TF-IDF searchRAG, scikit-learn

Plataforma RAG y LLM Empresarial

CI/CD Status

Objetivo: Sistema RAG de grado de producción con base de datos vectorial, integración LLM y evaluación automatizada usando Ragas

Herramientas: ChromaDB, OpenAI/Groq, FastAPI, Ragas, Prometheus, Docker, CI/CD

Impacto: Pipeline completo de gestión del conocimiento con seguimiento de métricas, monitoreo de rendimiento y versionado de modelos

Arquitectura

📄 Ingestion PipelineDocument Loading(PDF, Notion, Web)ChunkingRecursive SplitterEmbeddingtext-embedding-3 (1536d)🧠 Vector StoreChromaDB💬 RAG API (FastAPI)Query Processing(Hybrid Search RRF k=60)LLM Generation(GPT-4 / Llama 3)Evaluation (Ragas)Faithfulness, relevancy

Lakehouse de Datos con Spark (Accidentes US)

CI/CD Status

Objetivo: Lakehouse basado en Spark con arquitectura Medallion (Bronce/Plata/Oro), pipelines de streaming, entrenamiento ML y orquestación Airflow

Herramientas: PySpark, Delta Lake, MLflow, Airflow, Databricks, Terraform, Great Expectations

Impacto: Plataforma escalable de datos procesando millones de registros con pipelines ML integrados, optimizaciones Delta Lake y aprovisionamiento de infraestructura

Arquitectura

Batch 6M rowsSpark cleanGeo aggScheduleAutomated data ingestion from Kaggle US accidents dataset
Bronze Ingestion
Bronze layer with full history and ACID transactions
Raw Delta Table
Distributed data cleaning with Apache Spark
Spark Cleaning
Silver layer with conformed schemas and optimized storage
Conformed Delta
Geographic hotspot analysis for accident clustering
Hotspot Aggregates
Weather correlation with accident patterns
Weather Impact
Temporal trend analysis for accident patterns
Hourly/Daily Trends
Machine learning pipeline with experiment tracking
ML Pipeline
End-to-end pipeline orchestration with Apache Airflow
Airflow DAG

Plataforma de Análisis de Riesgo de Mercado

Objetivo: Cálculo de métricas de riesgo financiero (VaR, CVaR, Greeks) usando Databricks con orquestación Airflow y Control-M

Herramientas: Databricks, Delta Lake, Control-M, Airflow, Great Expectations, PySpark

Impacto: Sistema de análisis de riesgo de grado empresarial con compuertas de calidad de datos, integración Control-M y pipeline CI/CD

Arquitectura

📡 IngestionWeb ScrapersPython/BS4Market NewsCloud RunScheduled Jobs1min frequency⚙️ Storage & Risk EngineBigQueryData Warehouse📊 Risk Metrics• VaR 95%/99%• CVaR• Greeks (Δ, Γ, V)📈 Serving & AnalyticsDuckDBWASM EngineIn-browser SQLFrontendReact/RechartsInteractive Charts

Plataforma de Análisis Retail con dbt + Databricks

Objetivo: Plataforma de ingeniería de análisis moderna con modelado dimensional (Kimball), modelos incrementales y >80% cobertura de pruebas

Herramientas: dbt, Databricks, Delta Lake, dbt_expectations, Z-ORDER, Liquid Clustering

Impacto: Pipeline de análisis completamente probado con segmentación de clientes (RFM), optimizaciones Delta Lake y documentación completa

Arquitectura

POS DataPostgreSQL⚙️ Data Processing (Databricks + dbt)🥉 BRONZERaw Ingest🥈 SILVER (dbt)Transform🥇 GOLD MARTSRFM Analysis • Customer CLV • Sales AggregatesBI DashboardMetabase

Plataforma MLOps para Predicción de Churn

CI/CD Status

Objetivo: Pipeline MLOps de extremo a extremo con seguimiento MLflow, servicio FastAPI, detección de drift (Evidently) y CI/CD automatizado

Herramientas: MLflow, FastAPI, Evidently AI, Prometheus, Docker, Great Expectations, GitHub Actions

Impacto: Sistema completo de ciclo de vida ML con registro de modelos, monitoreo de drift, servicio de API y pipeline de despliegue automatizado

Arquitectura

FeaturesModel promoteDeployFeature engineering and data preprocessing for churn prediction
Data Prep
XGBoost gradient boosting for churn classification
Training
Model evaluation with AUC-ROC and Precision-Recall metrics
Evaluation
Experiment tracking and model artifact storage with MLflow
MLflow Tracking
MLflow Model Registry for staging and production models
Model Registry
REST API for real-time churn prediction
FastAPI Service
Data drift and model performance monitoring with Evidently AI
Drift Monitoring
Time-series metrics collection with Prometheus
Metrics
Operational dashboards and alerting with Grafana
Dashboards

Prevención de Siniestros de Tránsito en Perú (Tesis)

Objetivo: Normalización, análisis y predicción de siniestros de tránsito en Perú con datos históricos 2008–2023

Herramientas: PySpark, Parquet, scikit-learn (Random Forest), Flask, Jupyter

Impacto: Pipeline ETL de Excel a Parquet, ingeniería de variables temporales y regionales, y una app web para predecir siniestros por región, fecha y clima

Arquitectura

Road Accident Prediction, Peru: Raw data (Excel files, Regions, dates) → ETL (Python ETL, Parquet / CSV) → Analysis (PySpark EDA, Features) → Prediction (Random Forest, Flask web app)Raw data
Excel files2008–2023 records
Regions, datesmixed formats
ETL
Python ETLclean, standardize
Parquet / CSVoptimized storage
Analysis
PySpark EDAbig data analysis
Featureslags, trends, night
Prediction
Random Forestscikit-learn
Flask web appregion, date, weather

JobFlow: Agente GenAI de Búsqueda de Empleo

Objetivo: Agente que encuentra a diario ofertas de Data Engineer, las puntúa según tu CV y usa un LLM para generar un paquete de postulación adaptado a cada oferta

Herramientas: Python, JobSpy, SQLite, Groq / OpenAI, RenderCV, Jinja2, GitHub Actions

Impacto: Ejecución diaria automatizada que deduplica ofertas, filtra roles no relevantes y produce CV en PDF, carta y mensaje al reclutador por oferta

Arquitectura

JobFlow GenAI Agent: Collect (GitHub Actions, Job boards, JobSpy) → Store (SQLite, Status) → Score (Match score, Top matches) → LLM apply pack (Tailored CV, Cover letter, Recruiter note)Collect
GitHub Actionsruns every day
Job boardsLinkedIn, Indeed +2
JobSpyparallel scraping
Store
SQLiteupsert, no repeats
Statusnew vs applied
Score
Match scoreCV + keywords
Top matchesmin score filter
LLM apply pack
Tailored CVGroq / OpenAI
Cover letterJinja2 template
Recruiter noteready to send