MindMesh
A unified AI chat platform that lets users access OpenAI, Gemini, and Perplexity in one place. Just plug in your API key and switch between models instantly. One interface, endless intelligence.
Open to opportunities · Bengaluru, India
Software Developer building across the full stack — from npm packages & Chrome extensions to .NET & React applications. I care about clean APIs, great DX, and code that holds up.
About
I'm Nitish Kumar M, a software developer from Bengaluru building across the stack. My work spans Node.js utilities, React frontends, .NET backends, and desktop tooling in C# — I pick the right tool, not the trendy one.
I published favicon-extractor on npm — a backend-focused Node.js utility for fetching favicons at scale, with full TypeScript typings, ESM + CJS dual exports, and a live Vercel demo. It reflects how I think about DX: zero friction, type-safe, well-documented.
I also build desktop tools. Spy is a C# / WPF application for real-time window capture and input monitoring — built with Win32 API hooks and zero external dependencies.
Beyond code I focus on DSA, Chrome extension development, and exploring what web and native platforms can do together.
Work
A unified AI chat platform that lets users access OpenAI, Gemini, and Perplexity in one place. Just plug in your API key and switch between models instantly. One interface, endless intelligence.
A software application built to seamlessly generate and manage invoices. Provides a clean and intuitive interface for tracking billing information and creating professional invoices efficiently.
A Windows desktop utility for real-time window monitoring. Enumerates all active user processes, captures live screenshots of any selected window, and logs keyboard & mouse actions with full timestamps — built in C# / WPF using low-level Win32 API hooks. Zero external dependencies, just the platform.
favicon-extractor: A lightweight Node.js utility to fetch and extract favicons from any website URL. Perfect for apps, extensions, or APIs.
create-react-chrome-ext: A boilerplate setup for building Chrome extensions using React. Includes essential configurations to kickstart extension development.
19 public repositories spanning Chrome extensions, .NET projects, DSA practice, Python utilities, and more experiments. All open-source. Worth exploring if you want to see the full range.
Skills
Log
Building a completely new version of my portfolio with Bebas Neue + DM Mono, a full responsive system using clamp()throughout, and now this living log feed so visitors can see what I'm actually working on day-to-day.
I needed reliable favicon fetching for a side project and every solution I found either ran in the browser or had heavy dependencies. Wrote a clean Node.js-only utility, published it on npm, and documented it properly. Here's what I learned about dual ESM/CJS exports.
Setting up dual exports in package.json sounds simple until you hit the edge cases — require() vs import, .mjsextensions, and bundler quirks. Spent two hours on something that should take ten minutes. Documenting this so future-me doesn't repeat it.
Experimenting with a Manifest V3 Chrome extension using React + Vite. The goal: a lightweight tab manager that surfaces context without getting in the way. Early stage — just getting the background service worker pattern right.
Rewrote the keyboard and mouse hook logic in Spy to use lower-level Win32 hooks instead of WPF event routing. Much more reliable across different window types, and no longer drops events under high-frequency input.
The more I practice DSA the more I see it show up in real code — choosing the right data structure for a cache, recognising a graph problem in a dependency resolver, knowing when O(n log n)actually matters. It's worth doing consistently, not just before interviews.
Showing 6 of 6 entries
All activity on GitHub ↗Contact
Open to full-time roles, freelance projects, and interesting open-source work. If you have a problem worth solving — let's talk.