# Product values

> Scoped together (owner + agent) at kickoff, before the first feature — see `PLAYBOOK.md` §1.
> This is the **tie-breaker** for product decisions. When a feature is technically fine but feels
> wrong, cite this file rather than arguing taste.

## What this is

Pins is a personal keep-anything tool: text, links and images, added in seconds, organised with
tags, and findable again later. It exists because the habit it replaces — sending things to
yourself on Facebook Messenger — is effortless to add to and useless to get anything back out of.
Things go in and are never seen again. Pins is for the owner first; it may become public or reach
an app store later, but that is not what it is designed around.

The single job: **keep the thing, and give it back when I look for it.**

## What we optimise for

Ranked — ties are broken top-down.

1. **Longevity.** Pins outlive the phone, the server, the app, and any given rewrite. Losing a pin
   is the one unacceptable failure, because it is the exact failure Pins was built to fix.
2. **Speed of capture.** If adding a pin is slower than sending a Messenger message to yourself,
   the habit doesn't move and nothing else matters. Capture must never block on the network.
3. **Maintainability by one person, in evenings.** A feature that can't survive its author being
   busy for six months isn't a feature, it's a liability — and it eventually costs us #1.
4. **Delight.** Worth real effort, but never at the expense of the three above.

Explicitly *not* optimised for: reach, growth, engagement.

## What we will NOT build

- **In-app purchases** — no virtual currency, no unlocks, no content gated behind a payment. If
  Pins is ever sold, it's a one-time price for the app, not purchases inside it.
- **Virtual currency, unlock grinds, loot** — no.
- **Streaks, FOMO, re-engagement notifications** — no. Pins notifies you when *you* asked it to do
  something, never to pull you back in. There is no such thing as a lapsed Pins user.
- **Leaderboards, sharing feeds, anything social** — no. This is a private drawer.
- **Analytics and third-party telemetry** — none. Single-user product; there is nothing to learn
  from tracking that asking the owner wouldn't answer faster. Revisit only if it goes public, and
  then only with an explicit decision recorded here.
- **Ads** — see Open questions. Not being built, not being designed around, and not being planned
  for. Deliberately left undecided rather than quietly assumed either way.

## Monetisation

**None.** Pins is built for its owner and costs nothing to use.

If it ever goes public, the default stance is **free, or a single one-time price** — never
purchases inside the app. Ads remain an open question (below) rather than a decision.

## Tone & voice

Plain, quiet, unfussy. Pins is a drawer, not a personality: it should be almost invisible in use
and never chatty. No exclamation marks, no cheerleading, no "Oops!". When something goes wrong it
says what happened and what it did about it.

Example copy — an offline capture:
> Saved. It'll sync when you're back online.

Not: *"Woohoo! Your pin is safe with us! 🎉"*

## Non-negotiables

- **Nothing is ever silently lost.** This is the origin and the whole point. If a pin can't be
  saved or synced, Pins says so — it never fails quietly. Anything that risks a pin loses every
  argument in this file.
- **Capture takes seconds, not thought.** Share to Pins and it's kept. Tagging is optional,
  always. An untagged pin is a first-class pin and Pins never nags about it.
- **My data is mine.** Pins live on the owner's infrastructure. Nothing leaves it for a third
  party without an explicit, recorded decision here — this is why analytics are out and why any AI
  feature is a values question before it's a technical one.
- **Offline is not a degraded mode.** The app works on a train. The server is where pins go to be
  safe, not where they go to exist.

## Open questions

Revisit at the first release.

- **Ads, if Pins ever goes public.** Deliberately undecided (owner, 2026-07-16). The agent's
  recorded position: an ad SDK is a tracking SDK inside an app whose contents are private saved
  material, which is hard to square with "my data is mine" — and at personal-project scale earns
  close to nothing. Recommendation if monetisation is ever wanted: one-time price instead. To be
  decided if and when going public becomes real, not before.
- **AI features — auto-tagging, and voice-note transcription for the Wear OS companion.** Wanted,
  deferred past v1. Both send the owner's content (and later, voice) to a third party, which needs
  an explicit yes/no here first. If yes: server-side only, never a key in a client.
- **Accessibility bar.** Not yet answered. Working default: don't break screen readers, keep tap
  targets sane, respect `prefers-reduced-motion` (`PLAYBOOK.md` §8.2).
- **Licence.** Undecided. Worth settling before the repo goes public.
