</ Arnav Bhilwariya />

AI/ML Engineer 

building things that learn 

I'm an AI/ML enthusiast focused on building intelligent systems, data-driven applications, and scalable software. I enjoy turning ideas into products, experimenting with machine learning models, and exploring how AI can solve real-world problems.

ML / AI

[ Python ][ Scikit-learn ][ LightGBM ][ TensorFlow ][ Keras ][ NumPy ][ Pandas ][ Matplotlib ][ Seaborn ]

Concepts

[ Machine Learning ][ Feature Engineering ][ Time Series Forecasting ][ Model Deployment ][ Signal Processing ][ Data Pipeline Design ]

Backend

[ FastAPI ][ Flask ][ Django ][ Node.js ][ REST API Design ]

Languages

[ Python ][ C++ ][ JavaScript ][ Java ][ SQL ]

Tools

[ Git ][ GitHub ][ AWS EC2 ][ Google Colab ][ Linux ]

✦ Deloitte Australia — Technology Job Simulation, 2025

✦ AlgoUniversity — Graph Theory Camp, 2025

Turning Data Into Deployable ML Systems

During my internship at AD Infocom Systems, I worked across the ML lifecycle—from preparing data and engineering features to deploying prediction services through APIs.

I helped build:

  • Data pipelines that automated dataset creation and preprocessing.
  • FastAPI services for real-time model inference.
  • Production-ready workflows that connected machine learning models with business applications.
  • Scalable backend components supporting data science and engineering teams.

CastDraw

Solo-built a Windows desktop app that overlays air-drawn hand gestures onto live video calls through a custom virtual camera. Four-thread pipeline (webcam capture, hand tracking, compositor, camera push) with crossbeam::channel::bounded(1) for stale-frame dropping. Diagnosed a video lag issue down to per-frame Tauri invoke IPC overhead and re-architected it around the Channel API with a Condvar-based wake mechanism. Built the virtual camera driver in C++ using Microsoft's VCamSample reference via MFCreateVirtualCamera, and fixed stroke-rendering artifacts by splitting the render path (One Euro filter, Bezier smoothing, canvas) from the analysis path (One Euro filter, decimation, approxPolyDP).

[ Tauri ][ Next.js ][ TypeScript ][ C++ ][ Windows COM API ][ Computer Vision ]

Goal-Directed Active Vision System

Built a goal-directed visual search agent using CLIP ViT-L/14 and Inverse Reinforcement Learning trained on the COCO-Search18 dataset. Outperformed passive baseline on target localization accuracy. Pipeline: frame sampling → CLIP feature extraction → IRL-based policy learning → fixation prediction evaluation.

[ PyTorch ][ CLIP ViT-L/14 ][ OpenCV ][ IRL ][ COCO-Search18 ]

Retail Demand Forecasting

An end-to-end machine learning system for forecasting retail demand across multiple stores and products. Built to transform historical sales data into accurate demand predictions, helping support inventory planning and business decision-making.

[ LightGBM ][ Time Series ][ Python ][ Scikit-learn ][ Pandas ]

Sparrow: AI Voice Coaching Platform

An AI-powered communication coach that analyzes speech recordings and delivers actionable feedback on clarity, pacing, and vocal delivery. Combines signal processing and machine learning to help users improve their speaking skills over time.

[ Machine Learning ][ Signal Processing ][ librosa ][ Scikit-learn ][ Python ]

merged

pytorch/torchtitan

PR #3493[ merged ]

Diagnosed a CI failure in the FSDP+TP+PP+compile flavor tracing back to torchcomms managing process groups outside the c10d registry, causing functional collectives to fail resolving PGs under torch.compile

view pr ↗

BerriAI/litellm

PR #29753[ merged ]

Fixed typo in proxy SSO role mappings (generic_role_mappoings_default_role → generic_role_mappings_default_role) in ui_sso.py

view pr ↗

stanfordnlp/dspy

PR #9908[ merged ]

Improved the quality and consistency of comments and error messages across three core modules.

view pr ↗

open prs

huggingface/transformers

PR #46353[ open ]

Added ValueError for unsupported continue_final_message in mistral-common tokenizer

view pr ↗

stanfordnlp/dspy

PR #9884[ open ]

Fixed bug in Tool.format_as_litellm_function_call where args with default values were incorrectly included in the required array of JSON Schema

view pr ↗