Rewriting this Site to Fit Into the Initial TCP Congestion Window
2025-12-15
I recently read this article by endtimes.dev and I played around with inspect tool and it is honestly amazing how fast the site is even when it is throttled to 2G. After experiencing this out-of-this-world idea, I decided that I also want to have a super minimal site. For all of you reading this, it should be obvious that my homepage should be less than 14KB. It is just a white canvas with around 20 words scattered on top; there is nothing else. But surprise, surprise the homepage comes out to 174KB!! This is compressed too!!
It turns out the Next.js and React.js libraries are just huge
shipping container sized bundlers. They need the React library, the
React DOM, and the Next.js router JSON. For a small, personal site
like mine, this is like blowing a hole through a wall just to kill a
mosquito. It was absolutely insane. Not to mention my projects site
which uses Quarto as the renderer and Bootstrap themes for
appearance. In total, without including the images, my projects page
transfers around 200+ KB!
Fixing this bloat issue wasn’t too hard, however. I switched my js
framework to Astro and moved just the html over. I deleted the resume
page since most browsers have their own pdf viewer and I am now using
Quarto to render my projects into GitHub Flavored Markdown for
Astro to render into html. In all, this project took a few hours on a
weekend and I am pretty proud of how small my site now is.
If you haven’t seen the previous site, I have images down below that
shows the site and the page’s stats. But, to conclude, I have seen a lot
of “minimalistic” sites that basically have just a white background and
text but have a huge transfer size. I don’t think switching to a smaller
framework or just writing it in plain HTML and CSS would change a
whole lot. There are caveats, of course, if you’re stuck with a renderer
like Quarto or if you’re not working with HTML or CSS then this
process would be a lot harder. Additionally, fonts take up a lot of
space as well but, in general, a smaller site just feels nice to brag
about.
Old Site

Load Time (s) 0.2945
Total Transferred (KB) '173.57'
Resources Count 14

Load Time (s) 1.251
Total Transferred (KB) '4967.90'
Resources Count 29

Load Time (s) 0.2945
Total Transferred (KB) '389.90'
Resources Count 20
New Site

Load Time (s) 0.15330000001192093
Total Transferred (KB) '7.03'
Resources Count 2

Load Time (s) 0.15629999999701977
Total Transferred (KB) '6.04'
Resources Count 1

Load Time (s) 0.1701000000089407
Total Transferred (KB) '0.99'
Resources Count 1