Hi there 👋

I am a sofware engineer currenly located in Bangalore, India. Welcome to my blog and feel free to reach out to me at any of the below links!

I Built an AI With Hands. Then I Stopped.

A project retrospective on giving AI hands - client-side tool execution, the MCP gap on native clients, and knowing when to ship an idea as a blog post instead of an app. ChatBridger on macOS - a clean slate, waiting for the AI to do something the others can't. The gap I kept noticing Open any AI chat app on your iPhone. ChatGPT. Claude. Gemini. They’re all the same thing underneath: a text box that sends your message to a server, gets a response, displays it. Beautifully polished, genuinely useful - and completely sandboxed from the device they’re running on. ...

March 17, 2026 · 9 min · Shreyash Agarwal

Setting Up a Retrieval-Augmented QA Pipeline with Haystack and Ollama

Introduction Retrieval-Augmented Generation (RAG) is a powerful approach for creating more accurate and context-aware responses from Large Language Models (LLMs). Instead of relying solely on the model’s internal training data, RAG uses external documents to ground answers, making them more factual and relevant. In this tutorial, you’ll learn how to build a simple RAG pipeline using Haystack and Ollama. By the end, you’ll have a working setup that retrieves relevant documents and generates answers locally—no expensive API keys required. ...

December 6, 2024 · 5 min · Shreyash Agarwal

Python Version Management with ASDF

As a software engineer, managing multiple programming languages and their dependencies can be a complex task and involves significant overhead in managing them. Enter Asdf - It is a version manager that aims to simplify this process by providing a unified interface for managing multiple language runtimes, including Python. Python is a widely-used programming language, and developers often need to switch between different versions of Python for various projects. Using asdf, you can install and manage different versions of Python and its dependencies, making it easier to work on multiple projects with different Python version requirements. ...

March 18, 2023 · 3 min · Shreyash Agarwal

A simple Docker walkthrough

According to the official docker page - A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. Docker helps programmers to deliver their software in a reliable and consistent manner. Since it has everything required to the application it is designed for, it alleviates the problem of “It works on my PC, don’t know why it doesn’t work on yours!” ...

May 24, 2019 · 4 min · Shreyash Agarwal

Scraping web tables with requests and pandas

Hey everyone, It’s been a long time since I posted something, I’ve been busy with work and other things. I’ve written a lot of scrapes recently and while trying to reduce the code I would have to write, I stumbled upon something. Have you heard about Pandas? It’s a fantastic library which not only is useful for maintaining data structures in it’s famous Dataframe, but also helped me cut out BeautifulSoup (another awesome library which I used to use for web parsing) completely! ...

August 5, 2018 · 2 min · Shreyash Agarwal