analytics
Portafolio de Iván
Available for hire

Turning data into a clear vision

I build and run the systems, not just the reports. The ones a business uses every day come first here; the analytics fundamentals behind the judgement come last.

Lead portfolio work

Production systems, data and BI work, my own products, and the analytics fundamentals behind the judgement in everything else.

Production systems

Software a business uses every day

Live systems with real clients working on top of them: multichannel inventory, warehouse operations, sales agents, quoting, B2B platforms and client sites.

E-COMMERCE

Zero overselling: a multichannel operations hub

Three inventories that never talked to each other, unified into a central ledger that decides what stock each sales channel shows — and never oversells.

inventory_2
Inventory

796 listings audited and an append-only ledger with 1,742 movements.

Node + TypeScriptPostgreSQLMercado Libre API
OFFLINE PWA

The warehouse that tells the truth

An offline-first PWA with event sourcing to verify shipments, count stock by location, and replay the full history whenever the numbers disagree.

history
Event sourcing

A replay of 3,536 real events proved the correction was right.

React + VitePWAScanner + NFC
LOCAL AI

WhatsApp sales agents running 100% local AI

A WhatsApp sales and support engine powered by local models: not a single customer conversation leaves for an external AI service.

lock
Privacy

Chat, embeddings and voice transcription, all inside my own server.

OllamapgvectorWhatsApp Cloud API
TRAVEL

A public quote link that cannot leak margins

The customer opens a link, picks occupancy and add-ons, and sees the total update live. What they never see — cost, margin, supplier — is protected by a guard that runs on every response.

shield_lock
Leak-proof

A function inspects every public response and throws if it finds a margin.

Fastify + DrizzleReact 19PostgreSQL
B2B

A multi-tenant B2B platform for travel experiences

Approved agencies quote, book and pay for travel experiences. Tenant isolation lives in the database, not in application code.

admin_panel_settings
Multi-tenant

Row Level Security enabled in PostgreSQL and a test that blocks supplier leaks.

Next.js 15PostgreSQL + RLSPlaywright
PWA

JoGym: a gym in a PWA

Members, payments, QR check-in, overdue tracking and WhatsApp reminders in an installable app the owner runs without technical help.

qr_code_scanner
Daily operations

v1.5.0 in production, with the running version verifiable from the service itself.

React + ViteExpress + PostgreSQLWeb Push
TRAVEL

An ERP for a destination management company

A multi-tenant management system for an inbound travel agency. An automated test cycle found routes reachable by direct URL; today they return 404 by role.

gpp_maybe
Security

The finding did not come from an external audit: it came from the project's own E2E suite.

Multi-tenantE2ESaaS
OPERATIONS

WhatsApp Attendance Control Platform

Attendance operations system combining WhatsApp capture, a NestJS backend, a React/Capacitor app, and audit-ready traceability for supervisors.

trending_down
Capability

Unifies mobile operations, back office, and notifications inside a single auditable flow.

WhatsAppNestJSReact + CapacitorApps Script
SHOP

Ta'Pikín: a self-managed shop and panel

An online shop and an installable admin panel for a hot sauce producer, with push notifications and a handover designed so the owner does not depend on me.

storefront
Handover

Delivered with a video tutorial and a ready-to-send WhatsApp message.

PWAPushShop
CAFÉ

Soul Café OKC: a self-managed bilingual site

A two-language site for a café in Oklahoma City, deliberately minimal: two dependencies, a backup on every save, and a switch instead of a delete button.

toggle_on
Judgement

«Flip the switch, don't delete the product»: whatever disappears can come back.

BilingualSelf-managedMinimal
AUTOMATION

A toll receipt invoicing bot

Automates invoicing of motorway toll receipts with optical reading and browser automation, and stops when the portal asks for a human.

front_hand
Boundary

It does not solve CAPTCHAs or bypass protections: it flags the batch as «needs review».

OCRPlaywrighte-invoicing

Data & BI

Analytics, dashboards and diagnosis

Data work proper: analytical models over real history, accounting migrations with row-level traceability, local document analysis and measured audits.

BI

BI over three years of historical sales

A star schema built on a retailer's historical exports: 56,739 transactions reconstructed, and an honest report on what the data cannot answer.

query_stats
Honesty

The pipeline reports that only 1.97% of sales value has an identified customer.

SQLiteStar schemaData quality
AUDIT

The panel that lies: auditing a live site

An admin panel said «published» while saving to the browser. Around it, 858 MB of PDFs and a homepage that took minutes to load over mobile data.

speed
Measured diagnosis

Headless Chrome at 4 widths; recommended phase 1: one day of work.

PerformanceDiagnosisConsulting
MIGRATION

From a spreadsheet workbook to a single ledger

Migrating 28 months of spreadsheets into a single accounting ledger, with every record traceable back to its source sheet and row.

event_busy
Data quality

An impossible date is not forced into a valid one: it is flagged for human review.

MigrationTraceabilityAccounting
LOCAL AI

A bank statement analyser running local AI

Processes bank statement PDFs entirely on the machine and computes an operational financial health index. No data leaves.

lock
Privacy

A bank statement is about as private as data gets; here it does not travel.

OllamaPDFFinance
No. 1

Oasis Live '25

Interactive Streamlit dashboard to explore Oasis' reunion tour by city, date, estimated attendance, estimated gross, and setlist variants.

graphic_eq
Tour pulse

41 concerts, 17 cities, and 11 countries condensed into a visual experience backed by public band images.

StreamlitPythonDashboardMusic analytics

My own products

Products I build and run myself

What does not come from a client brief: my own products, open demos and cultural pieces I keep running myself, infrastructure and maintenance included.

LIVE DEMO

SIGO: an operations suite for convention bureaus

Thirteen phases covering a convention bureau's full cycle: from prospect to bid, from won event to QR-based evaluation and the executive dashboard.

open_in_new
Try it live

Public live demo, 67 green tests and 23 design documents.

Laravel 13React + InertiaPostgreSQL 18
PRODUCT

FLUNEX.cloud · EdTech Product

Digital product focused on speaking-first learning, operational automation, and product experience for English education.

verified
Product

Shows product thinking, operating model, and iteration capability.

EdTechProductAutomation
AI PRODUCT

AI Data Analyst Platform

Conversational analytics product that turns business questions into safe SQL, charts, insights, and downloadable reports.

neurology
Product

Connects natural language, analysis, and visualization in a single self-service workflow.

PythonSQLFastAPIStreamlit
CULTURAL APP

Zoque Murals of Copainalá

Mobile-first cultural app connecting mural, map, QR scanning, and audio to activate Copainalá's public art through a published PWA.

travel_explore
Experience

Turns a physical cultural route into a navigable digital product ready for public use and promotion.

Next.jsPWALeafletQR
PUBLIC SECTOR

SIT-Chiapas: an MVP built on a decree

A tourism information system whose scope comes from a law: every article of the decree maps to a module and to the evidence that satisfies it.

gavel
Legal traceability

An article → module → evidence matrix, so the scope holds up to whoever asks.

MVPRegulationReproducible demo

Analytics fundamentals

Analytics fundamentals

Training cases built on public or practice data: churn, applied SQL, experimentation and visualisation. They are not client projects and do not pretend to be; they hold up the analytical judgement behind the rest.

FLAGSHIP

Storytelling & Integration

Flagship portfolio case that turns a large trending-video dataset into a clear visual narrative across category, region, and time.

psychology
Key signal

339,990 records, 18 categories, and 5 regions condensed into a public dashboard ready for stakeholders.

SQLPythonLooker StudioDashboard
TELECOM

Telecom Churn Drivers & Retention Signals

Analytical case focused on identifying cancellation drivers and surfacing retention and efficiency opportunities in telecom.

local_shipping
Retention

Prioritizes churn drivers and high-risk segments.

PandasCohortsTableau
SQL

SQL for Unit Economics & Retention

Advanced SQL case answering acquisition, monetization, and retention questions with reproducible, auditable queries.

group_add
Business

ARPU, LTV, and churn computed with CTEs, joins, and window functions.

SQLCTEWindow Functions
EXPERIMENTS

Conversion Experiments & Statistical Decisions

Hypothesis validation across digital flows using Welch's t-test and assumption checks to support conversion decisions.

schedule
Decision

Compares A/B variants and separates statistical signal from noise.

PythonStatisticsA/B Testing
APP

Vehicle Market Explorer in Streamlit

Lightweight app for exploring vehicle price, mileage, and condition with live filters and interactive charts.

notifications_active
Interface

Turns exploratory analysis into a browsable tool for non-technical users.

StreamlitPlotlyPandas