Skip to content

Public surface: desktop connection UX + web presence, docs, legal #8

@pablopunk

Description

@pablopunk

Goal

Polish the public-facing product surface: desktop connection UX (profile connect, nvm:// deep link, BYO fallback) and web presence (docs, legal, pricing, account deletion).

Merged from

To do

Desktop connection UX (was #8)

  • Add /profile "Connect desktop app" UI that starts device auth from dashboard
  • Add nvm:// protocol handler for macOS, Windows, and Linux
  • Handle nvm://auth?code=<code> in Electron: single-instance, open-url, exchange, store PAT
  • Keep existing inline polling flow working as fallback
  • Add hidden BYO-key fallback for users who opt into their own provider key

Public web presence (was #11)

  • Public landing at nvm.fyi
  • Pricing page connected to live Stripe products/tiers
  • Explain billing/credits in public docs: free credits, Pro subscription, top-ups, routing
  • User docs: PAT auth, OpenAI-compatible API endpoint, model list, limits, error codes
  • ToS
  • Privacy policy
  • Refund policy
  • GDPR delete-account flow: DELETE /api/me with cascade + Stripe data handling
  • Cookie banner if analytics added
  • Status page if not covered by ops issue

UX notes

  • Use Command-K/palette flows for app interactions; avoid dedicated settings windows
  • PAT must never travel in a URL — only short-lived device codes in URLs
  • Legal/product copy needs human review before launch

Verification

  • mise exec -- pnpm test
  • Manual packaged-app test: install → Connect → browser approval → AI request succeeds
  • Manual links/navigation check for public, profile, pricing, legal pages
  • Delete-account flow tested with non-production/test account first

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions