// About

Copy it. Ship it.
Make it yours.

gpui-starter is a working multi-page desktop app you can clone and build on. Every feature actually runs. The patterns come from shipping real GPUI software, not from imagining what might work.

Why it exists

GPUI is Zed's GPU-accelerated UI framework for Rust. The API is solid and fast, but there is almost nothing written about how to structure a real app with it. gpui-starter started as a personal reference: a working desktop application with navigation, themes, i18n, forms, and system integration wired up end to end. Other people found it useful, so I cleaned it up and released it.

Design principles

Real Rust code

Not toy examples. Proper error handling, entity lifecycle management, render purity. The kind of code you write when the app has to work.

Everything ships

Themes, i18n, forms, launcher, tray icon. All working when you first run cargo run. No stub sections to fill in later.

Battle-tested structure

State tiers, render purity, backpressure handling. Patterns I use in production GPUI apps, not things that looked good in a blog post.

Open source

MIT licensed. Fork it, change it, ship it. No attribution required, no strings attached.

How it works

1

AppRoot owns the layout

A resizable sidebar next to a content area. Pages are enum variants; the active one gets rendered.

2

Sidebar drives navigation

Click a nav item to switch pages. The content area re-renders with the new view. No router, just an enum match.

3

Cmd+K launcher

A floating popup with fuzzy search. Selections write back through a global, so any part of the app can respond.

4

Themes reload from disk

ThemeRegistry watches the themes/ directory. Edit a JSON file, save it, and the running app picks up the change immediately.

5

gpui-query handles async data

Fetch from APIs, cache results, refetch on a timer. Same pattern as TanStack Query, built for GPUI entities.

6

Auto-updater checks for new versions

Ed25519-signed manifests from GitHub Releases. The app prompts the user, downloads in the background, and applies on next launch.

v0.3.0
Current version
21
Built-in themes
gpui-query
Async data crate
MIT
License
2024
Rust edition
H

hmziqrs

Rust developer. I build desktop tools and maintain a few open source projects when the compiler lets me.