AI/ML Developer · CSE Student · Hackathon Finalist
Building ML systems, web apps, and real-world solutions.
Can you beat my reaction time?
Start — F1 testPROJECTS
An AI-driven cross-border financial intelligence platform combining Retrieval-Augmented Generation with real-time streaming. Built to process multilingual financial documents from 14 countries with near-instant retrieval — eliminating the minutes-long indexing delay that made similar tools unusable in practice.
A community-powered safety intelligence platform that converts anonymous incident reports into real-time risk heatmaps. Instead of reacting to emergencies, it helps users navigate proactively — visualising danger zones by time of day before they travel. Built with a full geospatial pipeline: report ingestion, spatial aggregation, risk scoring, and automated data expiry to keep safety data relevant.
A machine learning system that generates optimal routes by learning from historical movement patterns, terrain data, and real-time constraints. Rather than relying purely on graph-based shortest-path algorithms, Pathfinder trains on past routing decisions to predict routes that reflect real human behaviour — accounting for factors that A* and Dijkstra ignore.
A Formula-1 inspired reaction tester that measures your response time to a race-start light sequence with millisecond precision. Built entirely in vanilla JS using the Performance Timing API — no frameworks, no libraries. Responsive across devices with instant feedback and scoring against real F1 driver benchmarks.
Recognition
Not just building for portfolio — competing, shipping, and ranking against thousands of engineers across India.
Code
Full-stack ML pipelines — training, serving, and monitoring. Everything from the data layer to the API, written and deployed by one person.
from fastapi import FastAPI, UploadFile
from pipeline import embed_document, query_rag
app = FastAPI()
@app.post("/ingest")
async def ingest(file: UploadFile):
# OCR → chunk → embed → store
chunks = await embed_document(file)
return {"indexed": len(chunks)}
@app.get("/ask")
async def ask(q: str):
return await query_rag(q)
Skills