Aditi Vashishtha. I build full-stackand applied AI systems,from idea to production.
Final-year student at Manipal University Jaipur on the Kalvium software product engineering track. Software engineering intern in the IT department of a Delhi government power utility, June to October 2026.
I build alone, which means I break things alone too. That's mostly how I've learned anything.
how I show work
The limitation sits on the card next to the stack, because that is the real state of the thing. A page that only lists what works is describing a good day.
a11y Agent
73 to 76% is the share of axe-detected violations of the four targeted types. It is not a claim about the whole page.
Familiar
Built as a client-rendered SPA, so shared article links preview blank and Google struggles to index it. Wrong architecture for a publishing platform.
how I ship
01axe-core verifies every fix, so the model never grades its own work
02Per-IP rate limits and a global daily cost cap on the LLM endpoints
03Uploads are ephemeral and auto-delete after 30 minutes
04Auth replies identically whether or not the account exists
02Experience
Where the code has to keep working.
June — October 2026
Govt. of NCT Delhi · IT department
Software engineering intern
Indraprastha Power Generation & Pragati Power Corporation
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.
03Selected work
Five projects. Built solo, architecture through deploy.
github.com
01open source
a11y Agent
An accessibility agent that isn't allowed to grade its own homework.
73–76%
of axe-detected violations fixed and re-verified, across four live sites
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.
Read moreShow less
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.
Document Q&A that has to survive two retrievers before it answers.
27 / 27
top-1 recall on a hand-labelled eval, tied with plain vector search
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.
Read moreShow less
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.
A publishing platform with the boring parts done properly.
Rich-text editor, infinite feed, threaded comments, likes, bookmarks, follows and in-app notifications. Frontend, backend and deployment, all mine.
Read moreShow less
The auth surface is the part I'd point at: JWT sessions, Google OAuth with account linking, and single-use expiring tokens for email verification and password reset. Notifications are isolated on purpose, so one failing never breaks the like or comment that triggered it.
Cafe discovery for Jaipur, ranked so new places can't game it.
45
Jaipur cafés, ranked from 44,717 reviews
45 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.
Read moreShow less
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. Hand-built scrapbook interface, designed and deployed solo.
The official site for an international academic conference.
Multi-page site for a conference at Manipal University Jaipur, with scroll-triggered animations and responsive carousels, serving attendees and organisers.