Multi-App Workspace Suite
Running 11 distinct applications under one URL, with clean route namespaces and a launcher that actually works.
The problem. I had eleven separate web tools — a few dashboards, a couple of converters, some internal utilities — each with its own deploy, its own login if I felt generous, its own bookmark. The friction of jumping between them was killing the reason I built them in the first place: speed.
The approach. Instead of rebuilding everything as one giant app, I fronted them with a thin routing layer. Each tool got a namespace. A Google-style launcher grid handles discovery. Each tool still runs independently under the hood — I didn't merge them, I just gave them a shared front door and a common visual grammar.
The routing layer is stateless. It reads a small config, matches the path prefix, and either serves a static preview or proxies to the underlying app. Adding a twelfth tool takes about four lines of config. That was the whole design constraint: make the twelfth tool trivially easy.
The outcome. One bookmark. One design system. One place to update the header. The tools themselves still ship independently — I don't have to redeploy the suite to change a converter. The launcher is fast because it's static, and the previews are lazy-loaded.
What I'd do differently. I'd add proper keyboard navigation from day one — the launcher is the kind of interface where arrow keys plus Enter beat the mouse by a wide margin. I'd also bake in a tiny search box before the grid grows past twenty items.