Skip to content
Nikunj Agrawal

IndexExperience

05

Experience

05

A reverse-chronological tour

  • May 2025 — Aug 2025

    Provost's Office

    University of Pennsylvania

    ML Research Engineer

    • Built responsive React dashboards and versioned TypeScript REST APIs with Zod validation, rate limiting, and OpenAPI documentation, surfacing ML enrollment insights across Penn's 12 academic schools for 3 downstream teams.
    • Fine-tuned a BERT-based classifier on 50K labeled enrollment records with HuggingFace Transformers, reaching 84% held-out accuracy with cross-validation and hyperparameter tuning.
    • Stood up an MLflow pipeline with a model registry, retraining triggers, and a versioned serving API; rewrote batch inference with asyncio concurrency for a 6x throughput gain at identical accuracy.
    • Added SHAP feature importance, early stopping, and calibrated probability outputs to every deployed model, and set up GitHub Actions CI enforcing type-safety, lint, and test coverage on every pull request.
    PythonPyTorchHuggingFaceMLflowReactTypeScriptasyncio
  • Jan 2023 — Feb 2024

    Technology and government consulting

    GDi Partners

    Data & ML Consultant

    • Built a full XGBoost pipeline with feature engineering, k-fold cross-validation, SHAP explainability, and calibrated REST API serving for a $400M Gates Foundation education program.
    • Model-driven interventions informed planning across 900+ government schools, improving learning outcomes by 28% and reducing dropout by 15%.
    • Handled severe class imbalance in rare-event prediction with BorderlineSMOTE and threshold tuning across heterogeneous state datasets, and designed asyncio-parallelised feature pipelines over 50+ sources with schema validation and dead-letter queues.
    • Built a FastAPI backend with MERN and AngularJS frontend modules for a civic-tech grievance platform with role-based access control, serving 150K+ users.
    • Shipped a reusable TypeScript component library with Storybook documentation, cutting new dashboard build time for the team by 60%.
    PythonXGBoostSHAPFastAPITypeScriptReactPostgreSQL
  • Dec 2021 — Jan 2023

    HR SaaS unicorn

    Darwinbox

    AI Product Engineer, Founder's Office

    • Architected a production RAG support chatbot over enterprise knowledge bases with a GraphQL data layer, LangChain backend, and FAISS retrieval, cutting average resolution time by 40% and lifting adoption 25%.
    • Fine-tuned a DistilBERT intent classifier on 200K proprietary HR queries with custom tokenization and domain vocabulary expansion, improving intent accuracy 32% over the base model across 10K+ daily queries at sub-2s p99.
    • Built an LLM evaluation framework with RAGAS, BERTScore, A/B harnesses, and regression suites, then shipped the inference endpoints it gated.
    • Built an ML monitoring stack with drift detection, latency alerting, and weekly accuracy regression reports, plus a WebSocket event streaming layer with TypeScript observability dashboards tracking usage and SLA metrics across 50+ tenants.
    PythonLangChainFAISSDistilBERTRAGASGraphQLReact
  • Jun 2021 — Dec 2021

    Credit fund, London

    Astra Asset Management UK

    Technical Product Analyst

    • Designed a Bayesian multi-objective optimization pipeline in PyTorch and BoTorch using Gaussian Process surrogates and custom acquisition functions for portfolio risk parameter calibration across correlated asset classes.
    • Built React and FastAPI tooling exposing optimization results through interactive charts with real-time data refresh.
    • Containerized the model-serving stack with Docker and set up AWS CI/CD with lint, test, and staged deploy gates, cutting release cycles to 15 minutes, with automated retraining triggers for production refreshes.
    PythonPyTorchBoTorchFastAPIReactDockerAWS