I turn messy public and financial data into production-grade pipelines, validated models and decision tools, and I test every answer against its source, not just the code against itself. M.S. in Information Science (Data Science) from Pace University, with 3+ years in technical operations and project coordination before that.
HeatWatch NYC · Do energy-inefficient buildings leave tenants cold?
End-to-end incremental ELT joining 650K+ NYC 311 heat complaints to Local Law 84 energy benchmarking, refreshed daily.
- Ingestion: AWS Lambda with watermark-based incremental extraction, row-count reconciliation and retry/backoff, so a run can never write a partial load; Parquet in S3, loaded into Snowflake through a storage integration
- Modeling: dbt staging → intermediate → marts with unit tests, data tests and source-freshness checks; point-in-time join of each complaint to the energy score that existed when it was filed
- Ops: GitHub Actions CI/CD rebuilds and tests every model, then publishes a public dashboard; failing tests block the deploy
- Finding: a Simpson's paradox. Efficiency barely matters pooled, but tracks complaints within smaller and prewar buildings
ONRR Revenue Data Migration · $297.5B migrated, $0.00 variance
Federal oil, gas and mineral revenue (2003–present) migrated from CSV into a Delta Lake star schema using a medallion architecture (bronze/silver/gold) with row-level validation and idempotent loads. 413,554 rows and 10/10 reconciliation checks, tied out to published fiscal-year totals across 199 groups in under 3 minutes. AI/BI dashboard with Genie natural-language querying.
AML Mule-Account Detection · validated like a bank's model risk team (SR 11-7)
LightGBM vs a tuned rules baseline on IBM synthetic transactions: 10× the rules' recall at 500 alerts. Frozen holdout, probability calibration, PSI drift monitoring, stress testing and leakage tests.
Lexorion · contract risk AI that knows when to ask an LLM
A recall-first ML cascade trained on CUAD screens contract clauses and routes only uncertain flags to an LLM for triage: 90% of risky clauses caught with just 4.4% of decisions sent to the paid tier. FastAPI inference service and React front end on free-tier cloud.
| Project | What it does | Highlights | Links |
|---|---|---|---|
| KeyClause | Which housing laws apply to 500 buildings in CA, NJ and MA | LLM extraction to structured JSON + a deterministic rules engine; 54 validated rules, 95.6% citation coverage | Demo |
| Healthcare Billing Intelligence | Anomaly detection on 9M+ CMS Medicare billing records | SQL analytics + natural-language text-to-SQL interface | Demo |
| Earnings Sentiment Engine | Does the language in SEC filings move stock prices? | SEC EDGAR extraction, FinBERT sentiment, price correlation across 20 companies | Demo |
| Customer Analytics Dashboards | Call-centre performance, churn risk, workforce diversity | Power BI across 3 business domains | Repo |
| Area | Tools |
|---|---|
| Languages | |
| Data engineering | |
| Cloud & DevOps | |
| ML & AI | |
| LLM apps | |
| Apps & BI | |
| Databases |
// Reconcile to the source, not just the run
// Test models like a skeptic would
// Let code decide what code can decide
// Write down why, not just what


