Skip to content
← Home

Projects

Software, AI, ML, and analytics — each with a case-study page

Every project opens into a structured page: the problem, the architecture, the stack, the implementation decisions, the evidence, and demo links where they exist.

Looking for the automation products instead? Five systems are documented here →

01Featured

Strongest portfolio stories


Embargoed

A FastAPI, React 19, and Electron platform where a 23-tool function-calling agent turns natural-language requests into real materials-science workflows: VASP/DFT input generation, structure tools, relaxation, MD, elastic, phonon, and NEB simulations.

  • ~26K LOC across backend and frontend with Celery/Redis jobs, JWT auth, Fernet-encrypted key storage, Docker, and CI.
  • Validated 6 ML interatomic potentials across 60 relaxations at 2.65% mean volume deviation vs DFT references.
  • Gemini 2.5 Flash achieved 100% first-tool selection and argument accuracy on a curated 39-prompt suite.
  • FastAPI
  • React 19
  • Gemini
  • Celery
  • Redis
  • Electron
  • MACE
  • MatterSim
Case study →
Embargoed

A CGCNN plus Gaussian-Process active-learning system for discovering high-band-gap 2D materials from a 3,351-crystal search space while evaluating only ~3% of candidates.

  • Found the global best material within ~3% of evaluations, with 6.3x efficiency over random search.
  • Validated across 30 seeds and a second 10K-crystal SNUMAT study with paired Wilcoxon p approx 0.002.
  • Built a ~9.2K LOC Hydra pipeline with LMDB graph caching, pool-embedding reuse, calibration metrics, and 5 test suites.
  • PyTorch
  • CGCNN
  • GPyTorch
  • BoTorch
  • Hydra
  • LMDB
  • Bayesian Optimization
Case study →
Complete & deployed

A LeetCode-style online judge where users solve C++ and Python problems in the browser, submit to a compile-once/run-all-cases judge, and receive AC, WA, TLE, RE, or CE verdicts with leaderboard tracking.

  • Full-stack judge with FastAPI, React/Vite, SQLite, Docker, GitHub Actions CI, and AWS EC2/ECR deployment.
  • Runs untrusted submissions in Docker sandboxes with networking off, 256 MB memory, 1 CPU, 64 PID caps, read-only FS, and rate limits.
  • Ships admin problem authoring, profiles, a leaderboard, Gemini AI code review, pagination, and 18 backend tests.
  • FastAPI
  • React
  • Vite
  • SQLite
  • Docker
  • AWS
  • GitHub Actions
  • Gemini
Case study →Watch demoCode
Deployed - Top 10% (GCI World 2026)

A LightGBM + CatBoost ensemble predicting whether a college athlete gets drafted into the NFL from Combine data, served as a live serverless API with SHAP explanations. Placed in the top 10% worldwide at GCI World 2026 (University of Tokyo, Matsuo Lab).

  • Reached 0.829 OOF ROC AUC with Optuna tuning (50 trials), 5-fold CV, 3-seed averaging, and an 85/15 LGBM-CatBoost blend.
  • Used leak-safe fold-internal target encoding for 236 schools and treated missing Combine drills as predictive signal.
  • Deployed as a serverless Modal /predict API with a Gradio UI, SHAP per-prediction factors, and Weights & Biases tracking.
  • LightGBM
  • CatBoost
  • Optuna
  • SHAP
  • Modal
  • Gradio
  • W&B
  • ROC AUC
Case study →Live APICode
Complete & deployed

A deployed LangGraph assistant that decides per turn whether to answer directly or reach for a tool - web search, live stock quote, calculator, or semantic retrieval over your uploaded PDF - and remembers every conversation across restarts.

  • Built as a thin Streamlit client over a serverless Modal FastAPI backend (5 bearer-authed endpoints, scales to zero).
  • LangGraph conditional tool-execution graph routes across 4 tools with token streaming; Groq Llama-3.1-8B for inference.
  • Per-document RAG in Qdrant (thread-scoped payload filter), cross-restart memory via a Neon Postgres checkpointer, LangSmith tracing.
  • LangGraph
  • Groq
  • Qdrant
  • Neon
  • Modal
  • Streamlit
  • LangSmith
  • FastAPI
Case study →Live demoCode

02More work

Additional projects


Analysis complete

A customer-intelligence project segmenting 3,900 retail shoppers by value, loyalty, and promotion dependency using Python feature engineering, SQL analysis, and Power BI reporting.

  • Engineered 10+ behavioral features and wrote ~15 SQL segmentation queries over a 3,900-customer enriched dataset.
  • Found that Champions - the top 25% value tier - drive ~49.7% of estimated annual revenue.
  • Delivered a Power BI dashboard, executive summary, and customer-retention playbook.
  • Python
  • SQL
  • Power BI
  • Pandas
  • Segmentation
  • Dashboarding
Case study →
Completed

An end-to-end churn-retention proposal that joins 100K telecom customers with usage records, predicts churn risk, and converts model scores into a value-weighted targeting strategy.

  • Selected XGBoost at ~0.70 ROC AUC after benchmarking Logistic Regression, Random Forest, and XGBoost.
  • Top risk decile showed 79.5% churn; targeting the top 20% captures ~30% of churners.
  • Projected $2.07M/yr net benefit and 2.1x ROI under stated retention-offer assumptions (modeled, not measured).
  • XGBoost
  • scikit-learn
  • Pandas
  • Matplotlib
  • Business Analytics
Case study →
Prototype

A Streamlit assistant where 6 specialized LLM agents collaborate to plan, brute-force, optimize, generate, review, and explain DSA interview solutions.

  • LangGraph pipeline with a reviewer-to-code-generator retry loop capped at 3 attempts over shared typed state.
  • Renders each reasoning stage in the UI so users can follow the problem-solving process.
  • Deployment, dependency pinning, and README polish remain planned.
  • LangGraph
  • Streamlit
  • Python
  • Agents
Case study →

A Streamlit RAG assistant that answers plain-English Indian legal questions from a corpus of legal PDFs and cites source documents and pages in the response.

  • Built a LangChain pipeline over 39 PDFs, 2,390 pages, and 9,851 chunks using bge-small embeddings.
  • Refactored the app into modular loader, embedding, vector-store, LLM, and config layers.
  • Remaining work: retrieval filtering and chat-history fixes, index persistence, and deployment.
  • LangChain
  • FAISS
  • Hugging Face
  • Streamlit
  • RAG
  • Python
Case study →
Prototype

A content-based recommender that suggests 5 similar movies from a selected title using NLP tag vectors and cosine similarity over a 4,806-film dataset.

  • Precomputed a 4,806 x 4,806 similarity matrix with a simple Streamlit UI for title selection.
  • A quick-win project once it gets a reproducible notebook, posters, README, and deployment.
  • Intentionally listed as a prototype, not a flagship project.
  • Python
  • Pandas
  • Streamlit
  • Cosine Similarity
  • NLP
Case study →