A stateful UI runtime for reactive web apps in Go
Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.
Want to reach these readers? Sponsor an issue.
Doors: Server-driven UI framework + runtime for building stateful, reactive web applications in Go.Some highlights:* Front-end framework capabilities in server-side Go. Reactive state primitives, dynamic routing, composable components.* No public API layer. No endpoint design needed, private temporal transport is handled under the hood.* Unified control flow. No context switch between back-end/front-end.* Integrated web stack. Bundle assets, build scripts, serve private files, automate CSP, and ship in one binary.How it works: Go server is UI runtime: web application runs on a stateful server, while the browser acts as a remote renderer and input layer.Security model: Every user can interact only with what you render to them. Means you check permissions when your render the button and that's is enough to be sure that related action wont be triggered by anyone else.Mental model: Link DOM to the data it depends on.Limitations:* Does not make sense for static non-iteractive sites, client-first apps with simple routing, and is not suitable for offline PWAs.* Load balancing and roll-outs without user interruption require different strategies with stateful server (mechanics to make it simpler is included).Where it fits best: Apps with heavy user flows and complex business logic. Single execution context and no API/endpoint permission management burden makes it easier.Peculiarities:* Purposely build [Go language extension](https://github.com/doors-dev/gox) with its own LSP, parser, and editor plugins. Adds HTML as Go expressions and \`elem\` primitives.* Custom concurrency engine that enables non-blocking event processing, parallel rendering, and tree-aware state propagation* HTTP/3-ready synchronization protocol (rolling-request + streaming, events via regular post, no WebSockets/SSE)From the author (me): It took me 1 year and 9 month to get to this stage. I rewrote the framework 6 or 7 times until every part is coherent, every decision feels right or is a reasonable compromise. I am very critical to my own work and I see flaws, but overall it turned out solid, I like developer experience as a user. Mental model requires a bit of thinking upfront, but pays off with explicit code and predictable outcome.Code Example: type Search struct { input doors.Source[string] // reactive state } elem (s Search) Main() { <input (doors.AInput{ On: func(ctx context.Context, r doors.RequestInput) bool { s.input.Update(ctx, r.Event().Value) // reactive state return false }, }) type="text" placeholder="search"> ~// subscribe results to state changes ~(doors.Sub(s.input, s.results)) } elem (s Search) results(input string) { ~(for _, user := range Users.Search(input) { <card> ~(user.Name) </card> }) }
HN · launched Apr 14, 2026 · 14 upvotes (top 31%) · 0 views
Niche: software development frameworks · 154 launches, 2 in the last 7 days ▼ -89% · Explore this niche →
Category and tags
- Horizontal
- Dev tools
- Developer
- Not AI
- Hobby / open-source project
Visit website ↗ Source listing ↗
More like this: all 154 launches in software development frameworks →
Could you build this?
No Building a novel server-driven reactive UI framework and runtime from scratch in Go requires deep systems programming and compiler/runtime architecture expertise. AI coding assistants cannot reliably innovate a cohesive, performant, full-stack reactive runtime without human language and framework design specialists.
What it would actually take: This requires building a custom Go runtime that manages state trees, dynamic component diffing, and virtual DOM or WebSocket-based DOM patch streaming (similar to Phoenix LiveView or Livewire). The hard parts include fine-grained reactive primitives (signals/observers in concurrent Go), memory management for long-lived server sessions, and minimal-latency state synchronization across unreliable networks. This demands senior-level framework architects with deep expertise in Go concurrency, web runtimes, and distributed state machines.
Discussion
4 comments analyzed.
Concerns raised: Difficulty getting attention in AI-focused market, Uncertainty about long-term viability
Feature requests: Claude code plugin or skills files support, Framework-related plugins/skills for popular frameworks
Competitors
Other products that read as similar to this one : 393 launches clear the similarity bar, closest 8 shown.
Attention rank: #136 of 394 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 166 days after the earliest competitor.
- Marten · hn · 2026-01-10 · 19 upvotes · similarity 0.53
- Rails-like web framework for Go · hn · 2026-01-04 · 10 upvotes · similarity 0.50
- SynCloudOS · github · 2026-10-07 · 11 upvotes · similarity 0.48
- Go-TUI · hn · 2026-03-06 · 7 upvotes · similarity 0.47
- Ducklang: Achieving 100x more requests per second than NextJS · hn · 2026-01-01 · 9 upvotes · similarity 0.46
- Sycamore · hn · 2026-04-01 · 95 upvotes · similarity 0.46
- ende · github · 2026-10-13 · 19 upvotes · similarity 0.46
- serverui · github · 2026-09-17 · 27 upvotes · similarity 0.46
The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.