From a57d822e6a58139a202003a44a103d0c2bdc65fd Mon Sep 17 00:00:00 2001 From: Arkaprabha Chakraborty Date: Tue, 9 Dec 2025 06:29:25 +0530 Subject: [PATCH] new entry --- blob/htmx-vs-react.jpeg | Bin 0 -> 39338 bytes entries/How-to-Play-Windows-Games-on-Linux.md | 2 +- ...io:-Faster,-Leaner,-and-with-Less-Bloat.md | 110 ++++++++++++++++++ 3 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 blob/htmx-vs-react.jpeg create mode 100644 entries/Rebuilding-My-Portfolio:-Faster,-Leaner,-and-with-Less-Bloat.md diff --git a/blob/htmx-vs-react.jpeg b/blob/htmx-vs-react.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c0d2effa24be0e4aafb2becdd6167bab26f556d8 GIT binary patch literal 39338 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 I was calling external APIs during the request cycle, blocking the entire render until GitHub responded. + +No HTML was sent until the GitHub API call completed. And without framework-level abstractions like caching or static generation, the delay hit the user directly. + +--- + +## HTMX as Lightweight “Hydration” + +The fix was obvious once I saw the bottleneck: don’t make the initial page load wait for remote APIs. + +Instead, I shifted from **blocking SSR** to **progressive loading** using HTMX. + +### Before (Blocking) + +* User requests `/` +* Server fetches GitHub data +* Server renders the template +* Only then does HTML get sent back + +### After (HTMX-enhanced) + +* User requests `/` +* Server immediately returns static HTML (with placeholders) +* HTMX fires background requests to fetch stats +* Received fragments are swapped into the page + +This change preserved the super-fast initial load **without** sacrificing dynamic data. + +The page becomes visible almost instantly, and the asynchronous HTMX swaps feel natural—similar to hydration, but without any client-side runtime or heavy JS bundles. + +--- + +## Lessons From the Rebuild + +### 1. Not every site needs a full framework + +For mostly-static content, a minimal backend + progressive enhancement often wins in clarity and speed. + +### 2. SSR is only fast when your data is local + +If your render pipeline waits on third-party APIs, you're no longer doing “fast SSR”—you’re doing “SSR with built-in delays.” + +### 3. Interactivity doesn’t require an SPA + +HTMX continues to prove that small, targeted interactions can replace entire client-side frameworks. + +### 4. Perceived performance matters most + +Sending HTML quickly has a bigger impact than many deep optimizations that happen later. + +--- + +## The Final Result + +The new portfolio is dramatically faster, simpler, and lighter. +On a slow 4G network, the old site took **over six seconds** to load. +The new one loads in about **two seconds**, even under similar conditions. + +That improvement comes from: + +* A lean backend +* An HTMX-powered loading model +* ~10× less data transferred compared to the previous build +* No hydration, no bundlers, no labyrinth of abstractions + +The rebuild didn’t just improve the site—it clarified how I want to approach small web projects going forward: focus on speed, reduce moving parts, and keep the behavior predictable.