About
From raw data to deployed prediction APIs — every system built, tested, and live.
Achievement-driven ML professional with a PG Diploma in Data Science from IIIT-Bangalore (3.7/4). I build complete systems — not just notebooks — covering data ingestion, EDA, feature engineering, model training, evaluation, and deployment via REST APIs.
My work spans classical ML, deep learning (CNN/RNN/Transfer Learning), NLP, computer vision, and Generative AI (RAG, Agents, LangChain). Every project here is live and interactive.
Core Competencies
Key Metrics
Drag to rotate · each face shows a
live project stat
Education
Skills
End-to-end capabilities — from raw data through classical ML, deep learning, NLP, computer vision, and Generative AI to production deployment.
Projects
All projects are hosted on Render free tier — first load may take ~15s to spin up.
ML Capabilities
Deduplicate rows, impute missing values with 8+ numeric strategies (Mean, Median, KNN, MICE) and 4 categorical strategies, remove outliers via IQR / Z-score / Winsorize, fix skewness, and apply Yeo-Johnson power transform. Download a clean CSV or hand off directly to AutoML.
log1p, sqrt, Yeo-Johnson, percentile rank, outlier flag, and missing flag per numeric column. Plus binning, polynomial pairs, interaction terms, date extraction, and cyclical encoding (sin / cos). All transforms are fit on training data only — no leakage.
Upload a new production batch CSV and compare it against the training baseline. PSI, KS test, and distribution histograms for numeric columns; category frequency shifts for categoricals. Trend sparkline tracks drift score across multiple batches.
Track every page view and tool interaction on this portfolio in real time. Events flow from the browser into a PostgreSQL database via a FastAPI ingestion API, then Supabase Realtime pushes each row to the dashboard the moment it lands — no polling, no refresh.
Ask questions in plain English and get executable SQL instantly. The agent generates SQL, runs it against a real database, explains results, and retries automatically on errors. Supports Chinook demo DB, SQLite upload, and PostgreSQL.
Upload invoices, contracts, resumes, medical reports, bank statements, and more. AI classifies the document type, extracts structured fields with confidence scores, and highlights each field's location with bounding box overlays.
Upload a contract, then one or more invoices. Flags amounts, dates, and terms that disagree across documents, each with the two source passages and an explanation — never comparing invoices against each other, since they're expected to differ.
Show your face to your camera (or upload a photo) and it checks whether it's a genuinely live face or a spoofed presentation — a printed photo, a phone/screen replay. Same category of check that gates face-unlock and identity-verification systems. Pure local ONNX inference, no API key or budget cost.
Upload 2-30 timelapse photos for a growth-over-time curve, or a single photo with multiple plants to compare their current size to each other — an HSV green-hue threshold measures foliage pixel area, no ML model or API call needed. Auto-detects and separates multiple plants in one shot into independent measurements, and auto-detects a before/after collage photo to split and chart as growth over time instead. Also reports an RGB vegetation index (a stress/yellowing signal independent of size) and a leaf count per plant. Catches a stress or decline trend in the numbers before it's visible to the eye.
Upload a batch of photos and describe what you're looking for in plain language — 'the red backpack', 'a dog on a beach' — and every photo is ranked by how well it matches. CLIP embeds both the images and the text query into the same space, no manual tagging or captioning needed. Stateless: nothing is stored between searches.
Turn on your camera and your hand movements drive a real-time generative particle visual — a creative-coding bridge between pose tracking and VJ-style motion graphics. Hand landmarks are tracked entirely in your browser via MediaPipe (no video frame ever leaves your device). Optionally turn on your microphone too: particle size and density react to live volume — whatever the mic hears, not beat or genre detection. The only tool on this site with no backend call at all.
Upload your workout video and a reference video of the same movement, and this tracks body pose in both with MediaPipe's PoseLandmarker, computing 6 real joint angles (elbows, knees, hips) from 3D world-landmark coordinates — the geometrically correct choice for angle math, matching published MediaPipe joint-angle validation studies. Both clips are aligned to a shared 0-100% movement-phase axis so a 4-second clip is directly comparable to a 6-second one, then ranked by RMS angle deviation with the single biggest-gap moment called out per joint. Assumes one person per video and one full rep start-to-finish — a training-form aid, not a clinical assessment. Runs entirely in the browser; no video ever leaves the device.
Upload a photo or screenshot containing a QR code and its decoded destination URL is checked for structural phishing/malicious-link signals — IP-literal hosts, punycode domains, '@' auth-trick URLs, URL shorteners, suspicious TLDs, and typosquats of well-known brand domains via edit-distance. Pure local heuristics, no ML model or API call, and the decoded link is never actually visited — only its text is analyzed. Reports red flags for a human to weigh, not a binary safe/malicious verdict.
Upload a photo and craft an adversarial attack against a pretrained classifier — subtle FGSM/PGD perturbations, a visible adversarial patch, or a black-box query-only attack with zero gradient access — untargeted or aimed at a specific ImageNet label. Try two inference-time defenses (JPEG recompression, randomized smoothing), an optional transferability check against a second model, and a third section demonstrating adversarial TRAINING as a defense on a small digit classifier — attacking a standard-trained vs. an adversarially-trained model with the same PGD attack and showing the real, measured robustness gap (98.6%→1.1% vs. 97.0%→84.3% accuracy under attack). Reports honestly whether defenses actually recovered the correct label, and whether a targeted black-box attack even converges within a request-sized query budget (often it doesn't) — real limitations, not a broken demo.
Upload a CAPTCHA-style image and a vision-language model attempts to read it — modern VLMs solve plain text CAPTCHAs far more easily than classic OCR ever could. A single intensity slider then stacks three classic, model-agnostic hardening techniques (pixel noise, an occlusion wave, contrast/color reduction) and the model tries again, shown side by side. Deliberately non-gradient (no FGSM/PGD): the model here is a black-box hosted API, the same real constraint a CAPTCHA vendor faces against an unknown solver, so this reproduces genuine hardening technique rather than an attack tailored to one model. Only ever reads an image you upload — never contacts or automates a live CAPTCHA challenge on a real website.
Upload any file and it's converted into the same grayscale "byte-plot" image real malware-visualization research uses, alongside a sliding-window Shannon-entropy heatmap — sustained near-random entropy is a genuine, established sign of packed or encrypted content, the actual technique tools like PEiD/Detect It Easy rely on. If the file parses as a Windows executable, a hand-rolled PE header read also checks a classic packer tell: whether the entry point sits in the file's last section. Deliberately not a malware-family classifier — no viable pretrained model or accessible labeled dataset exists for that without gambling on an unreliable data source, so this ships the real technique the field falls back on for triage instead. Never executes the uploaded file; pure static byte analysis, capped at 5MB.
Upload a target photo and a small gallery of other photos, and this runs the same face-embedding similarity search that Clearview-style re-identification systems rely on — ranking the gallery by how closely each face matches the target, with a real measured score, not a simulated one. A "Protect & re-test" step then cloaks the target using the Face Cloak tool's own technique and re-runs the identical search to show whether the match breaks. Explicitly does not search the internet or any real database — only compares photos supplied in the one request.
Upload a short video of hands typing and this steps through it frame-by-frame with MediaPipe hand tracking, running a real tap-detection pass on fingertip motion to recover a keystroke-event timeline — timestamps, which hand, and likely word boundaries from timing gaps — the same hand-tracking side channel published attacks (USENIX Security '23 video-based keystroke inference) rely on. Deliberately does not attempt character-level text recovery: the real attack's language-model decoding stage needs per-target trained models this demo doesn't have, so it stops at the honest, measurable signal — WHEN keys were pressed, never WHAT was typed. Runs entirely in the browser; no video ever leaves the device.
Upload a personal photo and add an imperceptible adversarial perturbation to the face region that pushes its face-embedding away from where a face-recognition model naturally places it — a simplified, honest version of the real Fawkes privacy technique used to counter unauthorized facial-recognition scrapers (e.g. Clearview AI). Reports the real measured cosine-similarity drop and discloses openly that this protects only the specific cloaked photo, not copies already scraped elsewhere.
Upload an image and add an imperceptible adversarial perturbation across the whole image that pushes its CLIP embedding away from where it naturally sits — a simplified, honest version of the real Glaze/Nightshade artist-protection technique used to counter unauthorized AI style-mimicry. Reports the real measured cosine-similarity drop, calibrated against a measured unrelated-image baseline, and discloses openly that this protects only the specific cloaked image, not copies already scraped elsewhere.
ML Pipeline
A complete end-to-end ML pipeline — click any stage to explore what happens there.
Click any stage to expand · stages run sequentially in a real pipeline
AI News
Latest research papers from arXiv and industry news — updated hourly.
Experience
A journey from financial services to full-stack ML engineering.
Current employer.
Technical support and ML project development. Built and deployed ML systems end-to-end.
Business development, client management, and analytics-driven sales strategy.
Technical operations and client support in a software environment.
Business development and distribution operations.
Financial services operations, process execution, and data management in a global enterprise environment.
Contact
Open to ML engineering roles, freelance projects, and collaborations. Drop a message or reach out directly.