~/ankit $ ls ./projects --all

Things I've built.

Research, AI applications, and full-stack systems, each one shipped, not just started.

[01] research

NDN Anomaly Detection: Interest Flooding & Cache Pollution

Research under Prof. Babu Ram Dhawadi: unsupervised detection of Interest Flooding and Cache Pollution attacks in Named Data Networking. One Isolation Forest detector, two independent tracks: live miniNDN/NFD emulation (PIT-level features) and ns-3/ndnSIM simulation (face-level tracer counters). 100% attacker detection at ~1s latency with 0% held-out false positives across tree, dumbbell, and DFN topologies. KS hypothesis testing and feature-ablation isolated a data-quality issue, raising detection from 8.5% to 61% with no model change. Paper draft in progress.

pythonisolation-forestminindnndnsimunsupervised-ml
ongoing research
[02] pypi package

ragchatbot

Open-source, pip-installable RAG SDK (v1.1.3 on PyPI) that turns a document folder into a production-ready semantic-search chatbot API with zero ML setup. A pluggable multi-LLM layer (Gemini, OpenAI, or local Ollama) behind one interface, a ChromaDB vector store with MD5-based incremental indexing, token streaming, and a 25-test pytest suite.

pythonragchromadbclipypi
[03] deep learning / nlp

English ↔ Nepali Neural Machine Translation

Encoder-decoder Transformer built from scratch in PyTorch (Vaswani et al.): multi-head self/cross-attention, sinusoidal positional encoding, label smoothing, and a warmup LR schedule, no high-level NMT libraries. A 35M-parameter model trained on 1M sentence pairs filtered from Meta AI's 19.6M-pair NLLB corpus, scoring 13.8 BLEU / 41.2 ChrF on the standard FLORES-200 benchmark. SentencePiece BPE and length-bucketed batching cut ~80% padding overhead and epoch time ~12x.

pytorchtransformernmtnepalisentencepiece
[04] computer vision

Padel Game Analytics

Built during my AI/ML internship at Layman AI: a CV pipeline that analyses padel match video in real time: YOLOv8 player/object detection, TrackNet ball tracking, MediaPipe pose estimation, rule-based shot-type classification, and annotated video output with per-frame CSV/JSON analytics.

yolov8tracknetmediapipeopencv
[05] ai / rag

Kanun Sathi: AI Legal Assistant

RAG platform (team of 4) answering legal questions in Nepal with verifiable page-level citations to source law (Constitution, criminal/family law). PDF chunking, 768-dim Ollama embeddings, pgvector similarity search, and Gemini 2.5 Flash with citation-enforcing prompts; async ingestion via Redis/ARQ workers. React + TypeScript frontend, full stack in Docker Compose.

fastapiragpgvectorgeminireact
[06] nlp platform

Nepali NLP Platform

Web platform showcasing NLP models for the Nepali language, spoken by 30M+ people yet underrepresented in NLP. React + Flask + Hugging Face Transformers, Dockerised and cloud-deployed.

reactflaskhuggingfacedocker
[07] full-stack / mobile

Nagarik Suchana

Civic engagement app connecting citizens with local authorities: notices, grievances, governance transparency. Auth, admin dashboard, English/Nepali support, OCR via Tesseract.js, Docker-containerised services.

react-nativenode.jspostgresqldockerocr
[08] audio ml / app

Infant Cry Classification

End-to-end audio classifier for infant cries (hunger, pain, discomfort) from uploaded or recorded audio. TensorFlow LSTM/ANN on MFCC + spectral features from 1,000+ recordings, with SMOTE for class imbalance. Exported to TFLite and served by a Flask API to a React Native (Expo) app (iOS/Android/Web) with a consistent MFCC pipeline end to end.

tensorflowlstmtflitereact-nativeflask
[09] agents / mcp

MCP Multi-Server Chat

Chatbot wired to multiple Model Context Protocol servers: local math tools, a remote expense tracker, and Manim animation generation, all through a LangChain MCP client with a Streamlit UI.

mcplangchainstreamlitmanim