Blog

I made my own macOS Wireguard VPN client

Jul 15, 2025

WireGuard client for macOS doesn't support split tunneling, so I built my own solution to handle selective routing through VPN tunnels on macOS.

The Master Guide To Moving Data Between Elasticsearch and OpenSearch

Oct 16, 2022

Elasticsearch is one of the most commonly used distributed databases. I used to self-manage my Elasticsearch cluster when I first started my startup since it is cost-effective using Terraform. Over time, as the data and requirements started growing, I decided to move to AWS-managed Elasticsearch service called OpenSearch. In my quest to move the data, I ended up discovering all possible ways to move data from Elasticsearch to OpenSearch.

The Slippery Slope of Self-Hosting

May 01, 2022

As someone who self-hosts a lot of different apps today, I only meant to host one. But once you start enjoying the control over the system and data, you want to self-host everything. In recent years, many products have adopted a free to self-host/paid enterprise plans model where it is free for users to self-host the product but they have to host their own server.

Improving the VPN Experience on iPhone/iOS

Apr 19, 2021

I remember the time when adding HTTPS to any website/domain used to come at a cost. When I look back today, it seems absurd that we were transmitting data in plain text before HTTPS became a de facto standard. I feel similarly about VPNs (Virtual Private Network). They have become an integral part of using the internet today.