Núcleo
The data console behind Patrick Viaja: a live map of the whole funnel that shows which steps are measured and which are blind.
- Client
- Patrick Viaja (online course creator)
- Role
- Product and data lead: architecture, ingestion and console
- Year
- 2026
- Stack
- React, Vite, d3-force, TanStack Query, Cloudflare Workers, D1, R2, KV, Cloudflare Access
Núcleo · Map

The problem
Leads, sales and content were spread across Kajabi, Meta, GA4, YouTube and Instagram. Nobody could say which channel actually brought a student, or where the tracking had gaps.
What I built
Núcleo stores every source as immutable raw data and builds a rebuildable index on top. Its first screen, the Map, draws the funnel as a graph from the outside world to the offer. Each piece is marked measured, ready, blind, paused or absent, and the blind spots are ranked by how much public audience passes through them unmeasured.
Highlights
- The Map is useful from day one: with an empty database it answers “is there a sensor here?” instead of inventing volume, and it fills in as data arrives without being redrawn.
- Raw events and daily snapshots stay immutable in R2; D1 is only an index, and a full rebuild from zero was run and checked.
- Ingests Kajabi webhooks and API, the Meta Marketing API, GA4, the YouTube Data API and Instagram. The Worker verifies the Cloudflare Access token itself instead of trusting the edge.
- Revenue, sales and contact data never leave the console. The screens here run on an empty local database.
Same client
Patrick Viaja: Trabajo Remoto Desde Cero
A Spanish-language sales page for a remote-work course, designed as a maths teacher's travel notebook.
Open the case