All work
03 / BI and data analyst

I turn messy records into reports people can act on, with every number reconciled back to SQL before it ships.

Scroll
06end-to-end BI builds
0.840best model ROC AUC, stockouts
63of 63 hospital report numbers matched to SQL
How I work

  1. 01

    Every number reconciles

    No report ships until its headline numbers match an independent SQL calculation. Power BI and Tableau are checked against DuckDB, value for value.

  2. 02

    Break it on purpose

    A check only counts if it has been seen to fail. Each one is proven by corrupting the data deliberately and watching the build stop.

  3. 03

    Fair by design

    Sensitive attributes like gender, age and region never become model features, and the fairness table shows what the model does anyway.

  4. 04

    Reports as code

    Dashboards are generated from code, not clicked together: reviewable, versioned, and rebuilt identically every time.

06 pieces
Raw records60 months · synthetic
DuckDB model
Power BIgenerated from code
finance bi
Public repo · Oct 2026
33.2%savings rate found
checks pass15/15
months of data60
report pages4

finance bi

Five years of personal finance, four questions, one honest report.

01
hr analytics
Live on Tableau · Oct 2026
0.658AUC, flight risk
20/20values match DuckDB
15checks gate export
97.7%pay ratio, like for like
People dataFlight-risk modelTableau

hr analytics

Who leaves, why, and who's next.

02
hospital operations
Public repo · Oct 2026
ER visits168K · synthetic
Readmission modellogistic regression vs LACE
Power BINow · Flow · Readmissions
0.786AUC, readmissions
0.749LACE baseline
18/18checks pass
3report pages

hospital operations

Where a hospital's beds, waits and readmissions go wrong, hour by hour.

03
supply chain
Live on Tableau · Oct 2026
Network4 DCs · 40 suppliers · 200 SKUs
Stockout model
Tableaumap as navigation · live
0.840AUC vs rule 0.699
80.2%OTIF, order lines
59.0%Kolkata on time in full
15/15checks pass

supply chain

Which shelves run empty next, and which supplier is behind it.

04
Leak monitor6 detectors · dbt star schema
saas revenue leak
Public repo · Oct 2026
Simulated SaaSPower BI
1,107 accounts · 5 sealed leaks · 4 pages · generated from code
5/5planted leaks found
19/20across four worlds
0.73churn AUC, out of time
69/69numbers match DuckDB

saas revenue leak

Five revenue leaks, planted and sealed away. The analytics had to find them blind.

05
india air quality
Public repo · Oct 2026
OpenAQ archive107 stations · hourly · real
DuckDB warehouse23 checks · nothing filled in
Power BI + Excel5-page question rail
107stations, real data
27months gap, left blank
23/23checks pass
423/423numbers match SQL

india air quality

How bad is the air in six Indian cities, and can the data be trusted?

06