Brent Haskins / Applied AI
Radix and Tailwind work for desktop utility UIs—not only marketing sites
Desktop utilities do not have to be ugly Win32 forms. Brent Haskins shipped Draft with Radix primitives and Tailwind tokens so search, filters, and themes feel modern while data stays local JSON on disk.
Marketing pages stole Tailwind; utilities can use it too.
Draft is a desktop prompt manager—local JSON, global palette, no account. The UI stack is the same family I use on web SaaS: React, Tailwind, Radix, bundled with Electron for macOS and Windows.
Why not a native-only UI here
Palette search, filters, and theme switching are form-heavy. Web components ship faster than AppKit and WinUI in parallel for a solo builder. The trade is memory and update discipline—acceptable for a utility that launches and dismisses in seconds.
Radix for keyboard flows
Menus, dialogs, and comboboxes need focus rules. Radix ships those behaviors; you style with Tailwind. Test tab order with the palette open over other apps.
Tailwind for dual themes
Light, dark, and system modes are table stakes when the app overlays IDEs. Tokenize colors once; avoid hard-coded hex in feature code.
Security reminder
Electron apps still need context isolation, no nodeIntegration in renderers, and safe handling of imported JSON. See local-first prompt library.
When to go native instead
File indexing, OCR, Vision—see Swift vs Electron for Shelf and Drawer.
Brent Haskins — /projects/draft. Pick stack by workload, not by trend posts.
FAQ
Questions people ask about this topic.
Why use Radix UI in an Electron app?
Radix provides accessible dialogs, dropdowns, and focus management without shipping a full component library skin. In utilities where keyboard matters, focus traps and typeahead in menus reduce custom code. Pair with Tailwind for consistent spacing and themes across macOS and Windows builds.
What is Draft and who built it?
Draft is a cross-platform prompt library with a global hotkey palette, tags, collections, and JSON import/export. Brent Haskins built it in 2025 with Electron, React, TypeScript, Vite, Tailwind, and Radix. Case study at /projects/draft; compare with native Mac tools Shelf and Drawer for file-heavy workflows.
Sources