Hi, i'm Sami. Welcome to my blog

I've been building software for close to a decade. I've been building web applications for small and medium sized businesses and enterprises.

My speciality is business web applications with complex domain logic. I've written code for businesses in the Education, Telecoms, Customer Experience (CX) and Loyalty Rewards spaces. I'm a product focused engineer that focus on delivering as much user value as fast as possible.

I've got experience with a number of web frameworks, languages, database technologies, and server and deployment stacks. I've launched a number of my own products as well, so have got experience setting up good monitoring and observability for the things you care about as a product owner.

AI is an exciting space for sure these days. I have built a few projects around AI, including some AI Assistant chatbots for businesses that are live in production in now. I have been upskilling and taking course in the areas of AI engineering, with a focus on learning how to build reliable AI and LLM based applications for production.

You can find on this site, some of the things I write about. A lot of it is thoughts I have while working on and building out software products. Some of it is also things I have learned watching podcasts and reading articles around software and AI.

Thoughts and posts

I share here some of my thoughts on software engineering, AI, and building products, that I put together as I go through my work days.

View all posts

Featured Articles

These are some in depth blogs posts I have done on software engineering and building with AI.

A Super Simple ReAct Agent from Scratch

A Super Simple ReAct Agent from Scratch

Built with just Python and the Anthropic API. A Super Simple ReAct Agent Built with just Python and the Anthropic API Have you built out your first ReAct agent from scratch yet? Using no LLM frameworks?

Published on Data Science CollectiveSep 2025
Routing in RAG Driven Applications

Routing in RAG Driven Applications

Directing the application flow based on query intent. Routing the control flow inside a RAG application based on the intent of the user's query can help us create better experiences.

Published on TDS ArchiveMay 2024
Building a Multi-document Reader and Chatbot With LangChain and ChatGPT

Building a Multi-document Reader and Chatbot With LangChain and ChatGPT

The best part? The chatbot will remember your chat history. Updated January 2024 to work with LangChain v0.1.0, the libraries have evolved quite a bit.

Published on Better ProgrammingJul 2024
Exploring How the New OpenAI Realtime API Simplifies Voice Agent Flows

Exploring How the New OpenAI Realtime API Simplifies Voice Agent Flows

Setting up a Voice Agent using Twilio and the OpenAI Realtime API. At the recent OpenAI Dev Day on October 1st, exploring how this new API simplifies voice agent development.

Published on TDS ArchiveOct 2024
AI Voice Agent with Twilio, Express and OpenAI

AI Voice Agent with Twilio, Express and OpenAI

Let's get ChatGPT over the phone. This means we can setup a number to call where our voice agent will pickup and we can start interacting with ChatGPT.

Published on Level Up CodingOct 2024
Building a simple Agent with Tools and Toolkits in LangChain

Building a simple Agent with Tools and Toolkits in LangChain

Get familiar with the building blocks of Agents in LangChain. Let's build a simple agent in LangChain to help us understand some of the building blocks.

Published on TDS ArchiveJul 2024
AI Generated QR codes with ControlNet, HuggingFace and Google Colab

AI Generated QR codes with ControlNet, HuggingFace and Google Colab

AI generated QR codes are a new concept which I think will become mainstream very soon. Why would a restaurant, coffee shop or retail store use boring QR codes?

Published on MediumNov 2024
Private LLMs on Your Local Machine and in the Cloud With LangChain, GPT4All, and Cerebrium

Private LLMs on Your Local Machine and in the Cloud With LangChain, GPT4All, and Cerebrium

The idea of private LLMs resonates with us for sure. The appeal is that we can query and pass information to LLMs without our data or queries being sent to external services.

Published on Better ProgrammingApr 2024