# Kshitij Bhatnagar > Kshitij Bhatnagar is a software engineer and AI native product builder based in New Delhi, India. He designs and ships his own products end to end: the interface, 3D and data visualisation, AI agents and automation, and the infrastructure, sign in and payments underneath. Last updated: 2026-10-01 Also known as: Kshitij, kbhatnagar97, kbhatnagar. Headline: Software engineer and AI native product builder. Website: https://kshitijbhatnagar.com/. About page: https://kshitijbhatnagar.com/about/. ## About Kshitij Bhatnagar is a software engineer and AI native product builder based in New Delhi, India. He designs and ships his own products end to end: the interface, 3D and data visualisation, AI agents and automation, and the infrastructure, sign in and payments underneath. He turns ideas into live products: the interface, the 3D, the AI and the infrastructure underneath. He has spent 6 years in enterprise frontend engineering by day, and runs a studio of shipped side products by night. Location: New Delhi, India. ## What he builds (24 projects, 12 live) Taglines and project write ups are quoted in his own words. ### Live products - [OrbitalSpace](https://kshitijbhatnagar.com/projects/orbitalspace/): The whole planet, live, on one globe. Live, 2026. Link: https://orbitalspace.in - [Astrolenz](https://kshitijbhatnagar.com/projects/astrolenz/): Vedic kundli, compatibility & AI palm reading, done right. Live, 2026. Link: https://astrolenz.com - [VideoNote](https://kshitijbhatnagar.com/projects/videonote/): Paste any video, get notes you can actually study. Live, 2026. Link: https://videonote.in - [ContextBridge](https://kshitijbhatnagar.com/projects/contextbridge/): Shared memory between AI chats. Live, 2026. Link: https://contextbridge.in - [Hapnin](https://kshitijbhatnagar.com/projects/hapnin/): A belonging engine for people new to a city. Live, 2026. Link: https://hapnin.city - [MoneyMap](https://kshitijbhatnagar.com/projects/moneymap/): Watch $1,000 grow across every market, honestly. Live, 2026. Link: https://moneymap-eta.vercel.app - [Jetstream](https://kshitijbhatnagar.com/projects/jetstream/): A cinematic companion for the whole journey. Live, 2026. Link: https://jetstream-rust.vercel.app - [Gaussian Visualizer](https://kshitijbhatnagar.com/projects/gaussian-visualizer/): Move the mean, watch the defects appear. Live, 2026. Link: https://kshitijbhatnagar.com/gaussian-visualizer - [Habit Tracker](https://kshitijbhatnagar.com/projects/habit-tracker/): The system for self-improvement. Live, 2025. Link: https://habittracker.in - [Off the Bench](https://kshitijbhatnagar.com/projects/off-the-bench/): Level-matched tennis for Delhi NCR. Live, 2026. Link: https://off-the-bench-nine.vercel.app - [Therapy Practice](https://kshitijbhatnagar.com/projects/therapy-practice/): A warm home for a CBT practice. Live, 2026. Link: https://therapy-site-ten.vercel.app - [Two Cents Daily](https://kshitijbhatnagar.com/projects/two-cents-daily/): An AI run YouTube Shorts channel. Live, 2026. Link: https://www.youtube.com/channel/UCyVsaBCe24hVP_MRik5SNFA ### In progress and private builds - [Buskers](https://kshitijbhatnagar.com/projects/buskers/): A new home for Jaipur's dance school since 1995. In progress, 2026. - [My Life](https://kshitijbhatnagar.com/projects/my-life/): A gen-AI trained on my own life. Private, 2026. - [Jarvis](https://kshitijbhatnagar.com/projects/jarvis/): A self-hosted personal AI COO. Private, 2026. - [Voice Copilot](https://kshitijbhatnagar.com/projects/voice-copilot/): Drafts messages in your own voice. Private, 2026. - [Event Check-in](https://kshitijbhatnagar.com/projects/event-check-in/): Register a family, scan them in at the gate. Private, 2026. - [FARsight](https://kshitijbhatnagar.com/projects/farsight/): A zoning-compliance copilot for architects. Research, 2026. - [DevTo Growth](https://kshitijbhatnagar.com/projects/devto-growth/): An engine for technical-writing reach. Private, 2026. - [Dev Automations Kit](https://kshitijbhatnagar.com/projects/dev-automations-kit/): The small glue behind background dev agents. Open source, 2026. Source: https://github.com/kbhatnagar97/dev-workflow-automations - [Hackerman](https://kshitijbhatnagar.com/projects/hackerman/): A hacker style control room for your own network. Private, 2026. ## Automations - [LinkedIn Newsroom](https://kshitijbhatnagar.com/projects/linkedin-newsroom/): Breaking AI news to an approved post, from my phone. Private, 2026. Runs every 5 min. 57 sources polled, 5 minute cycle, 6 drafts a day, max and 0 posts without my tap. - [First to Apply](https://kshitijbhatnagar.com/projects/first-to-apply/): New job postings screened, priced and on my phone within minutes. Private, 2026. Runs every 3 min. 214 career pages, 3 minute cycle, 20208 postings seen and 7 screening questions. - [Inbox Triage](https://kshitijbhatnagar.com/projects/inbox-triage/): Every email labelled, and my phone buzzes only for the few that need me. Private, 2026. Runs every minute. 1 minute to sort, 289 emails in the test set, 93.1% labelled right and 0.4% wrong alerts. ## How he works He builds by directing AI coding agents the way a lead directs a team. He frames the problem, sets the architecture and makes the trade offs, then puts agents to work exploring the code, building, testing and shipping. He works with Claude, the Model Context Protocol, local models on Ollama, Whisper and Gemini, and keeps a human in the loop, so nothing posts or spends without his approval. His process lives in reusable skills, so every project ships with strong SEO, Cloudflare security and numbers he can stand behind. He directs AI the way a staff engineer directs a team: the judgment stays his, the speed comes from the machine. His way of working is built on Anthropic's own agentic engineering practices, which is how he takes an idea to a live, real world product faster than a traditional build. By the numbers: 5 local AI apps and 100% human in the loop. ## Skills - Interfaces that feel effortless: React, TypeScript, Next.js, Web Components, SCSS, Tailwind, Jest, Accessibility. Proof: Component library that cut dev time by 40%; 30 to 40% faster page loads; 85%+ unit test coverage held. In his words: "Production React and TypeScript for enterprise clients since 2020: design systems, reusable component libraries, keyboard friendly accessible UI and pages that load fast." - 3D and data you can touch: three.js, React Three Fiber, GLSL shaders, GSAP, d3, Chart.js, SVG, Canvas. Proof: Live data globe for 260 cities and 193 countries; Tile free SVG flight globe; Draggable process capability curve. In his words: "Globes, particle fields and charts you drag. I use three.js, GSAP and d3 to turn dense numbers into something you understand by playing with it, like the particles on this page." - AI that does real work: Claude, MCP, RAG, Embeddings, Ollama, Whisper, Gemini, n8n. Proof: MCP server that Claude and Cursor can call; Local RAG over 550+ personal memories; Nothing posts or spends without approval. In his words: "Agents, retrieval and speech pipelines with a human in the loop. I build with Claude, MCP, local models on Ollama, Whisper and Gemini, and I direct coding agents the way a lead directs a team." - Shipped, secured and paid for: Node, Python, Firebase, Cloud Run, Postgres, Redis, Cloudflare, Vercel. Proof: Google sign in and Razorpay payments in production; Cloudflare security on the product domains; Serverless Python, Cloud Run and Postgres. In his words: "Products that run on real infrastructure, with sign in, payments, SEO and Cloudflare in front. I own the whole path from the database to the domain." ## Experience Since February 2020 he has worked at HashedIn by Deloitte, growing from intern to Software Engineer I (2020 to 2022) and Software Engineer II (2022 to present). - Software Engineer II (2022 to Present), Technical Leadership and Innovation: Leading React.js development for enterprise applications; 40% improved data visualization accuracy; Built a reusable component library, 40% less dev time; Architected Microfrontend POC migration; Mentoring 5+ junior engineers. - Software Engineer I (2020 to 2022), Foundation Building and Core Development: Multi factor authentication with OKTA; Secure PDF export and rich text editors with DraftJS; 85%+ unit test coverage maintained; 30 to 40% faster page loads. - Intern (Feb 2020 to Oct 2020), Rapid Skill Acquisition: Moved from HTML and CSS to ReactJS; React lifecycle, Redux and Context API; Built responsive PWAs. - Summer Intern, Ericsson India (May 2019 to Jun 2019): 5G wireless research. - Summer Intern, Government of India (May 2018 to Jul 2018): Power plant efficiency studies. ## Education - B.Tech in Electronics and Communication with a Minor in Computer Science, VIT University, 2016 to 2020, CGPA 8.8. - Higher Secondary in Science, The Shri Ram School, 2002 to 2016. ## Leadership - Under Secretary General, Internal Affairs, VITCMUN - Treasurer, SPIE Optics and Photonics Society - Technical Adviser, OWASP - Head of Marketing, TechnoVIT and Vibrance - Student Mentor, VITeach - Teaching Assistant, Circuit Theory - Organiser, Sociothon ## Awards and certifications - 4× Spot Awards: Exceptional collaboration and impact. - Excellence Award: Leadership and technical excellence. - Lean Six Sigma Green Belt, Process Optimization: PSLSSGB67545 certification. - Neural Networks & Deep Learning, DeepLearning.AI: Advanced AI/ML knowledge. - Loyalty Certificate: Consistent dedication and commitment. ## Profiles and contact - [Website](https://kshitijbhatnagar.com/) - [About](https://kshitijbhatnagar.com/about/) - [LinkedIn](https://www.linkedin.com/in/kshitij-bhatnagar-18046374/) - [GitHub](https://github.com/kbhatnagar97) - [DEV](https://dev.to/kbhatnagar) - [Stack Overflow](https://stackoverflow.com/users/20596775/kshitij-bhatnagar) - [Instagram](https://www.instagram.com/kbhatnagar97) - Email: kshitijbhatnagar97@gmail.com - [Portrait](https://kshitijbhatnagar.com/images/kshitij-bhatnagar-portrait.jpg) ## Before software - Mobile Phone System (2019): Calls, SMS and contacts on a Raspberry Pi with a GSM module. Built with Raspberry Pi, GSM, Python. - Digital Lock System (2018): Password access control with attempt tracking and an emergency override. Built with 8051, EEPROM, keypad. - Universal Remote (2017): One controller that learns IR codes and switches mains appliances safely. Built with IR, AC mains control. - Smart Home Security (2016): Motion and temperature monitoring with zone based alerts. Built with PIR, thermistor. ## Questions and answers ### Who is Kshitij Bhatnagar? Kshitij Bhatnagar is a software engineer and AI native product builder based in New Delhi, India. He designs and ships his own products end to end: the interface, 3D and data visualisation, AI agents and automation, and the infrastructure, sign in and payments underneath. ### What does Kshitij Bhatnagar build? Kshitij Bhatnagar has designed and built 24 products and experiments. Live products: OrbitalSpace (The whole planet, live, on one globe); Astrolenz (Vedic kundli, compatibility & AI palm reading, done right); VideoNote (Paste any video, get notes you can actually study); ContextBridge (Shared memory between AI chats); Hapnin (A belonging engine for people new to a city); MoneyMap (Watch $1,000 grow across every market, honestly); Jetstream (A cinematic companion for the whole journey); Gaussian Visualizer (Move the mean, watch the defects appear); Habit Tracker (The system for self-improvement); Off the Bench (Level-matched tennis for Delhi NCR); Therapy Practice (A warm home for a CBT practice); Two Cents Daily (An AI run YouTube Shorts channel). In progress and private builds: Buskers, My Life, Jarvis, Voice Copilot, Event Check-in, FARsight, DevTo Growth, Dev Automations Kit and Hackerman. Automations: LinkedIn Newsroom, First to Apply and Inbox Triage. ### What are Kshitij Bhatnagar's skills? Kshitij Bhatnagar works across 4 areas. Interfaces that feel effortless: React, TypeScript, Next.js, Web Components, SCSS, Tailwind, Jest and Accessibility. 3D and data you can touch: three.js, React Three Fiber, GLSL shaders, GSAP, d3, Chart.js, SVG and Canvas. AI that does real work: Claude, MCP, RAG, Embeddings, Ollama, Whisper, Gemini and n8n. Shipped, secured and paid for: Node, Python, Firebase, Cloud Run, Postgres, Redis, Cloudflare and Vercel. ### Where is Kshitij Bhatnagar based? Kshitij Bhatnagar is based in New Delhi, India. ### Where did Kshitij Bhatnagar study? Kshitij Bhatnagar studied at VIT University: B.Tech in Electronics and Communication with a Minor in Computer Science, 2016 to 2020, CGPA 8.8. Before that he studied at The Shri Ram School: Higher Secondary in Science, 2002 to 2016. ### How does Kshitij Bhatnagar work with AI? He builds by directing AI coding agents the way a lead directs a team. He frames the problem, sets the architecture and makes the trade offs, then puts agents to work exploring the code, building, testing and shipping. He works with Claude, the Model Context Protocol, local models on Ollama, Whisper and Gemini, and keeps a human in the loop, so nothing posts or spends without his approval. His process lives in reusable skills, so every project ships with strong SEO, Cloudflare security and numbers he can stand behind. He directs AI the way a staff engineer directs a team: the judgment stays his, the speed comes from the machine. His way of working is built on Anthropic's own agentic engineering practices, which is how he takes an idea to a live, real world product faster than a traditional build. By the numbers: 5 local AI apps and 100% human in the loop. ### How can I contact Kshitij Bhatnagar? Email Kshitij Bhatnagar at kshitijbhatnagar97@gmail.com, message him on LinkedIn at https://www.linkedin.com/in/kshitij-bhatnagar-18046374/, or visit kshitijbhatnagar.com. ## Project write ups ### OrbitalSpace The whole planet, live, on one globe. Live, 2026, Data & Finance. Page: https://kshitijbhatnagar.com/projects/orbitalspace/. Link: https://orbitalspace.in A live 3D Earth that puts temperature for 260 cities, GDP per capita for 193 countries and every magnitude 4.5+ earthquake on one globe, with a page behind every dot. The spark: Live weather, national economics and earthquakes each sit on different sites, maps and tables. I wanted to see the whole planet at once and go from a glowing dot on a globe to the numbers behind it in a single click. What was built: I built one three.js globe with three layers: Stratum for live temperature and air quality, Meridian for World Bank indicators, and Signal for USGS earthquakes and NASA natural events. A scroll story flies a day and night Earth along one continuous camera path, and every city, country and quake gets its own page, live on orbitalspace.in behind Cloudflare. Architecture: - One shared globe engine drives three data layers - Daily snapshot rebuild + ISR, browser polls each source at its own cadence - Scroll camera on spline paths, one continuous flight with no seams Highlights: - 260 cities, 193 countries, M4.5+ quakes - Open-Meteo, World Bank, USGS and NASA data - A page behind every city, country and quake - Scroll story on a textured day and night Earth Built with: Next.js, React, three.js, three-globe, GSAP, Firebase. ### Astrolenz Vedic kundli, compatibility & AI palm reading, done right. Live, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/astrolenz/. Link: https://astrolenz.com A Vedic astrology toolkit on a real sidereal ephemeris: birth chart (kundli) with shadow readings, 36-guna compatibility matching, AI palm reading and an AI astrologer you can question about your own chart. The spark: Every big astrology app I tried buried the actual calculations under generic horoscopes and dark-pattern subscriptions, and only ever told you what was great about your chart. I wanted the real maths: Lahiri ayanamsa, proper ephemeris, actual Ashtakoot scoring, plus an honest read on the blind spots, in one clean place. What was built: I built a full Vedic toolkit: a sidereal birth chart on the Moshier ephemeris with plain-English decode and shadow cards, 36-guna Ashtakoot matching with dosha detection, Panchang, numerology, a Sade Sati timeline and a Knowledge Hub. An on-device TensorFlow.js scanner frames each palm before Gemini reads it, and an AI astrologer answers questions about any saved chart. Sign in, credits and Razorpay top-ups run on Firebase, live on astrolenz.com. Architecture: - Real sidereal calculations: Moshier ephemeris + Lahiri ayanamsa - On-device hand scan, Gemini palm reading on Vertex AI - Server-side credit ledger in Firestore, Razorpay top-ups Highlights: - Real Vedic kundli, nakshatra, dasha - Full 36-guna Ashtakoot matching - AI palm reader and AI astrologer - Free horoscope, Panchang and Knowledge Hub Built with: Next.js, TypeScript, Firebase, Gemini on Vertex AI, TensorFlow.js, Razorpay. ### VideoNote Paste any video, get notes you can actually study. Live, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/videonote/. Link: https://videonote.in Paste a link from YouTube, Instagram, TikTok and more, and get a timestamped transcript, a chapter timeline, study notes, flashcards, a quiz and an Ask chat that answers with cited timestamps. The spark: I save a lot of videos to review later but kept losing the thread of what I actually learnt from them. Typing out notes manually felt like busywork, and there was no easy way to pull the content into Claude without re-watching or describing it by hand. What was built: What started as a one-field transcriber grew into VideoNote. It uses YouTube captions when it can and otherwise transcribes the audio with Whisper large v3 turbo on Groq, then writes a chapter timeline, notes, flashcards and a quiz you can question. Google sign in, prepaid Pro passes through Razorpay and a Redis usage meter all run on one Python function, live on videonote.in behind Cloudflare. Architecture: - Captions first, Whisper fallback, audio deleted after - One Python serverless function, Firebase Google sign in - Disclosed daily limits, no fake reference prices Highlights: - YouTube, Instagram, TikTok, X and more - Timeline, notes, flashcards and quiz - Ask chat with cited timestamps - Videos are never kept Built with: Python, yt-dlp, Groq Whisper, Firebase, Upstash Redis, Vercel. ### ContextBridge Shared memory between AI chats. Live, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/contextbridge/. Link: https://contextbridge.in Paste a ChatGPT share link and get a clean, portable page plus exports, or let your agents pull it through an MCP server, so conversation context moves between ChatGPT, Claude, Gemini and coding agents. The spark: A work network blocked a ChatGPT share link I needed, and more generally my context was trapped inside one assistant. I could not cleanly carry a conversation into Claude or an agent. What was built: I built a bridge that turns any ChatGPT share into a clean page plus Markdown, JSON and 'copy-for-agent' exports, then shipped an MCP server so Claude, Cursor and other agents can bridge links and search bridged chats by meaning with an in-process embedding model and no API key. It now lives on contextbridge.in behind Cloudflare. Architecture: - The share link is the source, storage is optional - Translate-proxy fallback for blocked networks - MCP server with 5 tools for any MCP host Highlights: - ChatGPT share → clean page - Markdown / JSON / agent exports - MCP server for Claude, Cursor and more - Semantic search, no API key Built with: Next.js, TypeScript, markdown-it, MCP SDK, transformers.js. ### Hapnin A belonging engine for people new to a city. Live, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/hapnin/. Link: https://hapnin.city Curated events and activities discovery that helps newcomers feel at home, warmer and less cluttered than the big ticketing apps. The spark: When I moved cities and joined a 1,000-person newcomers' WhatsApp group, every genuine event drowned under housing, jobs and marketplace noise. I kept missing things I would have loved to attend. What was built: So I built a curated, community-first discovery app: verified organisers, structured listings and a deliberately calm interface: an installable, SEO-first PWA on a Postgres backend, live behind Cloudflare on hapnin.city. Architecture: - Curated + verified supply chosen over open chaos - SEO-first SSG pages with per-event schema.org data - PWA · Cloud Run · Cloud SQL Postgres · Firebase auth Highlights: - Curated, verified event listings - RSVP + discovery, free to use - Installable PWA, SEO-first - Delhi-NCR first, metros next Built with: Next.js, React, Tailwind, Cloud Run, Postgres, Firebase. ### MoneyMap Watch $1,000 grow across every market, honestly. Live, 2026, Data & Finance. Page: https://kshitijbhatnagar.com/projects/moneymap/. Link: https://moneymap-eta.vercel.app An honest, gamified multi-asset money manager on real market data, real fees and real Indian taxes. It shows losses as clearly as gains. The spark: Every 'get rich' tool I saw quietly hid fees, taxes and the boring truth that most active trading loses to simply holding an index. I wanted to see the honest version with my own eyes. What was built: I built a gamified money manager that runs $1,000 of paper money across stocks, crypto, bonds and ETFs with real fees and Indian taxes modelled on every trade, benchmarked against buy-and-hold, ticking 24/7 on Cloud Run. Architecture: - Honest by design: real fees, real tax, real benchmark - Swappable Broker + DataSource seams (paper now, real later) - Stateful ticker on Cloud Run + Scheduler + GCS ledger Highlights: - Real live data (Binance + Yahoo) - Models fees + Indian crypto/equity tax - 24/7 paper trader on Google Cloud - Never fakes returns, honest by design Built with: Next.js, React, TypeScript, Cloud Run, Cloud Scheduler, GCS. ### Jetstream A cinematic companion for the whole journey. Live, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/jetstream/. Link: https://jetstream-rust.vercel.app One app for the whole flight journey: book, then track on an immersive orthographic globe with live status, delay predictions and a lifetime travel passport. The spark: I loved one app for tracking flights and a different one for booking them, and hated bouncing between the two. No single product owned the whole journey end to end. What was built: So I built one companion for the entire trip: search and book, then track on an immersive globe with live status and delay predictions, then keep a lifetime travel passport, all rendered as tile-free SVG with no API keys. Architecture: - Single swappable DataSource adapter (mock → real) - Self-contained SVG globe, no map tiles or keys - IP-clean, original design system Highlights: - Orthographic globe with live great-circle arcs - Real FAA + NOAA + airport data - Lifetime travel passport - Calm 'book' world flows into cinematic 'track' world Built with: Next.js, React, TypeScript, d3-geo, TopoJSON. ### Gaussian Visualizer Move the mean, watch the defects appear. Live, 2026, Data & Finance. Page: https://kshitijbhatnagar.com/projects/gaussian-visualizer/. Link: https://kshitijbhatnagar.com/gaussian-visualizer An interactive normal distribution for process capability: drag the mean, the spread and the spec limits right on the curve and watch Pp, Ppk, PPM and yield update live. The spark: Understanding process capability from static textbook curves never clicked for me. You could not feel how the numbers actually move as the process shifts. What was built: I rebuilt it as its own small app: an SVG chart where the spec limits, the mean and the shoulder of the curve are draggable handles, live Pp, Ppk, PPM and yield with a plain-language verdict, and a hero where simulated parts fall into a histogram as the process drifts, so defects visibly land outside the limits. It is one static page with no dependencies, served on this domain. Architecture: - One static HTML file, no build and no dependencies - Accurate tail maths, so the Six Sigma preset reads 3.4 PPM - Standalone Vercel app proxied to /gaussian-visualizer here Highlights: - Drag the limits, mean and σ on the curve - Live Pp, Ppk, PPM and yield - Presets from a 20 mm bolt to Six Sigma - Keyboard accessible handles Built with: JavaScript, SVG, Canvas, Vercel. ### Habit Tracker The system for self-improvement. Live, 2025, Web Apps. Page: https://kshitijbhatnagar.com/projects/habit-tracker/. Link: https://habittracker.in A habit tracker that turns daily routines into actionable insight with streaks, analytics and beautiful visualisations. The spark: I would start habits on motivation alone and lose them within weeks, because I could not actually see my progress or spot where I slipped. What was built: I built a habit tracker that turns routines into data: streaks, analytics and clear visualisations with drag-and-drop planning, so consistency becomes something you can watch and defend. Architecture: - React + Chart.js insight layer - Firebase Auth + Firestore sync across devices - Deployed behind Cloudflare on habittracker.in Highlights: - Streaks + analytics - Beautiful data visualisations - Drag-and-drop planning - Syncs across devices Built with: React, TypeScript, Chart.js, Firebase, Vercel. ### Off the Bench Level-matched tennis for Delhi NCR. Live, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/off-the-bench/. Link: https://off-the-bench-nine.vercel.app A marketing site for a Delhi-NCR tennis community targeting former competitive players. The hero is a physics-accurate bouncing felt ball that drifts right on load and scrolls to centre as the Google Form appears. The spark: Local tennis communities were all advertised with the same tired filler and clip-art. Nothing on screen actually felt like the sport, or spoke to players who had genuinely competed. What was built: I built a standalone marketing site whose hero is a scroll-driven, procedurally textured three.js tennis ball (accurate seams, felt sheen, pointer parallax) that slides from right to centre as the community form fades in. Concrete copy, zero filler, mobile-first. Architecture: - Scroll-driven three.js hero, lazy-imported for SSR safety - Procedural felt texture + accurate seam formula on canvas - Physics squash, pointer parallax, smoothstep scroll easing Highlights: - Fluffy felt ball with accurate tennis seams - Scroll-driven right-to-centre animation - Concrete copy for competitive players - Mobile-first, SSR-safe three.js Built with: Next.js, React, three.js, Tailwind. ### Therapy Practice A warm home for a CBT practice. Live, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/therapy-practice/. Link: https://therapy-site-ten.vercel.app A calm, editorial one-page site for a CBT therapist, where clients learn about her approach and book a session, signature 'thought record' hero included. The spark: My sister was starting her CBT practice, and every template site felt cold and clinical, or buried the one thing clients actually need: a way to book. What was built: I built a warm, editorial one-pager with a signature CBT 'thought record' hero and inline booking, so clients understand her approach and book in a couple of taps. Architecture: - Zero-build static site, deploys free - Accessible + SEO / OpenGraph ready - Booking auto-detects Calendly / Cal.com Highlights: - Editorial warm-clinical design - Inline booking widget - Accessible + SEO-ready - Signature thought-record hero Built with: HTML, CSS, JavaScript, Calendly. ### Two Cents Daily An AI run YouTube Shorts channel. Live, 2026, AI & Agents. Page: https://kshitijbhatnagar.com/projects/two-cents-daily/. Link: https://www.youtube.com/channel/UCyVsaBCe24hVP_MRik5SNFA A zero cost pipeline that picks a personal finance topic, writes the script, narrates it, times word by word captions and renders a vertical Short, then uploads it to the Two Cents Daily channel. The spark: I wanted to test whether a faceless content channel could be run end to end by AI at zero cost, instead of paying for a stack of SaaS tools to do each step. What was built: I built one Python script that runs the whole studio: a local model on Ollama picks the topic and writes a hook, analogy, stats and action script, edge-tts narrates it, faster-whisper times every word, free image search fills the frames, and the render adds word by word captions and a slow Ken Burns zoom before uploading through the YouTube API. Architecture: - One script, topic to upload - Word level timestamps drive caption sync - Posting stays behind an explicit upload step Highlights: - Vertical 1080 by 1920 Shorts - Word by word animated captions - Local LLM scripts, free neural voice - Live channel with posted videos Built with: Python, Ollama, edge-tts, faster-whisper, YouTube API. ### Buskers A new home for Jaipur's dance school since 1995. In progress, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/buskers/ A full rebuild of buskers.in for Buskers Dance Institute, replacing a 2018 WordPress theme with a fast static site built around three.js scroll scenes. The spark: The school's site was a 2018 WordPress theme run by outside developers. The goal was to own it end to end and make it feel as alive as a dance class. What was built: I rebuilt it from scratch as a static site the school owns end to end: three.js scenes that move with the scroll, GSAP and Lenis motion, a Leaflet location map, and Cloudflare in front, staged for the domain cutover. Architecture: - Static Vite build, no CMS to patch - Scroll scenes on GSAP ScrollTrigger and Lenis - Cloudflare in front, instant rollback to the old site Highlights: - Client project, owner hosted - three.js scroll scenes - Leaflet location map - Launching on buskers.in Built with: Vite, JavaScript, three.js, GSAP, Lenis, Leaflet. ### My Life A gen-AI trained on my own life. Private, 2026, AI & Agents. Page: https://kshitijbhatnagar.com/projects/my-life/ A private, local-first memory of my life: a spinnable 3D globe of everywhere I've been, built from wearable transcripts and photo metadata, with a chat that answers anything about my past. The spark: I realised my memory of where I had been and what I had felt was scattered across photos and a wearable, and quietly slipping away. I wanted to actually see and question my own life. What was built: I built a private, local-first life graph: a spinnable 3D globe of every place I've been from photo GPS and wearable transcripts, plus a local RAG chat, 'a gen-AI of my life', that answers questions about my past with real memories and photos. Architecture: - Local-first RAG on Ollama, zero cloud cost - DataSource seam for wearable + photo metadata - Photo metadata only (GPS/time), pixels never leave the Mac Highlights: - 3D globe of every place I've been - Local RAG over 550+ memories - Apple Photos + wearable data - 100% local, private, single-user Built with: Next.js, three.js, d3-geo, Ollama, RAG. ### Jarvis A self-hosted personal AI COO. Private, 2026, AI & Agents. Page: https://kshitijbhatnagar.com/projects/jarvis/ A phone-first, self-hosted AI assistant with a custom particle-brain face, human voice, sandboxed file and network hands, and the ability to delegate hard tasks to a frontier model. The spark: I was doing the same operational glue-work over and over, and wanted a private assistant that could actually act on my behalf, not another chatbot that only talks. What was built: I built a self-hosted AI COO with a bespoke particle-brain face, wake-word voice and neural TTS, and sandboxed 'hands' for files and my network, a mediator that delegates the hard jobs to a frontier model, always behind human-approval gates. Architecture: - Mediator pattern: local brain delegates to Claude - Sandboxed, path-guarded tools - Human-in-the-loop on anything irreversible Highlights: - Custom particle-brain voice face - Local neural TTS + wake word - Sandboxed file & network tools - Safety gates on money & irreversible actions Built with: Node, TypeScript, Ollama, Piper TTS, MCP. ### Voice Copilot Drafts messages in your own voice. Private, 2026, AI & Agents. Page: https://kshitijbhatnagar.com/projects/voice-copilot/ A private assistant that learns my texting voice from my own chat exports and drafts openers and replies, with screenshot OCR input so I never retype. The spark: I text nothing like the generic, try-hard openers messaging apps seem to encourage, and retyping context from screenshots to get help was tedious. What was built: I built a private assistant that learns my texting voice from my own chat exports and drafts messages that sound like me, with Apple Vision OCR so I can paste a screenshot instead of retyping. It is strictly draft-only. I always send myself. Architecture: - Local model of my own voice - Apple Vision OCR input, no retyping - Draft-only, no scraping or auto-send Highlights: - Learns your texting voice - Screenshot OCR input - Draft-only, you always send - Fully local & private Built with: Node, TypeScript, Ollama, Apple Vision OCR. ### Event Check-in Register a family, scan them in at the gate. Private, 2026, Web Apps. Page: https://kshitijbhatnagar.com/projects/event-check-in/ Event registration and QR check-in: attendees register themselves and their family and get a QR code, and staff unlock a PIN protected kiosk to scan guests in and watch live attendance. The spark: It started as the registration and check-in portal for a company Family Day, which needed families registered ahead of time and checked in quickly at the gate. What was built: I built the registration flow, a QR confirmation and a staff check-in kiosk with scanning, name search and live stats, then generalised it into a reusable platform where branding, event details and the staff PIN are all configuration. Architecture: - Swappable backend: browser storage or Firebase - Camera QR scanning with jsQR - 365 unit tests with Vitest Highlights: - Family registration with QR codes - PIN protected staff kiosk - Scan or search to check in - Live attendance stats Built with: React, TypeScript, Vite, TanStack Query, Zustand, Firebase. ### FARsight A zoning-compliance copilot for architects. Research, 2026, AI & Agents. Page: https://kshitijbhatnagar.com/projects/farsight/ A pre-submission FAR and zoning checker for architects: pick the region, upload an IFC design, and get a pass/fail report with the cited clause and the change needed to comply. The spark: Architects I know waste days manually cross-checking designs against dense, non-machine-readable zoning PDFs, and still risk a rejection at submission. What was built: I built the compliance core first: it parses an IFC model with IfcOpenShell, computes FAR and ground coverage, and checks them against cited, versioned rule packs for residential plots. Delhi's numbers are verified against the MPD-2021 table and Gurugram's against the Haryana Building Code 2017, with Noida marked provisional because its regulations only exist as scanned PDFs. Detecting the zone from a map pin is the next step. Architecture: - IFC (ISO 16739) parsing via IfcOpenShell - Hand-curated, cited, versioned rule packs - Deterministic gap solver suggests the fix Highlights: - Region, IFC upload, pass/fail report - Pass/fail with fixes to comply - Delhi and Gurugram rules verified - A pre-check, not a legal authority Built with: Python, FastAPI, IfcOpenShell, Shapely, Pydantic. ### DevTo Growth An engine for technical-writing reach. Private, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/devto-growth/ A toolkit that drafts, illustrates and publishes developer articles to dev.to, tracking what's live and what's still a draft. The spark: I wanted my technical writing to actually compound reach, but publishing, illustrating and tracking articles by hand was slow and easy to drop. What was built: I built a Python toolkit that drafts, renders cover images and diagrams, and publishes to dev.to through the API while tracking exactly what's live versus still a draft. Architecture: - dev.to API publish pipeline - Programmatic cover / diagram rendering - Live-vs-draft state tracking Highlights: - Draft → illustrate → publish - dev.to API integration - Tracks live vs draft - Repeatable content workflow Built with: Python, dev.to API. ### Dev Automations Kit The small glue behind background dev agents. Open source, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/dev-automations-kit/ A minimal, working starter kit for background developer automations: worktree isolation, idempotency, locking and notifications, written to accompany my dev.to post. The spark: Each background automation I wrote needed the same plumbing first: isolation, locking, notifications and a safe way to run twice. What was built: I extracted the roughly 80 lines of shared glue into a small kit, with a read only standup drafter to start safely and a PR comment resolver that tries fixes in an isolated git worktree. Architecture: - Isolated git worktrees per run - Idempotency and locking in one shared script - Read only workflow first, write workflows opt in Highlights: - About 80 lines of glue - Standup draft workflow - PR comment resolver - Open source on GitHub Built with: Bash, git worktree, GitHub CLI. ### Hackerman A hacker style control room for your own network. Private, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/hackerman/ A gamified, hacker themed control room for your own home network and devices, served by a zero dependency Node server behind a passcode. The spark: I wanted one playful place to see and manage what is on my own home network, instead of digging through router pages and system settings. What was built: I built a small Node server with no dependencies and an installable PWA in front of it: a passcode gate, a playful terminal style dashboard of the devices on my own network, and a Keychain backed reveal for saved Wi-Fi passwords. Architecture: - Zero dependency Node server - Binds to localhost only, passcode gate - Installable PWA front end Highlights: - Game like network dashboard - Saved Wi-Fi password reveal - No dependencies at all - Only for networks you own Built with: Node, JavaScript, PWA. ### LinkedIn Newsroom Breaking AI news to an approved post, from my phone. Private, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/linkedin-newsroom/. Runs every 5 min. 57 sources polled, 5 minute cycle, 6 drafts a day, max and 0 posts without my tap. A personal newsroom that watches AI labs and news sources, rates every story, drafts a LinkedIn post with a designed 4:5 card, and posts only after I tap Approve on my phone. The spark: Big AI launches move fast, and by the time I had read the news, written a post and made an image, the moment had passed. I wanted to be early without handing my LinkedIn over to a bot. What was built: I built a pipeline on n8n that polls 57 sources every five minutes, has TypeSafe's Jev model rate each story against four typed questions, and has Claude Opus research and draft the post in my voice with a rendered 1080×1350 card. Each draft arrives as one phone notification with Approve, Edit on Mac and Reject, and only an Approve publishes it through the LinkedIn Posts API with companies tagged automatically. Architecture: - Jev rating gate with Claude Haiku fallback, Claude Opus drafts, checker pass on every draft - Approval over ntfy, no inbound tunnel - Health check restarts n8n on its own if it jams or goes quiet Highlights: - 57 sources polled every 5 minutes - Stories rated 1 to 10, only 9 and 10 get their own post - Up to 6 drafts a day, nightly digest for the rest - Nothing posts without my Approve Built with: n8n, Python, Jev, Claude, Headless Chrome, ntfy, LinkedIn API. ### First to Apply New job postings screened, priced and on my phone within minutes. Private, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/first-to-apply/. Runs every 3 min. 214 career pages, 3 minute cycle, 20208 postings seen and 7 screening questions. A personal pipeline that polls 214 company career pages every three minutes, screens each new posting against my profile, estimates the pay, and pushes the best matches to my phone before most people have seen them. The spark: Job board alerts arrive a day late, and by then a good role already has hundreds of applicants. Company career pages publish the moment a job goes live, so I wanted to read them directly and only look at the roles worth my time. What was built: An n8n workflow polls the ATS feeds behind 214 career pages. TypeSafe's Jev model screens every posting with seven typed questions, Claude prices the shortlist and writes a fit and a risk line, and fixed priority rules decide what reaches the tracker and my phone. Top roles ask for a referral first and hold the application for 48 hours. Architecture: - Jev screen with typed questions, Claude pricing that degrades gracefully - Fixed P1, P2, P3 rules so the tracker never disagrees with itself - Every step writes its result, one lock per step, no silent failures Highlights: - 214 career pages every 3 minutes - 20,000+ postings seen - Every dropped job keeps its reason - Applying stays a human tap Built with: n8n, Python, Jev, Claude, Google Sheets, ntfy. ### Inbox Triage Every email labelled, and my phone buzzes only for the few that need me. Private, 2026, Tools & Automation. Page: https://kshitijbhatnagar.com/projects/inbox-triage/. Runs every minute. 1 minute to sort, 289 emails in the test set, 93.1% labelled right and 0.4% wrong alerts. A Gmail sorter that labels every email within a minute and only alerts me for clients, customers of my products, replies from companies and real people. Everything else waits for one briefing at 11:00. The spark: Important mail from clients and customers kept drowning between bank notices, newsletters and job alerts, and filters could not tell a person from a template. What was built: Apps Script on Google picks up new mail every minute. Rules from a Sheet settle the certain cases, Jev classifies the rest against the label descriptions, and Claude on my Mac decides only what Jev is unsure about. Alerts go to my phone through ntfy with buttons that teach the sorter. Architecture: - Cheapest certain check first: Sheet rules, then Jev, then Claude - A sleeping Mac never hides a human: unsure mail from people alerts after 30 minutes - Never archives, deletes or marks mail read Highlights: - 93.1% right label on a 289 email test set - 0.4% wrong alerts - One morning briefing instead of constant pings - Every tap teaches it Built with: Apps Script, Gmail, Google Sheets, Jev, Claude, ntfy.