Investigations

Quick Launch Menu

JavaScript July 2025

A Go-backed quick-launch menu with JSON-driven hierarchy, keyboard shortcuts, search, and a Tailwind CSS frontend.

I built this as a personal productivity tool — a quick-launch menu that's faster than fumbling through browser bookmarks or remembering URLs. The Go backend serves a JSON-driven menu hierarchy, and the frontend is a polished single-page app with Tailwind CSS.

The menu supports three item types: submenus for nesting, card layouts for grid views, and leaf items that open URLs. Each item can have a keyboard hotkey (Alt+F, Ctrl+N, etc.), and there's a real-time search bar bound to the / key. Breadcrumb navigation tracks your position through the hierarchy.

The Go server is minimal — it reads the menu data from a JSON file, serves it via /api/menu, and auto-opens the browser on startup (with cross-platform support for macOS, Windows, and Linux). There's a dark/light theme toggle that persists to localStorage, and recent items tracking so your most-used shortcuts float to the top.

The nice thing about keeping the menu data in JSON is that customisation is trivial. Edit one file, refresh, done. No rebuild, no compilation.

What this project demonstrates

Hierarchical JSON-driven menu with submenus and card views
Go HTTP server with auto-browser-launch
Full-text search with / keyboard shortcut
Hotkey support for menu items (Ctrl+N, Alt+F, etc.)
Dark/light theme toggle with localStorage persistence
Recent items tracking for frequently used shortcuts

Technologies

GoTailwind CSSLauncherKeyboard ShortcutsJSON API

© 2026 Jonathan Leahy · v0.8.1-31-g196fa14