Local-first for us means: your data such as emails, notes, meetings, the knowledge graph - lives on your machine as plain Markdown, readable and deletable, and the app doesn't require our servers to run. You can also go fully local for the LLM with Ollama or LM Studio. We do special handling there, like suppressing background agents during chat, so local models aren't overwhelmed. That's the core of the product.
Some third-party APIs we couldn't avoid (search has to be an API call). For TTS/STT we deliberately chose cloud quality over local support for now - if there's demand, we'll support local.
On PostHog: usage metadata only, never content. Anonymous install ID unless you sign in to Rowboat; email and plan attached after. Everything sent is cataloged in apps/x/ANALYTICS.md. We shipped v1 with no analytics and were flying little blind on whether anyone used it. If you build without the PostHog env vars, it no-ops entirely.
Instead of having to define what “local-first” means to you personally you should emphasize that the data lives on your local machine. For some example messaging take a look at how Apple is marketing their new Siri AI.
That's fair - "your data lives on your machine as plain files" is the concrete claim, and something we should lead with. Will take a look at how Apple frames it, thanks.