Software developer focused on local-first software and AI built from scratch — tools that run entirely on your own machine, with no accounts, no telemetry and nothing to install. B.Tech student in India, shipping real projects since 2024.
A family of offline-first desktop apps that share one shape: a double-click to start, a web page instead of a command line, the Python standard library instead of dependencies, and plain words everywhere. 800+ automated tests across the repos.
| project | what it does | |
|---|---|---|
| 🗺 | nano | the family map — all apps, how they fit together |
| 🧠 | nanoLaama | chat with a local AI, fully offline |
| 📚 | nanoDoc | ask a document questions, with the source paragraph shown |
| 🗂 | nanoGit | version control without learning git — 218 tests |
| 🧲 | nanoPick | find files by describing what you remember |
Not calling APIs — building the stack underneath them:
- ⚙️ nanollama.c — an LLM inference engine in ~1,400 lines of dependency-free C: transformer forward pass, BPE tokenizer, hand-rolled thread pool, int8 quantization. No BLAS, no OpenMP, no API keys.
- 🧬 nanobrain — a Llama-2 transformer trained from scratch in raw PyTorch (16.9M params, 35 hours on CPU), exported to my own engine's binary format.
- 🏗 nanoforge · 🎯 nanorl — the studio and the SFT/DPO alignment trainers that complete the pipeline.
- MediaForge — drag-and-drop AI media builder: visual node editor (ReactFlow) over a FastAPI backend for image/video/audio models.
- finguard — financial fraud detection platform: FastAPI + scikit-learn + React 18, with a hybrid explainable detection engine.
- trek-dtn-messenger — delay-tolerant messaging agent for intermittent networks via greedy SMTP flushing.
| Languages | Python · C · TypeScript / JavaScript · Java |
| AI / ML | PyTorch (training from scratch), scikit-learn, SFT / DPO, transformers |
| Web | FastAPI, React, Next.js, Node.js, PostgreSQL, MongoDB |
| Practice | GitHub Actions CI on every repo, unittest suites, stdlib-first design |
- 📧 rishuagarwal441@gmail.com
- 💬 open an issue or discussion on any repo — I read all of them