// the find
cogentcore/core
A free and open source framework for building powerful, fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and web with a single Go codebase, allowing you to Code Once, Run Everywhere.
Cogent Core is a Go GUI framework that targets desktop, mobile, and web (via WebAssembly/WebGPU) from one codebase, covering both 2D UI and 3D rendering. It's aimed at Go developers who want to ship a native-feeling app across six platforms without touching Swift, Kotlin, or JS, and who are willing to build their whole app inside its widget model rather than bind to an existing native toolkit.
Rendering goes through WebGPU rather than wrapping each platform's native widget set, so the same drawing code runs on desktop, mobile, and web instead of forking behavior per OS. The codegen tooling (typegen, enumgen, icongen) replaces a lot of reflection-based boilerplate that plagues comparable Go UI libraries, which should mean better runtime performance for property binding and serialization. The `base/` package tree (exec, vcs, sshclient, websocket, etc.) shows the project isn't just a widget kit — there's real supporting infrastructure for building full apps. Mobile packaging (cmd/mobile/binres, dex, cert) is implemented in-house rather than shelling out to gomobile, giving them control over the Android build pipeline.
That same in-house mobile toolchain (binres/dex/cert generation) is a lot of surface area to keep working against Android SDK and Apple signing changes year over year, and it's maintained by a small team. Pinning to Go 1.25.6+ is aggressive for a framework meant to be a long-term app foundation — teams on slower upgrade cadences will lag behind or be stuck. At ~2,300 stars and 102 forks, the third-party ecosystem (widgets, examples, Stack Overflow answers) is thin compared to Flutter or even Fyne, so you're mostly on your own past the official docs. Nothing in the README or tree points to an accessibility story (screen reader support, focus semantics) for a toolkit rendering everything itself via WebGPU — worth checking before using it for anything with a11y requirements.