Replaced an annual reporting contract with an internally owned API, SQL, Snowflake, dbt, and Power BI delivery system.
Profile
Data work built for real operating pressure.
I move between analysis, data engineering, data science, and AI engineering to take a problem from raw systems to a useful decision.
Start a conversationThe public profile is intentionally selective. It shows a few outcomes and the technical range behind them while the full career record remains private for role-specific resumes.
Selected outcomes
Five moments that changed the work.
This is an achievement slice, not a resume. Hover, focus, or tap a moment for the short version of what changed.
Hover, focus, or tap a moment to see what changed.
Preferred stack
The full delivery path.
A project should connect product thinking, application code, data, models, quality, infrastructure, operations, and BI. This is the stack I prefer for that complete route—not a count of past usage.
Product direction
Briefs, user flows, architecture decisions, and an owned backlog before implementation starts.
Application layer
Accessible interfaces, typed contracts, production APIs, and clear client–server boundaries.
Data foundation
Transactional storage, analytical models, orchestration, event streams, and low-latency access.
Analysis and modeling
Reproducible exploration, feature engineering, model training, evaluation, and explainable outputs.
Applied AI
Grounded generation, retrieval, graph context, model access, and portable inference paths.
Quality and security
Unit, integration, browser, lint, dependency, and container checks before anything is released.
Cloud and infrastructure
Portable services, declarative infrastructure, managed data, edge delivery, and environment parity.
Release and operations
Version control, automated delivery, production hosting, traces, errors, and operating feedback.
BI and decision support
Governed metrics, semantic reporting, executive dashboards, ad-hoc analysis, and visual diagnosis.
Working style
Decide what would make me stop.
I set the baseline, operating constraint, and refusal condition before a favorable result makes those choices inconvenient.
Name the decision
Who acts, what changes, and what a wrong answer costs.
Earn the dataset
Reconcile definitions, permissions, leakage, and failure paths before tuning anything.
Set the stopping rule
Choose baselines, capacity, uncertainty, and refusal gates before reading the result.
Ship for review
Put the recommendation, explanation, and override in the same operating workflow.