I'm a Principal AI Engineer at TrellisSoft in Bengaluru. I build speech, document and LLM systems, from the data and models to the application people use.
A lot of my work is in the details around a model: getting a job to recover after a crash, checking an answer against its source, or finding out why a model that fits in memory is still too slow. I share the tools and experiments here, along with what worked and what didn't.
Portfolio · Writing · LinkedIn · Email
| Project | What it does | Try it or read more |
|---|---|---|
| ThinkLess | Lets rules and small models handle routine agent decisions, with an LLM for the cases they cannot settle. Still pre-1.0. | Docs and benchmarks |
| CleanFrame | Cleans CSVs and spreadsheets through saved recipes. Replay needs no model calls, and schema changes stop the run for review. | Browser demo |
| MoM AI | Turns recordings into transcripts, decisions and action items, using local models or providers you choose. | How it is built |
| Easy-vLLM | Estimates GPU memory needs and generates a vLLM command and Docker setup for your hardware. | Open the tool |
| ggml-inference-lab | Scripts and results from my work on inference, quantization, language adaptation and speaker diarization. | Experiments |
| Py Internals | An interactive Python course with step-by-step views of memory, objects and execution. | Read the course |
- Speech and audio: Speech Annotation Tool for reviewing transcripts and preparing datasets; AudioFP for finding clips and repeated audio in recordings.
- Documents and retrieval: contextsearch combines keyword and embedding search, with the source passage behind each result. Docuvera360 is a case study from my professional work; its code is closed source.
- Models and evaluation: Kavach PII covers training a small multilingual model, auditing its data, and measuring where it still fails.
- Recommendations and learning: Movie Recommendation System and ML Algorithms from Scratch.
- Everyday tools: HabitFlow, a local habit tracker, and coding-agent rules for reducing unnecessary context and edits.
The project directory has the longer write-ups and earlier work. Reuse terms are in each project's license.
ThinkLess and CleanFrame are where I'm exploring when a model is useful and when a saved rule or recipe is enough. The repositories have the current releases, benchmarks and next steps. I also keep adding to Py Internals and writing up experiments on the hardware I have.
A few notes worth starting with:
- How I choose a model, an evaluation and a serving setup
- Training and shipping a speaker diarizer on a CPU
- Measuring llama.cpp speed and accuracy on one laptop
For work or a project you'd like to discuss, email me or find me on LinkedIn. For bugs and contributions, start with an issue in the relevant repository.
If you use these tools and want to help with their upkeep, GitHub Sponsors supports the maintenance and experiments.




