"Every closed product is two products stacked: the interaction you love and the business you don't. Clone one, leave the other."
The Clone List
These are the behaviors that make a dictation tool feel good. They're pure interaction — none of them are proprietary secrets — and Firekeeper reproduces every one:
- System-wide push-to-talk and a hands-free toggle.
- Insert everywhere — into whatever field has focus.
- Smart cleanup — filler removal, punctuation, list formatting, "actually…" corrections.
- Personalization — a custom dictionary, snippets, per-app style profiles.
- Context awareness — use the active app and nearby text to improve output (opt-in).
- Command / transform mode — rewrite selected text from a spoken instruction.
- Copy/paste fallback when insertion can't be performed, and undo-friendly replace.
The Leave List
These are the business and architecture choices that serve the vendor, not you. Firekeeper deliberately drops them:
- Account / subscription gating — no login to speak into your own Mac.
- Cloud transcription as the baseline — the single most important rejection.
- Cross-device cloud sync — your voice data doesn't need a fleet.
- Branding, UI, and exact prompts — write your own; they're not yours to take.
- Any hidden data collection — the whole point is that nothing is hidden.
Why the Split Is Clean
The two lists never conflict, and that's the tell that you scoped correctly. Every item on the clone list is a thing the user feels; every item on the leave list is a thing the vendor needs. When you can sort a competitor's features into 'user experience' and 'vendor business model' with no overlap, you know exactly what you're building — the experience without the business.
Clone the user's list; drop the vendor's list. A closed product bundles UX you'd pay for with business decisions you'd never choose. The clone is disciplined subtraction: keep every interaction that serves the user, drop every mechanism that serves only the seller.
Cloud STT is the load-bearing rejection. Most 'leave' items are mild preferences. Cloud transcription is not — it's the one that, if you kept it, would quietly turn your privacy-first clone back into the thing you were trying to escape. Reject it first, and the rest of the architecture falls into place around on-device STT.