Principle 1
The empty page is the whole product
Nothing comes between you and the cursor on the write page.
Most journaling apps die from the same disease: they assume the problem is showing up, so they add scaffolding to “help” you start. Every prompt is a gentle command. Every picker is a small interview. By the time the page loads, you’ve made five micro-decisions before you could write a sentence — and on the days you don’t have five micro-decisions in you, you close the tab.
Our write page is a textarea. It autofocuses. The placeholder is “Begin anywhere.” That is it. No mood picker before you write. No daily prompt deciding what your day is about. No streak counter, no word counter, no “remember to write today” banner. No AI suggestion button waiting to fill the silence. Mood and energy tags, voice append, AI digest — those are all post-write affordances, things you can do after the entry exists. They never gate the page.
Principle 2
No engagement mechanics
No streaks, no nudges, no scoreboard.
We never count consecutive days. We never count total entries as a badge. We don’t send “you haven’t written in N days” emails. We don’t show a calendar heatmap of writing days, or compare your week to last week, or reward consistency with levels or unlocks.
Recurring emails are reactive only: a daily summary that only fires on days afteryou wrote, a Sunday weekly thread that only fires if you wrote enough that week. Both opt-out from Settings. There is no engagement-email tier. If a future feature looks like one, it shouldn’t ship.
Principle 3
Privacy is the brand
Your entries never train any model. Categories of every external service are named on the privacy page.
We do not train any model on user entries. Not anonymized, not aggregated, not for “model improvement.” Not internally, not via any provider’s training pipeline. Every AI provider we use is on a business-API tier that contractually forbids training on API inputs. If a provider doesn’t offer those terms, we don’t use them.
No third-party analytics — no Google Analytics, no Mixpanel, no Segment, no session replay. One self-hosted page-view counter (date, path, count, no identifiers) is the entirety of our telemetry. Email is plaintext-first with no open-tracking pixels and no link wrappers. Logs use internal IDs, not email addresses. The only cookie is auth, so we don’t need a consent banner.
Principle 4
AI is a feature, not the point
The product is journaling. AI is one of several features beside the page, never on top of it.
The free plan caps AI at 3 calls a day on purpose — to prove the free tier is genuinely usable as a text journal, with or without AI. We do not push AI features uninvited. There’s no “Try the AI!” banner on the write page, no auto-generated content you didn’t ask for, no rewrites or critiques of your writing style. AI summarizes, asks questions, and reflects when you press the button. That’s it.
Any entry can be marked private with one toggle. A private entry is neversent to a model provider for any feature — not digest, not chat, not weekly summaries, not insights. This is enforced at the database query level, not just in the UI. The toggle also purges any AI output already generated for that entry. It’s the closest thing to end-to-end encryption we can offer without breaking the AI surface entirely: an enforceable “no AI on this specific entry, ever” commitment.
The AI also refuses things, on purpose. It refuses non-journaling requests (write me code, draft me marketing, roleplay as someone else). It redirects crisis content to professional resources rather than trying to play therapist. It refuses to reveal its own system instructions. These aren’t bugs; they’re the limits of what an AI companion should be doing in a journaling app.
Principle 5
The free plan is real
Lite isn't crippleware.
The free plan includes unlimited written entries, full mood and energy tracking, the same writing surface as paid tiers, and complete export of every entry as JSON or Markdown at any time. Three AI requests per day are bundled in. The test for whether a feature is allowed to move to a paid tier: would the absence of it make Lite broken, or just less convenient? If broken, it stays free. If less convenient, it’s a legitimate paid feature.
Voice journaling, higher AI caps, and routing to a deeper AI model on the higher tiers all pass that test. Export doesn’t. Mood tracking doesn’t. Writing doesn’t.
Every new account starts with 30 days of the Steady tier, no card required, as a way to feel the full thing before deciding. At day 30 you naturally land on Lite if you haven’t subscribed. No surprise charge, no paywall slamming down.
Principle 6
Single-operator, transparent
One developer in the US Midwest. Server in the Netherlands. The infrastructure stack is documented.
No VC, no growth-at-all-costs runway. The product can shrink without dying. This isn’t humble bragging — it’s a product attribute. It means you can trust that nobody’s about to be forced into an extractive exit, a tracking deal, or an acquisition by an adtech company. The categories of every external service we depend on are listed on the privacy page, with what they do and what they can’t do.
Principle 7
Things we’ve already decided no to
So you know we're not going to add them next quarter.
- Should we add streaks?No. See section 2.
- Should we add a mood picker before writing?No. See section 1.
- Should we add daily prompts that decide what your day is about?No. See section 1.
- Should we add push notifications nudging you to write?No. See section 2.
- Should we train AI on user entries?No. See section 3.
- Should we add Google Analytics or third-party tracking?No. See section 3.
- Should we paywall the export button?No. See section 5.
- Should we add a social or share feature for entries?No. Journaling collapses if you write for an audience.
The shape of the product is its discipline about what it isn’t.
Begin a Yewmark journal.
The Lite plan is free. First 30 days on Steady, no card.
Begin writing