frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Ask HN: Quantum Computation, Computers and Programming

11•rramadass•12h ago•9 comments

ADHD. How do you manage the constant stream of thoughts and ideas?

14•chriswright1664•33m ago•9 comments

Ask HN: Discrepancy between Lichess and Stockfish

15•HNLurker2•4h ago•10 comments

Ask HN: 500 citation MSc CS, stuck in a low-trust region. How to move forward?

14•throwawaysafely•7h ago•12 comments

Ask HN: Looking for Windows contributors for meeting-detection engine

7•Ayobamiu•7h ago•0 comments

Ask HN: Who remembers AWS Spot's auction era before the 2017 pricing change?

2•aleroawani•4h ago•0 comments

Tell HN: DigitalOcean's managed services broke each other after update

75•neilfrndes•23h ago•46 comments

Ask HN: Vxlan over WireGuard or WireGuard over Vxlan?

33•mlhpdx•4h ago•52 comments

Ask HN: What are you working on? (January 2026)

253•david927•2d ago•833 comments

Tell HN: The insane price hike of internal SSDs

3•malshe•3h ago•5 comments

Tell HN: Intel could blow up the Console Wars if it had the guts

2•noumenon1111•3h ago•5 comments

Tell HN: The Google Tenor GIF API has been shut down

13•dfajgljsldkjag•7h ago•9 comments

Ask HN: Does anyone else think that humanoid robots is a bubble?

5•NewUser76312•3h ago•8 comments

Ask HN: Are you underutilizing your insurance too?

2•nemath•4h ago•4 comments

Ask HN: Learning Discoverability

2•learnwithmattc•9h ago•0 comments

Is "AI vibe coding" making prototyping worse inside real companies?

11•arapkuliev•7h ago•1 comments

Ask HN: What made you move back to HTML-to-PDF in production?

5•gokulsiva•8h ago•4 comments

Ask HN: Iran's 120h internet shutdown, phones back. How to stay resilient?

47•us321•6h ago•54 comments

Eleva.js – A 2.3KB JavaScript framework with signals and no virtual DOM

2•TarekRaafat•6h ago•0 comments

Unpopular Opinion: Bootstrap is a better front-end framework than Tailwind

21•pyeri•18h ago•25 comments

Experiment: Using NotebookLM as a cynical code reviewer (via custom prompts)

2•practicalaifg•7h ago•0 comments

Gh Account Permabanned – Help?

9•nicomeemes•8h ago•8 comments

Ask HN: Story about a CEO going off on a user who left feedback?

3•VladVladikoff•9h ago•2 comments

Ask HN: How do you prevent AI agents from going rogue in production?

3•techbuilder4242•9h ago•0 comments

Ask HN: Salesforce, SAP, or ServiceNow: Which Is Most Ripe for Disruption?

6•Saurabh_Kumar_•9h ago•1 comments

My casual chat with AI about cancer led to an internal prototype named"Onco-Bus"

2•sony707•9h ago•0 comments

Ask HN: Where is all the protest music?

6•swiper_lux•13h ago•14 comments

Ask HN: Job seekers, what's working / not working?

17•Jabbs•1d ago•17 comments

Ask HN: Is Reddit Down(-Ish)?

3•theanonymousone•7h ago•7 comments

I am a fan of XianXia's novels from China

2•tain1223•6h ago•0 comments
Open in hackernews

Eleva.js – A 2.3KB JavaScript framework with signals and no virtual DOM

2•TarekRaafat•6h ago
Hello HN,

I've been working on Eleva.js, a minimalist frontend framework that just hit v1.0.0.

What it is: A 2.3KB (gzipped) vanilla JavaScript framework with signal-based reactivity and direct DOM patching.

Why I built it: I wanted something between writing raw DOM manipulation and using React/Vue. No JSX, no compiler, no virtual DOM — just native template literals and a simple reactivity primitive.

The mental model is intentionally small:

  const app = new Eleva("App");

  app.component("Counter", {
    setup({ signal }) {
      const count = signal(0);
      return { count, inc: () => count.value++ };
    },
    template: (ctx) => `
      <p>${ctx.count.value}</p>
      <button @click="inc">+</button>
    `
  });

  app.mount(document.body, "Counter");

Technical choices:

- Signals for reactivity (similar to Solid/Preact signals) - Direct DOM diffing instead of virtual DOM - Render batching via queueMicrotask - No build step required — works with native ES modules - ~0.5KB/row memory overhead in Chrome benchmarks

Trade-offs:

- No SSR yet (client-side only) - Template strings aren't as composable as JSX - Smaller ecosystem than established frameworks

Links:

- Docs: https://elevajs.com - GitHub: https://github.com/TarekRaafat/eleva - npm: npm install eleva

Happy to answer questions about the implementation or design decisions.