SAN DIEGOSD --:-- MIAMI --:--
Senior BI Analyst · Applied AI

Analytics that keeps working after I walk away.

Production GenAI and the dimensional models underneath it, built at 7,000-location restaurant scale and in regulated consumer finance.

verification ledger
{"claim": "ships production AI", "verdict": "verified", "receipts": 3}

Every number below carries its receipt.

reporting_scope
7,000+1locations served by the analytics portfolio I own
fees_avoided
$400K/yr2eliminated by one ML model, impact tracked post-launch
mttr_reduction
40%3faster response to data-integrity incidents
listings_live
1,000+4automation agents published on the Apify marketplace
how these numbers are measured
  1. 1. Franchise + corporate reporting scope of a 12-product analytics portfolio at a national restaurant enterprise, 2025–present.
  2. 2. Insufficient-funds fees avoided by an at-risk-account ML model in FDCPA/CFPB-regulated consumer finance; dollar impact tracked for 12 months post-launch.
  3. 3. Time-to-response on data-integrity alerts, before vs. after automated anomaly detection with owner routing; self-measured across the incident log.
  4. 4. 1,014 public actors across six Apify storefronts at last count (Aug 2026), revenue continuous since early 2026; every storefront is linked below, judge for yourself.

Selected work

Three systems, three kinds of proof: commercial, production, and open.

Commercial · Live

Paid AI agents on the Apify marketplace

I design, build, and operate 1,000+ published automation agents sold as paid products: input UIs, API endpoints, pricing, and maintenance all owned end to end. Real paying users, real uptime obligations, revenue continuous for 6+ months. Python, built extensively with Claude Code, version-controlled in Git.

A marketplace with paying customers is the receipt. Anyone can claim they build AI agents; customers who pay twice are harder to fake.

receipts · 1,014 live listings storefront 1 ↗ 2 ↗ 3 ↗ 4 ↗ 5 ↗ 6 ↗
Production · Architecture

Natural-language data agent over a semantic layer

For a 7,000-location restaurant enterprise, I shipped a production GenAI product (LLM sentiment analysis + ML classification over customer feedback) and deployed a self-serve natural-language data agent: operators ask questions in plain English and get answers grounded in a governed semantic model: business concepts translated into structures an LLM can reason over.

raw sourcesfeedback · ops · POS datamodelsdefined grain semantic layergoverned metric defs= the grounding LLM agentanswers over metrics operatorplain-EnglishQ&A raw sourcesfeedback · ops · POS data modelsdefined grain semantic layerthe grounding LLM agentanswers over metrics operator Q&A
fig 1 · the agent never free-styles over raw tables: it reasons over the same governed metric definitions the executive dashboards use, so an answer by prompt reconciles with the reported KPI.
receipts architecture, fig 1 above stack detail ↓
Open · Case study

LLM-as-judge orchestration pipeline

Personal data infrastructure: a pipeline that scrapes 30 heterogeneous sources (Workday, Phenom, Oracle Cloud, Greenhouse, custom APIs), scores every record with an LLM against a versioned rubric behind a validated, typed verdict contract. Qualified results route straight to alerts: signal separated from noise before a human ever looks. Under the hood: idempotent state, atomic writes, retry caps with loud give-ups, prompt-injection fencing, and an append-only judgment ledger stamped with the rubric version that produced each verdict: the feedback loop that lets the rubric improve against real outcomes.

scrape wall-time, 24 source lanes (same-day A/B, n=1,404 jobs) sequential 269.9s parallel 42.8s · 6.3× 0s 135s 270s identical coverage both passes (1,404 vs 1,406 ids; drift = live boards changing between runs)
  • Parallel orchestration: 24 independent lanes on a thread pool, rate-limit-aware per host; the same topology also expressed as an Airflow DAG with dynamic task mapping and pooled concurrency
  • LLM rigor: fenced untrusted input (injection-tested), envelope validation, verdict normalization, double-sampling on positive verdicts
  • Reliability: a record can be delayed, never silently lost
receipts source code ↗ benchmark, chart above

The stack

What the projects run on.

data modeling & sql

Data models with defined grain and data contracts; window-function and CTE-heavy transformations; semantic and metrics layers (Lightdash, Microsoft Fabric); source-of-truth documentation teams actually align on.

applied ai

Production GenAI (LLM + ML), custom agents on the Anthropic API, prompt engineering, natural-language data interfaces, AI-orchestrated automation. Certified: Microsoft Fabric Analytics Engineer, DP-600.

analytics that decides

Operational and workforce KPIs against formal OKRs, demand forecasting on 5M+ row datasets, anomaly detection with root-cause routing, marketplace and e-commerce analytics, ML with tracked dollar impact, executive storytelling in Tableau and Power BI.

Peter at a Yosemite overlook with binoculars
off-hours: surf, national parks, and building things that probably didn't need to exist but do now.

About

Peter Skotte

I'm a Senior Business Intelligence Analyst who ended up somewhere more interesting: the seam between analytics and applied AI. Seven years across restaurant operations at national scale, regulated consumer finance, distribution, and e-commerce taught me the same lesson four ways: an analysis only matters if it changes a decision, and a system only matters if it survives contact with real users.

So I build for survival: metrics with governed definitions, pipelines that heal themselves, and AI that answers from models rather than memory. On nights and weekends I ship commercial automation agents, which keeps me honest. Paying customers are the strictest code review there is.

Contact

Open to senior analytics and applied-AI IC roles.