openscribe/site/pages/guides.html
Laurence 8fd9b694f8
Some checks failed
ci / firmware (pull_request) Failing after 31s
ci / openapi (pull_request) Failing after 33s
ci / emulator (pull_request) Failing after 24s
ci / server (pull_request) Failing after 37s
docs+site: Nightjar brand, hosted service, infrastructure plan, saved site
Persists the branding/commercial/infrastructure work (previously only in chat and
on the live site) into version control.

What changed:
- docs/naming.md: due-diligence and the decision to brand the product Nightjar
  (OpenScribe domain/GitHub/trademark collisions; alternatives screened; why Nightjar).
- docs/hosted-service.md: the commercial model - plan tiers (Self-host / Cloud
  Starter / Cloud Pro / Private), indicative pricing, backend mapping, and the
  build-to-sell roadmap (metering, billing, provisioning, DPA).
- docs/infrastructure.md: backend infra plan. Primary option = self-host on the
  3x Minisforum MS-02 cluster (one with an RTX 3050 6GB) fronted by a Cloudflare
  Tunnel, with node roles, the 3050 capacity reality, caveats, and a Hetzner cloud
  fallback. Provision-later.
- site/: reproducible marketing-site source - block content for all 11 pages
  (rebranded to Nightjar), the navigation, the Contact Form 7 config (honeypot),
  the ApisCP SOAP helper (tools/apiscp.php, no secret), and a README on how the
  WordPress site is built and managed via the API.
- state/: DECISIONS (Nightjar rebrand, hosted service, MS-02 backend), PROJECT
  (brand + commercial section), TODO (rename decision, trademark, mailbox, pricing,
  hosted-service build, infra provisioning).

Why:
- User asked to save everything to the repo. Captures the product rebrand, the
  commercialisation plan, and the infrastructure decision so a cold session has the
  full picture.

Notes:
- The repo is still named `openscribe`; the product/brand is Nightjar. A full
  codebase rename is deferred (tracked in TODO + docs/naming.md).
- No secrets committed: the ApisCP API key is read from a local scratch file, never
  the repo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 22:24:24 +01:00

7 lines
1.9 KiB
HTML

<!-- wp:heading {"level":1} --><h1 class="wp-block-heading">Guides</h1><!-- /wp:heading --><!-- wp:paragraph {"fontSize":"large"} --><p class="has-large-font-size">Everything you need to run Nightjar yourself: connect an AI provider, stand up the server, and build the device. Start anywhere.</p><!-- /wp:paragraph -->
<!-- wp:columns --><div class="wp-block-columns">
<!-- wp:column --><div class="wp-block-column"><!-- wp:heading {"level":3} --><h3 class="wp-block-heading">Connect your AI</h3><!-- /wp:heading --><!-- wp:paragraph --><p>Point transcription and summaries at a local model, an open-standard endpoint, or a commercial API. Copy-paste config for each.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><a href="/connect-your-ai/">Read the guide &rarr;</a></p><!-- /wp:paragraph --></div><!-- /wp:column -->
<!-- wp:column --><div class="wp-block-column"><!-- wp:heading {"level":3} --><h3 class="wp-block-heading">Self-host the server</h3><!-- /wp:heading --><!-- wp:paragraph --><p>Stand up the Nightjar backend on your own machine or a small cloud box, from install to first transcript.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><a href="/self-host-the-server/">Read the guide &rarr;</a></p><!-- /wp:paragraph --></div><!-- /wp:column -->
<!-- wp:column --><div class="wp-block-column"><!-- wp:heading {"level":3} --><h3 class="wp-block-heading">Build the device</h3><!-- /wp:heading --><!-- wp:paragraph --><p>The parts, the firmware, and the printed case. From a bag of components to your first recording.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><a href="/build-the-device/">Read the guide &rarr;</a></p><!-- /wp:paragraph --></div><!-- /wp:column -->
</div><!-- /wp:columns -->
<!-- wp:paragraph --><p>New here? Start with <a href="/how-it-works/">How Nightjar works</a> for the big picture, or if you would rather skip the setup entirely, see <a href="/hosted-plans/">hosted plans</a>.</p><!-- /wp:paragraph -->