I build web applications in TypeScript — React, Next.js, Node — and increasingly spend my time on the layer above the model: agentic systems, harnesses, and generative AI in production.
The part I find interesting isn't prompting. It's everything around it — tool-calling loops that don't spiral, retrieval that returns the right chunk, evals that catch a regression before a user does, and failure handling for a component that is non-deterministic by design. Most of the engineering in a good AI product lives there.
My background in psychology shapes what I choose to build. I'm drawn to conversational systems for mental health and social impact, and to the harder question underneath them: how people calibrate trust in what a model tells them, and what an interface owes a user when the answer might be wrong.
Currently: deepening on agent orchestration, RAG evaluation, and multi-step tool use.
Make Video Small — A desktop app that puts a real interface on AV1 encoding, so you get FFmpeg and Av1an results without the command line. Handles hardware-accelerated encoding on NVENC and AMF, inspects your machine and media to suggest sensible parameters, and runs batch queues. Everything stays local — no uploads. Ships as a signed NSIS installer with an auto-updater.
Electron React 19 TypeScript Python FFmpeg / Av1an Vite
The interesting problem here was the seam between three runtimes: an Electron renderer talking over a locked-down IPC bridge to a main process, which in turn supervises long-running Python and FFmpeg subprocesses — streaming progress back without blocking the UI or leaking a process when a job is cancelled.
Gaberina — Full-stack e-commerce built as three deployables: a storefront, an Express API, and a separate admin panel for product and order management. Covers the parts that are easy to hand-wave and annoying to actually ship — JWT auth, cart and order state, filtering and sort, Cloudinary image uploads, and live payments through Razorpay and Stripe.
React Vite Node.js Express MongoDB Stripe / Razorpay
CipherSprint — A typing test that measures WPM and accuracy in real time, with Google sign-in, a leaderboard, and charts tracking progress across sessions. Accuracy is scored per character against the source text — correct, incorrect, extra and missed are counted separately rather than collapsed into a single "wrong."
React Vite Firebase (Auth + Firestore) Chart.js Tailwind
Live →
AI/ML LLM APIs · Agentic workflows & tool calling · RAG · Vector search · Prompt & eval tooling · NLP
Languages TypeScript · JavaScript · Python · Kotlin · C++
Frontend React · Next.js · Tailwind CSS · Three.js
Backend Node.js · Express · REST APIs · JWT auth
Desktop Electron · IPC bridging · electron-builder
Data PostgreSQL · MongoDB · Firebase
Tooling Git · Vite · Vercel · Postman


