Amal's avatar

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.

Amal's avatar

Open source ngrok alternative designed for teams. Expose local http, tcp and websocket servers to the internet.

GoReactOpen Source
Amal's avatar

A code editor that mimics cursor, runs on web. Haven't updated this in a while.

React
Amal's avatar

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 2024

Introducing Portr, a self-hosted ngrok alternative

Adding Social Authentication to Flask

Mar 2024

Add social auth to a Flask app

Docker Best Practices for Python Developers

Feb 2024

Best practices to make your Dockerfiles cleaner, leaner, and more secure

Working with Static and Media Files in Django

Jan 2024

How to work with static and media files in Django, locally and in production

Fine-tuning GPT: Building a better and cheaper assistant?

Sep 2023

Exploring GPT fine-tuning for custom assistants

Generating migrations for GORM with Atlas

Sep 2023

How to generate database migrations for Go GORM using Atlas

Replacing FastAPI's default API docs with Elements

Sep 2023

Use Stoplight Elements for better API documentation

Changing the default ClickHouse server response format to JSON

Sep 2023

Configure ClickHouse to return JSON by default

ActionAI: Call local functions using OpenAI function calling

Jul 2023

Using OpenAI function calling to invoke local functions

Dockerizing Flask with Postgres, Gunicorn, and Traefik

May 2023

Configure Flask to run on Docker with Postgres, Gunicorn, Traefik, and Let's Encrypt

Dockerizing Django with Postgres, Gunicorn, and Traefik

Feb 2023

Configure Django to run on Docker with Postgres, Gunicorn, Traefik, and Let's Encrypt

Web Authentication Methods Compared

Feb 2023

Commonly used web authentication methods explained

Dockerizing FastAPI with Postgres, Uvicorn, and Traefik

Feb 2023

Configure FastAPI to run on Docker with Postgres, Uvicorn, Traefik, and Let's Encrypt

Adding Social Authentication to Django

Nov 2022

Set up social auth with Django and Django Allauth

CSRF Protection in Flask

Oct 2022

What CSRF is and how to prevent a CSRF attack in Flask

Session-based Auth with Flask for Single Page Apps

Sep 2022

Add session-based authentication to a SPA powered by Flask and Svelte

Using Hypothesis and Schemathesis to Test FastAPI

Sep 2022

Property-based testing via Hypothesis and Schemathesis for FastAPI

Parallelism, Concurrency, and AsyncIO in Python

Jul 2022

Speed up CPU-bound and IO-bound operations with multiprocessing, threading, and AsyncIO

Rapid Prototyping with Flask, htmx, and Tailwind CSS

Apr 2022

Add htmx and Tailwind CSS to Flask to improve developer productivity

Rapid Prototyping with Django, htmx, and Tailwind CSS

Apr 2022

Add htmx and Tailwind CSS to Django to improve developer productivity

Moving from Flask to FastAPI

Mar 2022

Comparing and contrasting common patterns in Flask and FastAPI

Global progress bar for htmx

Jan 2022

Add a global progress bar to htmx applications

Serving a Machine Learning Model with FastAPI and Streamlit

Dec 2021

Serve up a style transfer machine learning model with FastAPI and Streamlit

Adding Page Progress Bar To SvelteKit

Nov 2021

Implement a page progress bar in SvelteKit

Django Magic Link Authentication

Nov 2021

Implement passwordless magic link auth in Django

Deploying Sapper application to Deta.sh

Sep 2021

Deploy a Sapper app to Deta.sh

Setting up FastAPI, Ormar and Alembic

Aug 2021

Configure FastAPI with Ormar ORM and Alembic migrations

Pydantic for FastAPI

May 2021

Using Pydantic models effectively in FastAPI

Fake API - An API to generate fake data

Feb 2021

Build an API that generates fake data

Build a Reddit Video downloader with Python

Jan 2021

Create a Reddit video downloader using Python

Deploy FastAPI Serverless-ly

Nov 2020

Deploy FastAPI applications serverlessly

Building the Python REPL

Oct 2020

How to build a Python REPL from scratch

Building the frontend - Part III (Live tweet sentiment analysis)

Aug 2020

Frontend for live tweet sentiment analysis app

Building the backend - Part II (Live tweet sentiment analysis)

Aug 2020

Backend for live tweet sentiment analysis app

Building the classifier - Part I (Live tweet sentiment analysis)

Aug 2020

ML classifier for live tweet sentiment analysis

Amal's avatar

I'm currently in Bengaluru, India

Amal's avatar

You can contact me here:

My email [email protected]

I'm @amalshaji on GitHub

Lastly, I'm @amal_ytics on X (formerly Twitter)

Amal's avatar

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