
I'm Amal. I work on AI agents during the day at my job, and I build developer tooling and AI side projects at night.



I try to write every now and then, often about stuff I've recently been working on. Click the lock to toggle the list.
Portr: open-source self-hosted tunnel designed for teams
Mar 2024Introducing Portr, a self-hosted ngrok alternative
Adding Social Authentication to Flask
Mar 2024Add social auth to a Flask app
Docker Best Practices for Python Developers
Feb 2024Best practices to make your Dockerfiles cleaner, leaner, and more secure
Working with Static and Media Files in Django
Jan 2024How to work with static and media files in Django, locally and in production
Fine-tuning GPT: Building a better and cheaper assistant?
Sep 2023Exploring GPT fine-tuning for custom assistants
Generating migrations for GORM with Atlas
Sep 2023How to generate database migrations for Go GORM using Atlas
Replacing FastAPI's default API docs with Elements
Sep 2023Use Stoplight Elements for better API documentation
Changing the default ClickHouse server response format to JSON
Sep 2023Configure ClickHouse to return JSON by default
ActionAI: Call local functions using OpenAI function calling
Jul 2023Using OpenAI function calling to invoke local functions
Dockerizing Flask with Postgres, Gunicorn, and Traefik
May 2023Configure Flask to run on Docker with Postgres, Gunicorn, Traefik, and Let's Encrypt
Dockerizing Django with Postgres, Gunicorn, and Traefik
Feb 2023Configure Django to run on Docker with Postgres, Gunicorn, Traefik, and Let's Encrypt
Web Authentication Methods Compared
Feb 2023Commonly used web authentication methods explained
Dockerizing FastAPI with Postgres, Uvicorn, and Traefik
Feb 2023Configure FastAPI to run on Docker with Postgres, Uvicorn, Traefik, and Let's Encrypt
Adding Social Authentication to Django
Nov 2022Set up social auth with Django and Django Allauth
CSRF Protection in Flask
Oct 2022What CSRF is and how to prevent a CSRF attack in Flask
Session-based Auth with Flask for Single Page Apps
Sep 2022Add session-based authentication to a SPA powered by Flask and Svelte
Using Hypothesis and Schemathesis to Test FastAPI
Sep 2022Property-based testing via Hypothesis and Schemathesis for FastAPI
Parallelism, Concurrency, and AsyncIO in Python
Jul 2022Speed up CPU-bound and IO-bound operations with multiprocessing, threading, and AsyncIO
Rapid Prototyping with Flask, htmx, and Tailwind CSS
Apr 2022Add htmx and Tailwind CSS to Flask to improve developer productivity
Rapid Prototyping with Django, htmx, and Tailwind CSS
Apr 2022Add htmx and Tailwind CSS to Django to improve developer productivity
Moving from Flask to FastAPI
Mar 2022Comparing and contrasting common patterns in Flask and FastAPI
Global progress bar for htmx
Jan 2022Add a global progress bar to htmx applications
Serving a Machine Learning Model with FastAPI and Streamlit
Dec 2021Serve up a style transfer machine learning model with FastAPI and Streamlit
Adding Page Progress Bar To SvelteKit
Nov 2021Implement a page progress bar in SvelteKit
Django Magic Link Authentication
Nov 2021Implement passwordless magic link auth in Django
Deploying Sapper application to Deta.sh
Sep 2021Deploy a Sapper app to Deta.sh
Setting up FastAPI, Ormar and Alembic
Aug 2021Configure FastAPI with Ormar ORM and Alembic migrations
Pydantic for FastAPI
May 2021Using Pydantic models effectively in FastAPI
Fake API - An API to generate fake data
Feb 2021Build an API that generates fake data
Build a Reddit Video downloader with Python
Jan 2021Create a Reddit video downloader using Python
Deploy FastAPI Serverless-ly
Nov 2020Deploy FastAPI applications serverlessly
Building the Python REPL
Oct 2020How to build a Python REPL from scratch
Building the frontend - Part III (Live tweet sentiment analysis)
Aug 2020Frontend for live tweet sentiment analysis app
Building the backend - Part II (Live tweet sentiment analysis)
Aug 2020Backend for live tweet sentiment analysis app
Building the classifier - Part I (Live tweet sentiment analysis)
Aug 2020ML classifier for live tweet sentiment analysis

I'm currently in Bengaluru, India

You can contact me here:
My email [email protected]
I'm @amalshaji on GitHub
Lastly, I'm @amal_ytics on X (formerly Twitter)

I like working on fun and interesting projects. Hit me up if you have any ideas or just want to chat about tech!
