B.Tech CSE (Data Science) at MGIT Hyderabad and BS in Data Science & Applications at IIT Madras, both graduating May 2027. AI/ML intern at HCLTech, Sep 2025 – Jan 2026.
I build complete systems and measure them. Every number below comes from the project's own results file or its device-verification log, and where something is unverified the repo says so.
| Project | What it is | Stack |
|---|---|---|
| AegisToolkit | 31-tool Android security toolkit, no root required. Packet capture over VpnService (162 real flows parsed live on a stock Android 15 phone), TLS chain inspector, APK/tracker analyser, hardware-Keystore vault with RFC 6238 TOTP. No accounts, ads or telemetry. |
Kotlin · Jetpack Compose · GPL-3.0 |
| Cascade | Drag-and-drop automation builder for Android in the spirit of iOS Shortcuts: 154 actions across 14 categories, 18 trigger types, nested control flow (If / Repeat / While / Try), zero third-party runtime dependencies. | Kotlin · Jetpack Compose |
| optivision-rag | Visual-token compression for vision-language document retrieval: 448 KB → 3.95 KB per page (113.5×) while keeping 86.7 % of baseline nDCG@5; peak query RAM held at 239 MB regardless of corpus size. The written review that found one of its own experiments confounded, and what replaced it, is in docs/. |
Python · PyTorch · Qdrant · Hugging Face Space |
| carpool | Ride-cost settlement for a shared commute: one React Native codebase on iOS, Android and web; each month's balances reduced to the fewest payments; Postgres row-level security tested against a real database, so the anon key in the bundle grants nothing on its own. | Expo · TypeScript · Supabase |
| multimodal-rag-colpali | OCR-free document QA: ColPali late-interaction retrieval over Qdrant, Gemini for answers, Streamlit front end. | Python · Streamlit · Qdrant |
- Personal Assistant — local-first Android assistant built on one rule: deterministic code owns facts, the model owns language. Structured questions answered from SQL in 7–12 ms with no model loaded; Qwen2.5-1.5B on-device through a vendored llama.cpp at 14.4 tok/s; a full turn cut from 48.7 s to 9.3 s after profiling; 542 unit tests.
- Tessera — a personal compute fabric across my own phone, laptop and desktop, with a planner that explains every placement decision ("Desktop — model warm, est. 6 s vs 90 s here").
- Meridian — a local-first health OS for Android. Photo food logging is built on published VLM error rates rather than asking a model for grams; 1,234 tests.
- Whetstone — two-app DSA trainer (Tauri + Rust desk, Android pocket client) over one content model; the FSRS scheduler is implemented three times and checked against shared golden vectors.
- JARVIS — fully offline Windows voice assistant: 24 tools behind 30 deterministic rules so that the 3.4 tok/s local model stays off the latency-critical path.
- Umbra — privacy browser for Android with embedded Tor and WireGuard, EasyList shields and a kill switch.
- Claims are measured, not asserted. Each project carries a
PROJECT_STATE.mdthat records observed output rather than intent, and tags every feature VERIFIED, IMPLEMENTED or PLANNED. - Deterministic code owns facts; the model owns language. Anything that is really a SQL query stays a SQL query, whatever the front end.
- Duplicated logic gets parity tests. Where a scheduler or a cost model exists in more than one language, the same golden vectors run against all of them.
- Hardware is a design input. Most of this runs on an 8 GB single-channel laptop and a mid-range phone, and the numbers above were taken there.