Font Book stores fonts. It doesn't help you choose one. I designed and built Grotesque to fix that: one library for local and Google Fonts, one-click installs, side-by-side pairing, and a UI you can theme to the project you're working on.
Fonts, in context. A font manager for designers, on Mac and Windows.
Responsibilities: Product, UI/UX, engineering, brand
Stack: Tauri, React
Year: 2021 – 2026
Every new project starts the same way. I open Font Book, scroll through a few hundred families, open a browser tab for Google Fonts, download a zip, run an install dialog, and then test pairings in a Figma scratch file I'll never open again. None of it remembers which project the fonts were for.
Grotesque started as an attempt to fix that for myself.
The first version was a weekend project built with Electron and React. It did one thing: it put my installed fonts and Google Fonts in one list. It worked, I used it, and it stalled where most side projects stall. Every feature I wanted next, like collections, comparisons and theming, meant weeks of work I didn't have.
In 2026 I rebuilt Grotesque from scratch. The idea was the same, but the process was different. Working with AI changed the cost of trying things. Features I had shelved for years became an afternoon's prototype. That meant I could make decisions by building and testing instead of by guessing.
My role shifted from typing code to directing it. For each feature I wrote a plan first: what it should do, how it fits the existing codebase, and what it must not break. AI did the implementation against that plan. Then I used the build for my own daily work for a few days, because I was the first user. Whatever annoyed me became the next plan. Collections, Playground and themes all went through that loop at least 3 times before they felt right.
The rebuild also forced me to answer a harder question: what is Grotesque for? Listing fonts is not a product. Font Book does it, and FontBase already integrates Google Fonts. The answer was context.
Every feature exists to connect fonts to the project you're actually working on.
Themes were the feature I almost cut, and they ended up defining the product. When the app wears your project's colours, browsing fonts stops feeling like admin and starts feeling like part of the work.
I chose Tauri over Electron for two reasons: size and speed. A font manager should feel like a utility, not a browser in disguise, and it has to run on both Mac and Windows from one codebase.
The interesting problems were:
--bg, --surface, --line, --text, --accent, --accent-2), so a theme is just six values. The same tokens power the Theme Creator, a free web tool for designing a theme in the browser and installing it in one click.A font manager named after a type classification has to take its own typography seriously. The identity uses a single typeface, Clash Grotesk Variable, set on pure black with high-saturation accents. The launch campaign is a series of five-second kinetic-type loops built on one idea: the type stays, the world changes. The words hold still while the app UI behind them recolours on the beat.
Grotesque launches as a paid indie app: a 14-day free trial, then $30 once, with no subscription.
Beautifully grotesque.