Aditi Vashishtha

I build full-stack andapplied AI systems.Usually alone, usually allthe way to production.

Final-year BCA at Manipal University Jaipur, on the Kalvium software product engineering track. Right now I'm interning in the IT department of a Delhi government power utility. Looking for an SDE or GenAI internship from September 2026.


selected work

a11y Agent

An accessibility agent that isn't allowed to grade its own homework.

PythonPlaywrightaxe-coreGPT-4o-mini

Scans a live page, proposes a context-aware fix for one of four issue types, applies it, re-scans to confirm the violation actually cleared, and retries once with the axe error as feedback before failing honestly.

The model only makes judgment calls. axe-core owns detection and verification. Deterministic contrast fixes sit in the pipeline as a control case, and they caught two real bugs I would otherwise have shipped.

DocuMind

live

Document Q&A that has to survive two retrievers before it answers.

Next.jsFastAPIPostgres + pgvectorLangfuse

Postgres full-text search and pgvector run side by side, and reciprocal rank fusion merges the two rankings. A passage has to place well on keyword match and on semantic similarity before it gets cited.

The unglamorous half: PDFs are byte-validated before parsing, requests are rate limited per IP, there's a global daily cost cap so a bad day can't become a bad bill, and uploads delete themselves after thirty minutes.

Familiar

live

A publishing platform with the boring parts done properly.

ReactViteNodeExpressMongoDBJWTGoogle OAuth

Rich-text editor, infinite feed, threaded comments, likes, bookmarks, follows and in-app notifications. Frontend, backend and deployment, all mine.

The auth surface is the part I'd point at. JWT sessions, Google OAuth with account linking, email verification and password reset on single-use expiring tokens. Auth endpoints return the same response whether or not an account exists, so you can't use them to find out who's registered.

Notifications are created server-side on engagement events and isolated on purpose. A notification failing never breaks the like or comment that triggered it.

Cafe Scrapbook

live

Cafe discovery for Jaipur, ranked so new places can't game it.

React 19ViteTailwindGPT-4o-miniGemini fallback

44 Jaipur cafes drawn from a public Zomato dataset, with natural language search. GPT-4o-mini parses the query, Gemini takes over when it doesn't.

Ranking is a Bayesian weighted score rather than a raw average, so a cafe with four five-star reviews doesn't outrank one with two hundred good ones. Custom pixel-art interface, built and deployed solo.

ASCI 2025

live

The official site for an international academic conference.

ReactViteReact RouterAOSSwiper

Multi-page site for a conference at Manipal University Jaipur, with scroll-triggered animations and responsive carousels, serving attendees and organisers.


right now

Software engineering intern

Indraprastha Power Generation & Pragati Power Corporation

Govt. of NCT Delhi · IT department · June to August 2026

Maintaining and shipping features on the company's live internal web portals, frontend and backend, for a power utility that serves Delhi.

Directly accountable to the IT department for uptime, functionality and production stability of systems people use to do their jobs.


toolkit

languages
Python, TypeScript, JavaScript, SQL, C++
frontend
React, Next.js, Tailwind, Vite
backend
FastAPI, Node, Express, SSE, JWT, OAuth 2.0
data
PostgreSQL, pgvector / HNSW, MongoDB, Supabase, MySQL
ai & retrieval
RAG, hybrid retrieval, RRF, OpenAI API, Gemini, Langfuse
tools
Git, Playwright, axe-core, Vercel, Railway, Render