Work nah
platform

Solstice

Credit-only white-label document signing — self-serve orgs, a live Firma signing integration, and an encrypted secrets vault in one monorepo.

Solstice (rebranded from the "Nah" working name this repo still carries internally) is a $0.50-flat-per-document signing platform: a credit-only, white-label surface for firms that want their own brand on the signing workflow without per-seat fees. One monorepo ships a Go backend, a SvelteKit portal + super-admin, and the public marketing site. The architecture's hard rule is that the backend is the only process that will ever hold privileged upstream keys — an encrypted secrets vault with role-based access and rotation tooling backs it. Firma is now wired in for real: per-org signing workspaces provision on demand and a signed webhook receiver verifies, spools, and dispatches events. Orgs are self-serve — sign up, verify by email, invite teammates, switch between organizations — rather than admin-provisioned only. Deploys are atomic symlink swaps on a pull-mode server.

Last updateSep 6, 2026 PrimaryGo
  • Go
  • SQLite
  • SvelteKit
  • Svelte 5
  • TypeScript
  • Tailwind CSS
  • Vite
  • pnpm
  • Playwright
  • Apache
Solstice — Credit-only white-label document signing — self-serve orgs, a live Firma signing integration, and an encrypted secrets vault in one monorepo.
Solstice media
Solstice media

Solstice (this repo's working name is still "Nah") is a credit-only, white-label document signing platform — a web portal, a super-admin, and a public marketing site, all in one monorepo. $0.50 flat per document, no per-seat fees, no surprise overages. The platform owner keeps the brand; the user keeps the workflow; the upstream signing provider keeps the cryptographic side.

Why credit-only?

Per-seat e-signature pricing punishes intermittent users — every paralegal who signs three documents a quarter pays the same $40/mo as the partner who signs 200. Credit-only flips that: load credits when you need them, pay flat per document, no recurring bill, no contract review. The pricing model is the point of the platform.

The monorepo, in four drawers

  • backend/ — Go API, single static binary on CGO-free SQLite. The only process that will ever talk to upstream signing, billing, or AI providers; the only thing that holds privileged keys.
  • web/ — SvelteKit bundle shared by the customer /portal and the super /admin.
  • marketing/ — public site, static HTML, deployed independently of the app surface.
  • ops/ + tests/e2e/ — server-side deploy/rollback/migrate scripts, Apache vhost, Playwright end-to-end suite.

The hard rules

  • No destructive git, no destructive SQL, no secrets in repo.
  • Server is pull-mode after initial setup. Deploys are atomic symlink swaps, never edits in place.
  • Frontend never holds privileged keys — backend is the only thing that talks to upstream services.
  • Files ≤150 lines, functions ≤30 lines, by policy — and a 2026 cleanup pass brought every file back under budget rather than letting the rule rot.

What ships today

The portal and super-admin run on the production hostname: self-serve org signup with email verification, teammate invites, and org switching; credit grants and a per-tenant credits ledger; document audit; white-label configuration; and per-tenant branding. Behind /admin sits an encrypted secrets vault with role-based access, key-rotation tooling, and a written recovery runbook. The Firma signing integration is live, not just wired for later: each org gets its own signing workspace provisioned on demand, and a signed webhook receiver verifies, spools, and dispatches events with replay protection and an admin re-dispatch console. Credit top-up billing (Stripe) is still admin-granted rather than self-serve. A public /stack page publishes the deployed commit and build time straight from the server, so "is prod current with the repo?" is a URL, not a question. Desktop shells and the AI layer (designed bring-your-own-key) remain on the roadmap.

Straight from the source

The project's own README.

Rendered in place — every link, image, and code block carried over from the repo. The page below is what a contributor would see opening the project for the first time.

Nah

Credit-only, white-labeled wrapper over the Firma.dev signing API. Desktop (Electron), web portal, public marketing site, and super-admin in one monorepo. $0.50 flat per document.

Quick start

just doctor         # verify toolchain
just dev            # run backend + web concurrently
just test           # backend unit + vitest + playwright
just lint           # gofmt + eslint + svelte-check

See just --list for the full recipe catalog.

Layout

  • backend/ — Go API (single static binary)
  • web/ — SvelteKit bundle shared by /portal, /admin, and the Electron shell
  • desktop/ — planned Electron wrapper around web/build (Phase 5; not scaffolded yet)
  • marketing/ — public site, static HTML
  • ops/ — server-side deploy/rollback/migrate scripts + Apache vhost
  • tests/e2e/ — Playwright
  • docs/agent/ — prompts and notes for future agents

Hard rules

See BOOTSTRAP.md §1. The short version:

  1. No destructive git, no destructive SQL, no secrets in repo.
  2. Server is pull-mode after initial setup. Deploys are atomic symlink swaps.
  3. Frontend never holds privileged keys — backend is the only thing that talks to Firma / Stripe / OpenRouter / Postmark.
  4. Files ≤150 lines, functions ≤30 lines.
  5. Ask before inventing — add to QUESTIONS.md and pause the thread.

Build something like this

Want a tool like this for your shop?

We've shipped this kind of thing before. Twenty-minute intro call, no slides.