Data Scientist and Data Analyst with an M.S. from Boston University. I work on healthcare, quantitative finance and web-scale data — and I'd rather hand you a result that survives a follow-up question than one that looks good on a slide.
I built a readmission model. Then I checked the AUC: 0.5654.
That's barely better than a coin flip. The easy move was to report the 71% accuracy instead — which sounds respectable until you notice that predicting "nobody gets readmitted" scores higher.
So I stopped tuning the model and asked a different question: what would a hospital actually do with a prediction? That reframed everything. I built a threshold-tunable classifier a care team can dial toward high recall when a missed readmission is costly, added SHAP so clinicians can see the reasoning, and modelled the cost-benefit at each operating point.
The dataset had weak signal. The decision framework was the real deliverable. I'd rather tell you that than quote a number that falls apart in the interview.
Nine live repositories. Real datasets, stated methods, and results reported the way I'd defend them in an interview.
A fully cloud-native pipeline over 60M revision events (1,158,248 editors, 25 GB) on a 1+4 node GCP Dataproc cluster. 13 leakage-free behavioural features, selected from 40+ candidates under strict no-leakage constraints. From-scratch RDD logistic regression against an Elephas-distributed Keras DNN. Runs end to end in under two hours with no local data movement.
24 sub-period strategies across the U.S. Dollar Index and six correlated FX pairs over 15 years of daily OHLC data, decomposing each day into overnight and daytime sessions. I spent most of the project trying to break the result, because a return that large usually means the test is wrong. It held up under ANOVA and cost stress-testing.
All figures from backtesting, not live trading. Manuscript under review at Traders Magazine.
30,000 discharge records at a 7.17:1 imbalance, ten algorithms benchmarked with 5-fold stratified CV. The honest AUC came out at 0.5654, so the deliverable became the decision logic: a threshold a care team can tune toward recall, SHAP explanations clinicians can read, and cost-benefit modelling at each operating point.
A 9-table, 100K-order dataset modelled into a PostgreSQL star schema, with analytical SQL underneath (window functions, CTEs, cohort retention, RFM segmentation) and a Power BI semantic model with DAX measures on top. The finding that mattered to operations: late deliveries drag review scores from 4.29 to 2.57 stars.
Volumetric PET regression for Alzheimer's early screening. A MedicalNet ResNet-34 backbone with FiLM tracer conditioning after each stage, trained with mixed precision, AdamW and Huber loss. I report the test figure, not the friendlier validation one.
7,439 children and 353 features from the National Health Interview Survey, run through 36 models across 9 algorithms and 4 class-balancing strategies. XGBoost with downsampling came out ahead; the feature importances pointed at the factors worth acting on.
Run-to-failure turbofan sensor data. I isolated the genuinely degrading sensors with t-tests and ANOVA before modelling, then built regularised classifiers for failure detection and regression for remaining useful life.
Graph analytics on the MBTA subway network built from GTFS data, comparing Louvain, METIS and spectral clustering to find operationally meaningful communities.
13,208 observations from the TiHAN-V2X dataset analysed with ANOVA, chi-square tests and polynomial regression. Scenario configuration dominated signal quality — the opposite of the intuitive answer.
Two published, one accepted, one under review. I keep those categories separate on purpose.
Everything here appears in a project or a role on this page — nothing listed that I couldn't be questioned on.
I'm looking for full-time Data Scientist, Data Analyst and BI Analyst roles — healthcare and fintech especially. If you have a messy dataset and a decision riding on it, that's the conversation I want.