Skip to main content

Projects

Most of the projects I did have some interesting stories or memories associated with them. Here’s a showcase of things I’ve built — from AI agents to automation tools.


Showcasing some projects I’m proud of


💼 More Projects

Other things I built and shipped, from Obsidian plugins to hackathon prototypes.

AI & Creative Experiments

  • Whisperly — Voice-to-text transcription app with AI-powered text formatting. Record audio, get transcriptions via OpenAI Whisper, and format output for emails/Slack/grammar. React Native + FastAPI.

  • Mind Castle — Your personal knowledge vault. Capture URLs, voice notes, and screen activity. AI-powered summarization, semantic search with Qdrant, and one-click Obsidian export.

  • Handpose Interactive Demo — Browser-based hand tracking using TensorFlow.js + p5.js. Control visualizations with hand gestures in real-time. #MadeWithTFJS

Tools & Plugins

  • Obsidian Camera (36⭐) — Camera plugin for Obsidian that lets you capture photos/videos and auto-inserts them into your notes.

  • AudioJournalApp — Record audio journals and search them by keyword using speech-to-text. Built with Web Speech API.

  • Street View to Video — Generate cinematic videos from Google Street View by entering any two locations.

  • Simple Stream — React Native music app with offline downloads, playlists, lyrics, and custom themes.

Automation & Infrastructure

  • Node-Balancer — Distributed worker system for load balancing.

⚡ Mini Builds & Weekend Projects

Quick experiments, mostly built in an afternoon.

Project What it does
YouTube Transcript Formatter Turn any video into an LLM-ready prompt
Whisper Subtitles Generate subtitles locally using OpenAI Whisper
Parallel Ollama Inference Scale local LLM inference with multiple Ollama instances
Talking AI Companion Voice-based AI companion concept with demo

📖 Projects with Stories

These have blog-style write-ups with the full backstory.

  • NYCGuessr — GeoGuessr-style game using 960 live NYC traffic camera feeds. Vanilla JS, no build step, one Vercel proxy route. Story includes a silent geo-block bug discovered via friends in India.
  • MIDI Piano Playground — Teaching myself chords with a $64 MIDI keyboard and a small app I built with Claude Code.
  • ApplyWiz — Auto-applies to LinkedIn Easy Apply jobs while you watch.

🎓 From My College Days

The things I built as a student: small, scrappy, and a lot of fun at the time. A couple of them still get a surprising amount of traffic.

  • Love Calculator — A fun “love compatibility” web app, with a prank at the end.
  • Moodle Automation — Node.js program to automate attendance marking in Moodle Classroom using a Telegram bot.
  • Query Search Bot — Telegram bot to make internet queries directly from Telegram, deployed serverless.
  • WhatsApp Message Without Save — Flutter app to send WhatsApp messages without saving the contact.
  • Recreating Teachable Machine — A general-purpose ML model trainer for vision data, using PyTorch and fastai.
  • Simple Stable Diffusion — A custom Stable Diffusion setup with a Streamlit UI.
  • Mutual Couple Finder — A Telegram bot to find mutual connections.
  1. MIDI Piano Playground — teaching myself chords with a $64 keyboard and Claude Code

    A $64 Casio, a MIDI cable, and a weekend of coding: a Swift CoreMIDI recorder, a key-detection analyzer (Krumhansl-Schmuckler + Viterbi), a browser practice app that grades my left-hand chords live over Web MIDI, and an ffmpeg + Demucs pipeline that turns the real song into a play-along backing track.
  2. ApplyWiz — auto-applying to LinkedIn Easy Apply jobs while you watch

    The story of ApplyWiz — a Chrome extension that automated LinkedIn's Easy Apply flow end to end. A Manifest-V3 automation engine, a Next.js + Stripe + Supabase web app, and a lot of DOM choreography to make an undocumented, ever-shifting modal behave deterministically. Launched on Product Hunt in Aug 2023.