Fake News Detection with ML
Classification pipeline that separates genuine news from fabricated stories using TF-IDF features and ensemble classifiers, aimed at combating digital misinformation.
Data Engineer / Data Scientist / Analytics Engineer
I design scalable ETL pipelines, ML-driven data products, and analytical platforms on large-scale datasets. Currently building BlogTracker 2.0 at COSMOS Lab (Univ. of Arkansas) — a narrative intelligence platform processing 120K+ posts with sentiment, topic, and influence modeling. Previously shipped experimentation pipelines, ranking models, and self-service dashboards that saved teams 60% of manual reporting time.
I'm a data professional who works across the full stack — from designing PostgreSQL data models and PySpark ETL pipelines, to shipping production ML ranking systems with XGBoost and LightGBM, to building Tableau and Looker Studio dashboards that stakeholders actually use.
My MS in Applied Data Science (Statistics concentration) at Indiana University gave me the rigor for hypothesis testing, causal inference, and experimental design. My engineering background keeps me focused on what runs reliably in production, not just what works in a notebook.
I've worn analyst, scientist, and engineer hats across research labs and industry — and I enjoy the glue work: translating ambiguous business questions into data models, experiments, and measurable outcomes.
My stack spans data engineering, machine learning, and business intelligence — chosen to match the problem, not the hype cycle.
A full-stack platform that lets researchers explore how narratives emerge, spread, and shift sentiment across the blogosphere in near real time. I designed the data models, NDJSON ingestion pipelines, FastAPI services, and LLM-driven sentiment + topic layers powering the dashboards.
# BlogTracker 2.0 — narrative pipeline from fastapi import FastAPI from pipeline import ingest, embed, cluster app = FastAPI() async def run_pipeline(source): posts = await ingest.stream_ndjson(source) # 120K+ posts across 98 blogs vectors = embed.batch(posts, model="bge-large") topics = cluster.lda(vectors, k=25) sent = score.sentiment(posts) return { "indexed": len(posts), "topics": topics, "sentiment": sent, } # dashboard: sub-second repeat loads # orchestration: Dagster-style DAGs # storage: PostgreSQL + analytical views
A mix of ML systems, statistical analyses, and BI work — each solving a specific, well-scoped problem.
Classification pipeline that separates genuine news from fabricated stories using TF-IDF features and ensemble classifiers, aimed at combating digital misinformation.
Supervised learning model that identifies high-risk patients from clinical features — designed to support proactive interventions and personalized care.
Hypothesis-driven exploration of what actually drives a candidate's win chances beyond raw vote count — using data exploration, visualization, and statistical testing in R.
Interactive scatter-plot Tableau dashboard surfacing customer purchase patterns and segmentation signals to inform marketing strategy.
Tableau data story analyzing banking behavior segmented by geography and occupation — highlighting demographic trends that inform product design.
End-to-end exploratory analysis of the FIFA 21 player dataset using Python's data and visualization stack, surfacing trends for strategic insight.
SQL-driven deep dive into restaurant transactional data, uncovering patron preferences, behavior patterns, and actionable service improvements.
Full project archive, notebooks, and coursework — from data engineering experiments to ML mini-projects and analytical write-ups.
I'm actively looking for Data Engineer, Data Scientist, and Analytics Engineer roles. If you're hiring — or just want to chat about data systems, experimentation, or LLMs — reach out.