i've built systems that engineer guardrails around llm-driven financial decisions, trace business metrics back to their drivers, and make documents searchable and answerable.
somewhere along the way, i've worked across ai, machine learning, genai, computer vision and data.
i like interesting problems, going down rabbit holes, and figuring out how to turn an idea into something that actually works.
sometimes that means building the obvious solution.
sometimes it means wondering if there's a completely different way to do it.
either way, i'm usually building something.
try them live: DocEngine · Wordle Solver · DesiMacros · ClassFind
a pre-authorization decision layer for outbound payments combines deterministic policy rules with an LLM semantic layer, with a focus on authorization provenance, fail-safe handling, auditability, and adversarial testing. every one of the 15 mutations of its stated invariants is caught by the suite, so the rules cannot be quietly weakened
root-cause analytics for sales and supply operations traces metric movements to the segments behind them, separates performance changes from mix effects, estimates business impact, and produces evidence-backed investigation signals. the same pipeline runs unchanged on 1M+ real invoice lines from a uk retailer, which broke three things generated data never could, and the same forecast model wins on both — beating a naive baseline by 38.8% on the real data. that data now moves from s3 through a pyspark job into postgresql and redshift, with spark's output matching the pandas version on every one of the million rows, a power bi report on top, and the spark job ready for aws glue and emr
an affordability engine for financial requests decides whether to pay now, in parts, in instalments, later, or not at all. the model only extracts facts; deterministic code makes the call and guarantees the balance never drops below the user's minimum over 90 days
question answering over PDFs with page-cited sources. every retrieval choice is settled by measurement against a labelled question set with a held-out split rather than by preference, which took correct answers from 75.0% to 86.8% · live
a conversational nutrition tracker for Indian diets turns free-form meal descriptions into structured food entries, with dish values cross-checked against two published references. median calorie error cut from 50.0% to 14.8%, and a food the databases do not know is now estimated and labelled rather than silently counted as zero · live
a campus lost-and-found board where students report what they lost or found, search, and claim items, with each lost report scored against found ones and the reasons for every match shown. flask and sqlalchemy on elastic beanstalk, postgres on rds, and images in s3 behind presigned urls. reworking the matching took a 600-by-600 comparison from 31.3s to 19.1s with identical results · live
a ConvNeXt-Tiny food classifier fine-tuned on Food-101, served through FastAPI and packaged with Docker. changing the backbone and the training recipe took top-1 accuracy from 82.2% to 91.9% on the official test split
constraint satisfaction against information theory on the same board, benchmarked head to head on all 2,315 official answers. information gain loses 5 games where constraint search loses 22, and pays for it with 13x the time per game · live
languages and data Python · SQL · Pandas · NumPy · PySpark · PostgreSQL · SQLite · Power BI
machine learning PyTorch · timm · Scikit-learn · Hugging Face Transformers · sentence-transformers · FAISS · Computer Vision
llm systems OpenAI · Groq · RAG · evaluation and benchmarking
cloud AWS (S3 · Redshift · RDS · Elastic Beanstalk · Glue · EMR)
serving and ops FastAPI · Flask · SQLAlchemy · Streamlit · Docker · Git · GitHub Actions · pytest
LinkedIn · HackerRank · Email

