frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: A stateful UI runtime for reactive web apps in Go

https://github.com/doors-dev/doors
6•derstruct•5h ago
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>
    })
  }

Comments

starwalkn•4h ago
It looks interesting, I'll wait for it to stand the test of time, maybe I'll get around to using it myself.
derstruct•3h ago
I hope you will find time to test it out and I will be happy to assist. In the current AI hype era, it's difficult to get attention to anything not AI related, regardless of how good it is.

Show HN: Ithihāsas – a character explorer for Hindu epics, built in a few hours

https://www.ithihasas.in
155•cvrajeesh•18h ago•39 comments

Show HN: VibeDrift – Measure drift in AI-generated codebases

https://www.vibedrift.ai/
2•samiahmadkhan•3h ago•3 comments

Show HN: Write better Go integration tests with open source dockertest v4

https://github.com/ory/dockertest/tree/v4
2•pragmaticviber•39m ago•0 comments

Show HN: A stateful UI runtime for reactive web apps in Go

https://github.com/doors-dev/doors
6•derstruct•5h ago•2 comments

Show HN: Pushduck – S3 uploads that run on Cloudflare Workers, no AWS SDK

8•abhay_ramesh•7h ago•4 comments

Show HN: A CLI that writes its own integration code

https://docs.superglue.cloud/getting-started/cli-skills
8•adinagoerres•5h ago•4 comments

Show HN: Groupr – Rust CLI that sorts files into subfolders by extension

https://github.com/TimFinnigan/groupr
4•timfinnigan•8h ago•0 comments

Show HN: Deflect One – command line dashboard for managing Linux servers via SSH

https://github.com/Frytskyy/deflect-one
5•whitemanv•8h ago•3 comments

Show HN: A Bomberman-style 1v1 game where LLMs compete in real time

https://github.com/klemenvod/TokenBrawl
2•sunandsurf•6h ago•1 comments

Show HN: boringBar – a taskbar-style dock replacement for macOS

https://boringbar.app/
508•a-ve•1d ago•292 comments

Show HN: Tsplat – Render Gaussian Splats directly in your terminal

https://github.com/darshanmakwana412/tsplat
6•darshanmakwana•7h ago•1 comments

Show HN: Continual Learning with .md

https://github.com/SunAndClouds/ReadMe
27•wenhan_zhou•17h ago•26 comments

Show HN: Mcptube – Karpathy's LLM Wiki idea applied to YouTube videos

https://github.com/0xchamin/mcptube
12•0xchamin•21h ago•1 comments

Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)

https://github.com/rochus-keller/OberonSystem3Native/releases
240•Rochus•2d ago•105 comments

Show HN: I built a social media management tool in 3 weeks with Claude and Codex

https://github.com/brightbeanxyz/brightbean-studio
183•JanSchu•1d ago•125 comments

Show HN: Prmana – OIDC SSH Login for Linux with DPoP (Rust, Apache 2.0)

https://github.com/prodnull/prmana
3•cbchhaya•11h ago•0 comments

Show HN: Pardonned.com – A searchable database of US Pardons

496•vidluther•3d ago•272 comments

Show HN: Claudraband – Claude Code for the Power User

https://github.com/halfwhey/claudraband
117•halfwhey•1d ago•44 comments

Show HN: Lythonic – Compose Python functions into data-flow pipelines

https://github.com/walnutgeek/lythonic
4•walnutgeek•17h ago•0 comments

Show HN: Equirect – a Rust VR video player

https://github.com/greggman/equirect
13•greggman65•1d ago•1 comments

Show HN: Excalicharts – Charting Library for Excalidraw

https://github.com/tombedor/excalicharts
4•jjfoooo4•13h ago•0 comments

Show HN: Farchive – SQLite-backed history-preserving compressed archive

https://github.com/eliask/farchive
5•ekns•21h ago•0 comments

Show HN: Dbg – One CLI debugger for every language (AI-agent ready)

https://redknightlois.github.io/dbg/
5•redknight666•21h ago•0 comments

Show HN: FluidCAD – Parametric CAD with JavaScript

https://fluidcad.io/
155•maouida•3d ago•37 comments

Show HN: OQP – A verification protocol for AI agents

https://github.com/OranproAi/open-qa-protocol
6•Aamir21•15h ago•1 comments

Show HN: Deconflict – Open-source WiFi planner with physics-based walls

https://deconflict.pages.dev
3•s_e__a___n•17h ago•1 comments

Show HN: I benchmarked Gemma 4 E2B – the 2B model beat the 12B on multi-turn

https://aiexplr.com/post/gemma-4-e2b-benchmark
7•mailharishin•18h ago•0 comments

Show HN: GDL – I built an AI-powered invention engine

https://groundeddiscoverylabs.com/
2•Whyachi•18h ago•0 comments

Show HN: Lint-AI by RooAGI, a Rust CLI for AI Doc Retrieval

https://github.com/RooAGI/Lint-AI
3•rooagi•18h ago•0 comments

Show HN: Rekal – Long-term memory for LLMs in a single SQLite file

https://github.com/janbjorge/rekal
7•jeeybee•1d ago•9 comments