I got tired of React bloat, so I wrote 350 LOC lib to never touch it again
Mood
heated
Sentiment
negative
Category
tech_discussion
Key topics
React
Javascript
Frontend
Web Development
Library
Discussion Activity
Light discussionFirst comment
N/A
Peak period
1
Hour 1
Avg / period
1
Based on 1 loaded comments
Key moments
- 01Story posted
Nov 24, 2025 at 11:48 AM EST
9h ago
Step 01 - 02First comment
Nov 24, 2025 at 11:48 AM EST
0s after posting
Step 02 - 03Peak activity
1 comments in Hour 1
Hottest window of the conversation
Step 03 - 04Latest activity
Nov 24, 2025 at 11:48 AM EST
9h ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
pfusch [pfʊʃ] is Austrian slang word refering to work that is done carelessly, unprofessionally, or without proper skill, resulting in poor quality or subpar results. And my god, was it done carelessly.
But: No build step, no Vite/Nextjs/WASM/webpack/insert-the-one-millionst-way-to-open-a-website matryoshka, just pfusch('my-widget', {}, () => [html.div('hi')]); and it works. Tests look like pfuschTest('my-widget').flush(). no virtual DOM sermon, no hooks brain gymnastics.
Features:
- Declarative components without JSX or a babel pipeline or anything but a browser. - Tiny API surface: pfusch(name, state, renderFn) and a little test helper. - DOM-first, uses modern browser features instead of reinventing them. - Runs in 2025 browsers with zero deps. Because browsers are really huge, let's stop downloading more, shall we?
Code is here: https://github.com/MatthiasKainer/pfusch/
If you’re happy with your 800KB bundle and dependency roulette, keep scrolling. If you want to build a widget in the time it takes React to finish npm install, kick the tires and tell me what breaks.
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.