Vibrant Gio is a design system for building beautiful, native desktop applications on macOS, Windows, and Linux with Gio — analogous to what Material Design is for Google, but built for a Functional Reactive Programming application model on top of reactivego/rx.
This repository is the workbench: it holds the architecture and design documentation, and three complete example applications that exercise the design system end-to-end.
The design system is layered — each layer only depends on the ones below it:
| Layer | Module | Role |
|---|---|---|
| Patterns | cadence |
Prebuilt application patterns: shells, tables, modals, popovers, tabs, toasts, navbars, sidebars, pagination, marketing sections |
| Effects | pulse |
Motion & vibrancy: tweens, spring physics, glow, depth, a shared animation conductor |
| Theme runtime | spectrum |
Reactive theming: live OS dark-mode/accent tracking, preference persistence, animated theme transitions, window integration |
| Foundation | prism |
Component catalogue: buttons, inputs, lists, icons, layout, focus/a11y, tokens, theme contract, keyed identity, coordination |
| Runtime | mvu |
Model-View-Update runtime for Gio: NewWindow, MessageOp widget protocol, commands |
Supporting libraries: seen (3D scenes
to SVG/Gio), traer (particle
physics), svg and
ivg (vector graphics),
backdrop,
noise,
style,
textdraw,
font.
Each app is a full, runnable product built the way a real Vibrant Gio app is meant to be built — MVU state, spectrum theming, cadence patterns:
launcher/— the workbench front door: the example apps as cards floating on a liveseen3D triangle field (noise-animated, colour-keyed to the live theme), each with a Launch button that runs the app and tracks its process. Also the reference for compositing a seen scene as an mvu background layer and for a single streamingmvu.Command(Started → Exited).todos/— start here: the minimal canonical MVU app (~700 lines). One window, one Model, pure reducers, prism components, live OS light/dark theming — the smallest complete demonstration of the bootstrap every other app follows.iconbrowser/— a searchable catalogue of the 961 Material Design icons the apps draw from: type to filter the scrolling grid live, every glyph captioned with the name to import. Also the reference for prismTextField+ per-keystroke MVU updates.sitedocs/— a documentation & marketing site app: application shell, hero/feature/pricing/testimonial sections, accordion-grouped sidebar navigation, breadcrumbs, light/dark theming.feeds/— an RSS reading-list app: sortable/filterable/ paginated article table, tabbed detail view in a split pane, modal CRUD forms with alerts and toasts, popovers and tooltips.watchlist/— a persistent watchlist editor: JSON-backed storage, sidebar with right-click context menu, add/edit modals, bulk delete with confirmation popovers, conditional pagination. Its on-disk format is specified in WATCHLIST-FORMAT.md.mindchat/— an OpenAI chat client and the most feature-complete app: streaming completions routed through the MVU command loop, a resizable/collapsible split-pane shell, trash-backed undo with Cmd/Ctrl-Z, chat rename/delete/create, and per-chat streaming indicators. SetOPENAI_API_KEYto chat.
Each app is its own Go module, so run it from inside its directory:
cd todos && go run .Or run the launcher and start them from there:
cd launcher && go run .- DESIGN.md — the architecture document: vision, the five
core patterns (including the
WithLatestFrom2frame-synchronisation model and therx.Defersubscription-state pattern), threading rules, accessibility, performance methodology, and the phase plan that produced Prism, Spectrum, Pulse, and Cadence. - llms.txt
— a condensed guide for AI coding assistants (Claude, etc.) to write
applications against the Vibrant Gio packages. It is maintained once, at the
root of vibrantgio/.github; the
llms.txtin this repo is only a pointer to it. - PLAN.md — the executed implementation plan, kept as the historical record of how the system was built and validated.
- BASELINE.md — measured performance baselines the component benchmarks compare against.
Go 1.25+, and Gio's platform dependencies (on Linux: Wayland/X11 dev packages; macOS and Windows need nothing extra).
MIT — see LICENSE. Individual library repositories carry their own licenses.