Skip to content

Umbrella: product suite, website + Stripe, and Phala CVM split #10

Description

@daopunk

Summary

Bring the product suite together as a coherent offering: four products users can subscribe to all-in or pick a-la-carte, sold on a client website with Stripe, and hosted on Phala as two lean CVMs (transcription alone; the three translation products together).

This issue is the umbrella that ties together the existing product issues (#8, #9) and adds the commercial surface (website + payments) plus a clearer third translation mode (Parallel Translation).

Business strategy

Offer an assortment of interoperable products instead of funneling every group into a single “what we think you need” mode.

  • Users choose what fits: all-access subscription or a-la-carte products.
  • Products compose: e.g. pair voice transcription with any one of the translation options.
  • Same website / billing surface for discovery, signup, and payment — not four disconnected tools.

The four products

# Product Where it runs One-liner
1 Voice transcription Own CVM Speech → text inside Signal (Whisper pipeline)
2 In-chat (group) translation Shared translation CVM Bot translates messages in the main Signal group thread
3 Parallel Translation Shared translation CVM Main thread in one language; bot relays a parallel thread in another (bidirectional)
4 Language Threads Shared translation CVM Multiple language sidecar threads branch off a bilingual/trilingual main group

1. Voice transcription

Standalone product (see #8). Heavy Whisper work should not share RAM with translation fan-out.

2. In-chat / group translation

Classic V1 shape: the bot translates (or dual-posts) inside a single Signal group, in the main thread. Simple mental model for smaller groups. Related framing in #9.

3. Parallel Translation

Two threads, one language each — the bot is a bidirectional relay:

  1. Main thread e.g. English.
  2. Parallel thread e.g. Spanish.
  3. Messages from main → translated into the Spanish thread.
  4. Human messages in the Spanish thread (not from the bot) → translated back into main.

The bot does not “own” conversation content; it relays between the two threads so each lane stays monolingual for its audience.

(Distinct from Language Threads: Parallel is a 1↔1 pair; Language Threads is main + N language sidecars.)

4. Language Threads

Multiple language threads branch off a bilingual or trilingual main group chat. Monolingual members live in sidecars; the bot bridges main ↔ all active language threads. See docs/language-threads.md and #9.

Client website + Stripe

Build a client-facing website where people can:

  • Browse the product suite (all four offerings, with clear differences)
  • Subscribe to everything, or select products a-la-carte
  • Pay via Stripe (checkout / subscription management)
  • Land in a simple post-purchase path (access / onboarding for the chosen product mix)

This is the commercial front door for the assortment strategy — not just docs for operators.

Phala deployment (cost + privacy)

Host on Phala (TEE / TDX CVMs) so plaintext stays in attestable environments, with manageable OpEx:

CVM Contents Target size
Transcription CVM Voice transcription product only 4 GB RAM
Translation CVM In-chat + Parallel + Language Threads 4 GB RAM

Rationale:

  • Transcription is latency/memory heavy → isolate it.
  • The three translation products share similar Signal + NEAR translation workloads → one CVM is efficient.
  • Two × 4 GB boxes keep operating costs predictable while products stay composable for the customer (billing/pairing is orthogonal to which CVM hosts which service).

Scope (this umbrella)

  • Finalize product naming and one-pager copy for the website (four products as above)
  • Document interoperability matrix (transcription × each translation mode; Parallel vs Language Threads vs in-chat)
  • Website MVP: product pages + Stripe subscription / a-la-carte checkout
  • Phala compose / deploy story: transcription CVM + translation CVM @ 4 GB each
  • Cross-link and keep #8 / #9 as implementation children; open follow-ups for Parallel Translation packaging if needed

Related

  • #8 — extract voice transcription to its own 4 GB CVM
  • #9 — split in-group translation vs Language Threads
  • docs/language-threads.md — Language Threads behavior

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions