frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Signet.js – A minimalist reactivity engine for the modern web

https://github.com/sntran/signet.js/
2•sntran•2h ago

Comments

sntran•2h ago
I built Signet.js because I wanted a reactive layer for high-performance edge applications that felt more like a browser standard than a "framework."

## The Architectural Context:

I’ve spent years working on high-performance websites and legacy CMS modernizations. I found that existing reactive frameworks often introduce excessive memory overhead or rigid DSLs that don't play well with bespoke, performant, or legacy-injected code. I wanted to see if I could build a "toolbox" instead of a "black box" that stays small.

## Design Philosophy & Trade-offs:

- Why `Proxy`? I initially explored `Object.defineProperty` to minimize bundle size, but I eventually pivoted to `Proxy`. While it adds a tiny bit of runtime trap cost, the engine-level optimizations in modern browsers make the performance impact negligible for UI cycles. More importantly, it allowed for clean, dynamic object handling without the "magic" workarounds required by descriptor-based reactivity. - Standards-First: I’m building Signet to be a thin orchestration layer. It currently leverages `@preact/signals-core` for its robustness, but the architecture is designed as a drop-in reactive layer. My roadmap is to align the internal primitive with the upcoming [TC39 Signals Proposal](https://github.com/tc39/proposal-signals), treating Signet as a bridge to native browser reactivity as it matures.

## Why did I build Signet instead of using [Alpine / petite-vue]?

The `petite-vue` Gap: Petite-vue was the gold standard for "sprinkling" interactivity, but with it no longer being maintained, there's a real need for a modern alternative that bridges the gap between pure HTML and heavy SPA frameworks.

Solving "DOM Pollution": A common friction point I found when moving to Alpine was the "messy DOM"—state-heavy applications often left behind excessive attributes and listeners that made the DOM feel cluttered. Signet is architected to be "DOM-transparent," ensuring that reactive bindings don't leave a trail of debris when components unmount.

Signal-First Architecture: By building Signet directly on a Signal primitive, I’m opting for a "Reactive-first" model. This is fundamentally cleaner than the directive-heavy, "magic-attribute" approach of previous libraries, leading to more predictable data flows and easier debugging.

## Memory Stability:

I ran a 10,000-component mount/unmount stress test using WeakRef to verify garbage collection. The results confirmed stable heap usage, proving that you can achieve leak-free reactivity with Proxy if you manage the dependency graph lifecycle correctly.

## A Note on Implementation:

I approached the development of Signet as a human architect utilizing AI agents for the implementation. My role was defining the constraints (e.g., bundle size limits, dependency lifecycle logic, memory stability) and enforcing the "clean DOM" architecture, while the AI handled the boilerplate and repetitive logic. This allowed me to iterate on the internal signal graph and performance testing at a speed that would have been impossible manually. This project is a deliberate experiment in "AI-assisted architecture"—where the human provides the technical constraints and domain expertise, and the AI acts as a high-speed implementation engine. I also let the AI implementor construct the full document site at https://sntran.github.io/signet.js/.

Show HN: Han – A Korean programming language written in Rust

https://github.com/xodn348/han
129•xodn348•7h ago•81 comments

Show HN: GrobPaint: Somewhere Between MS Paint and Paint.net

https://github.com/groverburger/grobpaint
33•__grob•6h ago•3 comments

Show HN: Ichinichi – One note per day, E2E encrypted, local-first

84•katspaugh•10h ago•28 comments

Show HN: GitAgent – An open standard that turns any Git repo into an AI agent

https://www.gitagent.sh/
105•sivasurend•15h ago•16 comments

Show HN: Signet.js – A minimalist reactivity engine for the modern web

https://github.com/sntran/signet.js/
2•sntran•2h ago•1 comments

Show HN: Data-anim – Animate HTML with just data attributes

https://github.com/ryo-manba/data-anim
11•ryo-manba•14h ago•4 comments

Show HN: Channel Surfer – Watch YouTube like it’s cable TV

https://channelsurfer.tv
582•kilroy123•3d ago•170 comments

Show HN: Learn Arabic with spaced repetition and comprehensible input

https://abjadpro.com
62•adangit•12h ago•19 comments

Show HN: Context Gateway – Compress agent context before it hits the LLM

https://github.com/Compresr-ai/Context-Gateway
89•ivzak•1d ago•50 comments

Show HN: Ink – Deploy full-stack apps from AI agents via MCP or Skills

https://ml.ink/
27•august-•3d ago•5 comments

Show HN: Structural analysis of the D'Agapeyeff cipher (1939)

https://msgtrail.com/posts/unmasking-the-dagapeyeff-cipher-a-multi-faceted-architecture
3•evaneykelen•5h ago•0 comments

Show HN: I built Wool, a lightweight distributed Python runtime

https://github.com/wool-labs/wool
13•bzurak•16h ago•3 comments

Show HN: KeyID – Free email and phone infrastructure for AI agents (MCP)

https://keyid.ai/
8•vasilyt•12h ago•8 comments

Show HN: Costly – Open-source SDK that audits your LLM API costs

https://www.getcostly.dev/
3•itsdannyt•7h ago•1 comments

Show HN: Replacing $50k manual forensic audits with a deterministic .py engine

3•cd_mkdir•7h ago•1 comments

Show HN: AI coding agent for VS Code with pay-as-you-go pricing- no subscription

https://www.llmonestop.com/#pricing
2•hhossain•7h ago•0 comments

Show HN: ZaneOps, A beautiful and fast self hosted alternative to Vercel

https://zaneops.dev/
2•fredkisss•7h ago•1 comments

Show HN: ngrep – grep plus word embeddings (Rust)

https://github.com/0xNaN/ngrep
3•xnan•7h ago•2 comments

Show HN: Cloak – send and receive secrets from OpenClaw

https://cloak.opsy.sh
3•d36ugger•8h ago•0 comments

Show HN: Json.express – Query and explore JSON in the browser, zero dependencies

https://json.express
2•udidu•8h ago•0 comments

Show HN: Axe – A 12MB binary that replaces your AI framework

https://github.com/jrswab/axe
219•jrswab•2d ago•122 comments

Show HN: Pidrive – File storage for AI agents (mount S3, use ls/cat/grep)

https://pidrive.ressl.ai/
3•abhishek203r•8h ago•0 comments

Show HN: Paperctl- An Arxiv CLI designed for agents

https://github.com/ChristianFJung/paperctl
2•christianjung•8h ago•1 comments

Show HN: Language Life – Learn a language by living a simulated life

https://www.languagelife.ai
4•bitforger•9h ago•1 comments

Show HN: What was the world listening to? Music charts, 20 countries (1940–2025)

https://88mph.fm/
109•matteocantiello•4d ago•50 comments

Show HN: SupplementDEX – The Evidence-Based Supplement Database

https://supplementdex.com/
16•richarlidad•1d ago•1 comments

Show HN: LocalAgent v0.5.0, a local-first Rust agent runtime

https://github.com/CalvinSturm/LocalAgent
2•CalvinBuild•4h ago•0 comments

Show HN: Zap Code – AI code generator that teaches kids real HTML/CSS/JS

https://www.zapcode.dev
10•eibrahim•9h ago•2 comments

Show HN: Auto-Save Claude Code Sessions to GitHub Projects

https://github.com/ej31/claude-session-tracker
2•ej31•10h ago•0 comments

Show HN: OneCLI – Vault for AI Agents in Rust

https://github.com/onecli/onecli
160•guyb3•2d ago•50 comments