work

One hero project, and the trail behind it.

hero project

RefundDesk

RBAC-aware RAG for refund decisions

An assistant that answers refund-policy questions for Finance, Support, Sales, Legal and HR, where what you can retrieve depends on who you are. Access control is enforced in the database, not in the prompt: Postgres row-level security sits under pgvector, so a Support agent cannot be talked into reading a Legal memo.

  • Ingestion for PDFs, scanned PDFs (OCR), DOCX, XLSX, email, Markdown and HTML via Docling, with versioned documents, soft-deletes and a human review gate.
  • Section-level ACL markings travel with every chunk; RLS policies are forced on the app role and checked with SQL leak tests.
  • Hybrid retrieval: BM25 over tsvector plus HNSW cosine on bge-m3 embeddings, fused with Reciprocal Rank Fusion.
  • A tool-calling agent loop with guardrails and an audit trail, a FastAPI backend, a React + Vite UI, and retrieval and agent evals.
PythonFastAPIPostgrespgvectorRow-Level SecurityDoclingReactViteDocker
querying…0.94 · policy v3 §4.2
RLS filter · 4 of 11 chunks
RRF fused · bm25 + hnsw
Clearance set · support/L2

React apps

2022

SOCO — Soconnect

A small social network

Connect with friends, post, follow and react. Built while learning Redux.

ReduxReactReact Router

MHD Racquets Store

Badminton e-commerce

Catalogue, cart, wishlist and Razorpay checkout for badminton gear.

ReactRazorpayReact Router

Color Strips

Palettes from images

Drop an image, get a colour palette.

Next.jsChakra UI

MHD Video Library

Badminton training videos

Playlists, history and likes for a curated video set.

ReactTypeScriptReact Router

Quizbit

Quiz app

Netflix series and Ferrari trivia with Firebase-backed scores.

ReactTypeScriptFirebase

Vanilla JavaScript

2022, the very beginning

MHD UI

A beginner-friendly CSS library

Lightweight component CSS for building web apps faster.

HTML5CSS3JavaScript

Is your stock performing well?

Profit / loss calculator

Tells you the gain or loss on a stock position.

HTML5CSS3JavaScript

Is Your Birthday A Palindrome?

Date formats as palindromes

Checks your birthday across date formats and finds the nearest palindrome.

HTML5CSS3JavaScript

Fun with Triangles

Triangle maths and a quiz

Area, hypotenuse, validity by angles, plus a quiz.

HTML5CSS3JavaScript

Cash Register

Minimum notes to return

Works out change in 2000, 500, 100, 20, 10, 5 and 1 denominations.

HTML5CSS3JavaScript

Swedish Chef Translator

Bork bork

Translates your sentence into Swedish Chef.

HTML5CSS3JavaScript
Open to conversations


Full-stack and agentic AI work, or just comparing notes on agents, retrieval and dashboards. Chennai, India, open to relocation.