Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LAUNCH.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ _one complete moment_ — a real user action to a visible result — and to skip

Recording notes:

- **Two captures exist** (2026-11-09). A **silent** cut: 88 seconds, 1080p, landing → dashboard → invoices → pay → receipt → short payment → phone, with on-screen captions and a click indicator. A **narrated** cut: 90.7 seconds, 1080p, the same journey re-recorded so each shot lands with its line — 14 synthesized lines (`say -v Samantha`, written in `voice/narration.json` with durations measured from the rendered audio) placed at absolute timestamps, H.264 + AAC stereo, 4.6 MB. Both were recorded with Playwright against the production demo build, so both are honest demo-mode footage with the banner in frame. The narrated cut is the one to upload unless a human voice is recorded; if it is, re-record against the new lengths rather than dubbing over the old picture. Substituting the real-payment shot from S8.4 and uploading remain the human's.
- **Three captures exist.** On 2026-11-09: a **silent** cut (88 seconds, 1080p, landing → dashboard → invoices → pay → receipt → short payment → phone, with on-screen captions and a click indicator) and a **narrated** cut (90.7 seconds, the same journey re-recorded so each shot lands with its line — 14 synthesized lines placed at absolute timestamps, H.264 + AAC stereo, 4.6 MB). On **2026-11-10, against the dark S4.15 design**, a third cut: `settle-demo-walkthrough-voiced-2026-11-10.mp4` — a 3.2-second brand intro card, 89.1 seconds of desktop journey, a 6.1-second framed phone segment, and a 5-second "try it yourself" outro; 1920×1080 at 30 fps, H.264 + AAC 48 kHz stereo, **103.3 seconds, 6.96 MB**. Its 14 lines are re-synthesized with macOS `say -v Samantha`; two were rewritten to match what is now on screen, captions and the cursor moved from the old green to the dark-glass/magenta chrome, and the mix is loudness-normalised to −16 LUFS. All three were recorded with Playwright against the production demo build, so all three are honest demo-mode footage with the banner in frame. The 2026-11-10 narrated cut is the one to upload unless a human voice is recorded; if it is, re-record against the new lengths rather than dubbing over the old picture. Substituting the real-payment shot from S8.4 and uploading remain the human's.

- Shoot shot 4 twice: once in **demo mode** (reliable, no funds) and once from the **real payment** in S8.4 if it lands before recording. The real one is stronger; the demo one is the fallback and is honest as long as the banner is visible.
- Keep the "Demo mode — nothing on this page moves money" banner in frame whenever demo data is on screen. That is the difference between a demo and a claim.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ app/ (routes, pages) worker/ (two interval loops)
- **One write path.** The worker, the status poll and `submit-tx` all write through `lib/server/sync.ts`, so three callers cannot disagree about what a status means.
- **Every boundary is validated.** zod on request bodies, on `process.env` and on every 1Click response; `server-only` markers keep server modules out of the client bundle.
- **Two runtimes, one secret.** `middleware.ts` runs on Edge and route handlers on Node, so per-process module state is _two_ values — the reason demo mode pins a fixed session secret and real mode requires `SESSION_SECRET`.
- Full detail in `ARCHITECTURE.md` (short version: `ARCHITECTURE_ESSENTIALS.md`); file layout in `project_structure.md`; remaining work in `ROADMAP.md`; what a host has to provide in `DEPLOY.md`; launch material in `LAUNCH.md` (the video script — recorded as an 88 s silent walkthrough and a 90.7 s narrated one — the X post, and the submission payload: a field skeleton plus a placeholder worked example, neither of them the real thing).
- Full detail in `ARCHITECTURE.md` (short version: `ARCHITECTURE_ESSENTIALS.md`); file layout in `project_structure.md`; remaining work in `ROADMAP.md`; what a host has to provide in `DEPLOY.md`; launch material in `LAUNCH.md` (the video script — recorded as an 88 s silent walkthrough, a 90.7 s narrated one, and a **103.3 s narrated cut against the dark redesign** (2026-11-10, 1080p30, 6.96 MB) — the X post, and the submission payload: a field skeleton plus a placeholder worked example, neither of them the real thing).

**No custody.** Settle holds no client funds, no key that can move a client's deposit, and no payout key. The quote's `recipient` is the freelancer's own address and refunds go to the client's own address. The one key the app _can_ hold — `STORAGE_PAYER_PRIVATE_KEY`, which would pay USDC storage deposits on NEAR so delivery cannot fail on a registration technicality — is optional, app-funded, spends storage fees rather than anybody's payment, and is not wired to sign in the shipped MVP (S2.10 needs an explicit approval).

Expand Down
Loading
Loading