Blog · notes

Notes from the studio.

Occasional writing on building small, offline, privacy-first software - and the problems that turned into apps.

Aug 8, 2026 · 2 min read

The summit date is optional

Most tracking apps make the date a required field. But plenty of people remember the mountain perfectly and the date not at all.

Read the note →
Aug 5, 2026 · 3 min read

Half a million mountains, zero network calls

Peak search could have been an API call. Shipping 50 MB of SQLite instead made the feature work in the one place it matters most.

Read the note →
Aug 2, 2026 · 2 min read

Denali counts twice

Two famous climbing lists overlap by exactly one mountain, and there are two competing versions of one of them. The catalog has 57 entries for a reason.

Read the note →
Jul 29, 2026 · 2 min read

A globe made of triangles, not textures

The easy way to build a 3D globe is to wrap a picture of the Earth around a sphere. That approach falls apart the moment you want a country to light up.

Read the note →
Jul 25, 2026 · 2 min read

What we decided not to lock behind Pro

The easiest subscription to sell is one that caps the core feature. Summit does not cap it, and here is the reasoning.

Read the note →
Jul 18, 2026 · 2 min read

Why "Downloads" shouldn't be a search result

Type "downloads" into a launcher and you want your Downloads folder, not a stray one three levels deep. HyperKey resolves the obvious answer first.

Read the note →
Jul 12, 2026 · 2 min read

One search field, two modes: designing Space-to-switch

HyperKey needed both app search and file search without turning into two separate tools. The answer was a single keystroke, not a second hotkey.

Read the note →
Jul 5, 2026 · 3 min read

Designing a launcher that needs zero permissions

Most Mac launchers ask for Accessibility access on first launch. HyperKey never does - and that constraint shaped the whole architecture.

Read the note →
Jun 28, 2026 · 3 min read

The 64KB pipe bug that made file search feel broken

File search worked perfectly in testing and then quietly hung on real machines. The cause was a subprocess pipe filling up faster than anyone expected.

Read the note →
Jun 20, 2026 · 2 min read

Why we used Spotlight instead of building our own file index

Building a custom file index sounds like the "real" way to do fast file search. It is also a second copy of your filesystem to keep correct, forever.

Read the note →
Jun 2, 2026 · 2 min read

How I decide which app to build next

With one person and no investors, every app has to earn its place. Here is the filter an idea has to pass before it becomes a Flowstate app.

Read the note →
May 30, 2026 · 2 min read

The end-of-shift habit that pays off

The value of a tip tracker is not any single number. It is the small habit of logging every shift, and what that record tells you a month later.

Read the note →