Not

Hacker News!

Beta
Home
Jobs
Q&A
Startups
Trends
Users
Live
AI companion for Hacker News

Not

Hacker News!

Beta
Home
Jobs
Q&A
Startups
Trends
Users
Live
AI companion for Hacker News
  1. Home
  2. /Story
  3. /I got tired of React bloat, so I wrote 350 LOC lib to never touch it again
  1. Home
  2. /Story
  3. /I got tired of React bloat, so I wrote 350 LOC lib to never touch it again
Nov 24, 2025 at 11:48 AM EST

I got tired of React bloat, so I wrote 350 LOC lib to never touch it again

mat_the_k
2 points
1 comments

Mood

heated

Sentiment

negative

Category

tech_discussion

Key topics

React

Javascript

Frontend

Web Development

Library

Discussion Activity

Light discussion

First comment

N/A

Peak period

1

Hour 1

Avg / period

1

Comment distribution1 data points
Loading chart...

Based on 1 loaded comments

Key moments

  1. 01Story posted

    Nov 24, 2025 at 11:48 AM EST

    9h ago

    Step 01
  2. 02First comment

    Nov 24, 2025 at 11:48 AM EST

    0s after posting

    Step 02
  3. 03Peak activity

    1 comments in Hour 1

    Hottest window of the conversation

    Step 03
  4. 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

Discussion (1 comments)
Showing 1 comments
mat_the_k
9h ago
I spent more time fighting React than shipping features, so I stitched together a tiny 350-line thing I call "pfusch".

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.

View full discussion on Hacker News
ID: 46036078Type: storyLast synced: 11/24/2025, 4:50:09 PM

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.

Read ArticleView on HN

Not

Hacker News!

AI-observed conversations & context

Daily AI-observed summaries, trends, and audience signals pulled from Hacker News so you can see the conversation before it hits your feed.

LiveBeta

Explore

  • Home
  • Jobs radar
  • Tech pulse
  • Startups
  • Trends

Resources

  • Visit Hacker News
  • HN API
  • Modal cronjobs
  • Meta Llama

Briefings

Inbox recaps on the loudest debates & under-the-radar launches.

Connect

© 2025 Not Hacker News! — independent Hacker News companion.

Not affiliated with Hacker News or Y Combinator. We simply enrich the public API with analytics.