Munawwar Firoz
munawwar.bsky.social
Munawwar Firoz
@munawwar.bsky.social
Web developer - HTML / CSS / JS, node.js, preact, vanilla JS, serverless, serverful, databases, IaC

github.com/Munawwar | codepasta.com

At Carriyo, Dubai, UAE
My exploration with react: github.com/Munawwar/rea...

I've been sitting on a simpler approach FW even: github.com/Munawwar/Pep... . It does SSR + hydration + has stores all within 2kb. Hydration is so dead simple, traverse dom and attach event listeners. Down sides - no components, dom diff based
November 13, 2025 at 1:20 PM
@justinfagnani.com 2 questions:

1. So hydration is going to be a userland concern?

2. How do you get type checking? IIUC say typescript-lit-html-plugin gives autocomplete but not type checking with tsc. Also now it needs to support framework components.
November 13, 2025 at 12:59 PM
Based on tagged template literals. JSX transform. Hydration in design. I love this!

The one that could have complimented this is the ESX proposal.
November 12, 2025 at 6:17 AM
Even the UX choices they made e.g. they show the product filters right when you land on the listing page. It's specific to their line of business where there are so many product variants
November 12, 2025 at 5:57 AM
Country and language selectors should be separate. And the language name written in that language
November 7, 2025 at 8:25 PM
Here's the fun part: if you do decide to maintain a fork of a FW, you'll realize their documentation website is using another dead framework, so now you're in a recursive loop of trying to fork FWs 😂
November 6, 2025 at 8:34 PM
Also
- you carry the weight of features you don't use - complexity, architecture

- FW internal bugs are you're problem yet you can't easily fix

- you need to keep up with major upgrades else you're left with a FW you don't know enough about to maintain. And this is on avg every 2 years
November 6, 2025 at 8:20 PM
humans are round? like a ball?
a panda bear is laying in the grass with leaves on the ground .
ALT: a panda bear is laying in the grass with leaves on the ground .
media.tenor.com
November 1, 2025 at 4:08 PM
lol
I also liked @rschristian.dev 's reply last time I said that: "But what if I want to shoot lightning from my hammer?"
😂 Man, that's exactly how devs think these days!
October 31, 2025 at 5:04 PM
I think @nerdy.dev would join the club
October 31, 2025 at 3:14 PM
I am growing old I think. Happens at 35+ I think. @brianleroux.bsky.social make a club for people who is growing tired of web dev trends.
October 31, 2025 at 10:37 AM
iirc nodejs sourcemaps took too much memory? And without that, stack traces are going to suck
October 28, 2025 at 12:46 PM
Somebody please get this man access! 😆 (john wick reference)
October 14, 2025 at 2:20 PM
Nice! But can I ask, why JS at this point? go? rust?
October 9, 2025 at 7:34 PM
heard good things about dokku. didn't try any of it myself
October 9, 2025 at 4:13 PM
Even smaller codebases which only needed backwards compatibility. The scheduler has broken things in subtle ways esp code with async side effects
October 9, 2025 at 9:25 AM
"replacement for hmr" - this one is for the esbuild setup. The vite FOUC is so annoying I am thinking to keep both templates in two separate branches 😆
October 7, 2025 at 3:58 AM
@jovidecroock.com on a JS change if I were to unmount the component from root, and then render from new JS, would that work? i.e be a close replacement for HMR? This is assuming page cleans up side effects on unmount. States will reset, but its better than full page reload which calls server.
October 6, 2025 at 7:04 PM
The FOUC is inherent to unbundled dev approach of vite. Because we're used to importing css files from within js files, vite has to wait till all those js files loads to figure out what css files to load. Sucks. I think rolldown full bundle mode is needed to solve this.
October 5, 2025 at 8:13 PM
EJS!

I am thinking though:



bsky.app/profile/muna...
What if you could SSR a preact bundle from go, php, python or ruby?

gist.github.com/Munawwar/fe6...
October 3, 2025 at 6:17 PM
So it was adam. I blame it on adam now. 😛
October 3, 2025 at 2:16 PM