Computer science · Indore, India · Portfolio, 2026
Software for the moment before someonedecides.
I build full products end to end: interfaces, APIs, databases, browser extensions, keyboards, and the research design behind them. Most of it runs locally first and only goes online when it has to.
VAC.
Virtual Auto Communicator. It reads your WhatsApp history, remembers what you promised, and suggests replies while you type.
The reply box is the product. VAC began as a dashboard and became a keyboard: three to five context-aware suggestions above the input, tone coaching mid-sentence, a hidden commitment surfaced at the moment it matters, and the judgement to say when no reply is needed at all.
- EnginesContext, style, psychology, commitment. Each feeds the keyboard.
- LearningLogs which draft you picked and how much you edited it, so the ranking adapts per person.
- PrivacyRuns fully on-device with Ollama, or with Claude when you choose.
- SurfacesWeb app, live WhatsApp bridge, Chrome extension, iOS and Android keyboards.
The hosted version shows the interface. The AI and WhatsApp bridge run on your own machine. Source is private.
The Canon Is a Prior.
How do we decide what a story means when the evidence is incomplete? An open experiment on how humans and language models revise interpretations.
The site opens with one word, "Sure.", and asks what it means before giving you the facts. Underneath sit fifteen routes of instruments. The flagship asks you to design the observation that would separate two models that both fit the same evidence.
- RuleNo fabricated data. An empty dataset renders as zero; aggregates are withheld below n = 5.
- FindingsA status machine with no PROVEN state. Every candidate names what would move it and what else explains it.
- ControlsThree fabricated claims written in the same voice as the real ones, judged before any reveal.
- OutputA manuscript generated from storage that prints "insufficient data" below n = 30.
What did he mean?
Khapee.
A complete ordering system for cafes and restaurants. Customers browse a menu, say where they are, and order. Staff watch orders land on a live board.
Three ways to arrive: at the table by scanning a QR code, from the car, or delivered. Restaurants sign up and get their tables and QR codes in one step, then edit menus, prices, photos and sold-out items from a dashboard. Guests never need an account.
- No servicesNo external APIs or keys. SQLite, local password hashing, QR codes generated and scanned locally.
- DeployOne Node process on Render, so two phones on different networks share one database.
- TimingThe kitchen is asked for food no sooner than it promises, so it is hot when you arrive.
- NextA Petpooja POS integration for dine-in, waiting on per-restaurant credentials.
Khapee, the website.
You don't wait. Your food does. The pitch for Khapee, told as one continuous scroll.
Four animated scenes carry a single order from leaving home to collecting at the counter. Each scene is its own component with hand-drawn SVG paths, and the whole thing builds to three static files that run on any host.
- ScenesCover, Journey, Arrival, Advantages.
- HandoffShips with a built site/ folder for hosting and a source/ folder for designers.
- TypeDisplay sizes clamp to both width and height, so each scene fits one screen on a phone.
FicBrain.
A personal fanfiction librarian. It watches what you actually read, learns what you actually love, and recommends very selectively: three at most.
A Chrome extension reads your AO3 history through your own session, since AO3 has no API. FicBrain merges that with Apple Books, downloaded EPUBs and browser history, resolves reposts of the same story into one work, and ranks candidates against a taste model built from chapters finished, rereads and abandonments.
- IdentityAO3 id, then a simhash content fingerprint, then fuzzy title, author and word count. Each link records its confidence.
- EmbeddingsLocal bge-small, falling back to Ollama, then to a pure-numpy hashed TF-IDF.
- MetricsRec to read, rec to completion, reread rate, diversity, and calibration by Brier score.
- PrivacyEvery source is off until granted. The API binds to 127.0.0.1 and fic text never leaves the machine.
The phone page pairs with your Mac. Your library stays local.
Output · at most three
DCMUN 2026.
Nexus Temporis: shaping tomorrow by reflecting on yesterday. The site for the twelfth Daly College Model United Nations.
Every committee has its own page, motif and agenda. The Reading Room holds the rules of procedure and each background guide. Pages are prerendered with server-side rendering so each one has its own title and description for search and link previews.
- ScaleSeven committees, twenty-six executive board members, three days of debate.
- DesignGuilloche linework, per-committee motifs, document art and a countdown to the opening.
- BuildA prerender script runs the React app on the server for every route at build time.
The connection
Every project sits just before a decision.
VAC is about what to say, and whether to say anything. The Canon Is a Prior is about what a story means when you only have part of it. FicBrain is about what to read next. Khapee moves the order to before you arrive. DCMUN is a room of people deciding together under rules.
Building them taught me the same engineering habits each time: keep the data on the user's machine unless there's a reason not to, show your confidence instead of hiding it, and make the empty state honest.
Frontend
- React, Next.js, Vite · all six
- TypeScript
- Tailwind, Framer Motion
- SVG and canvas animation
- SSR prerendering
Backend & data
- Node, Express 5
- Python
- SQLite, Postgres, Vercel Blob
- Auth and password hashing
- Deploys on Vercel, Render, Docker
AI & ML
- Claude API, Ollama · VAC
- Sentence embeddings, TF-IDF · FicBrain
- Ranking and calibration metrics
- Human-vs-model study design · Canon
Platforms
- Chrome extensions (MV3)
- iOS and Android keyboards
- Capacitor
- WhatsApp bridge
- QR generation and scanning