Internal — infrastructure planning

Votai: accounts & cost model for the pilot build

Full architecture as scoped (no phase deferred), estimated against a one-jurisdiction, one-client pilot — scaled 5× on every usage assumption for a conservative safety margin, including data archival and tutorial-video production, plus a separate scope (§7) for running ≥3 clients simultaneously. For Luisa, Cristian, Pablo.

Prepared Jul 2026 Scope Full stack, 5× safety-margin scenario Status Pre-build estimate

If neither button does anything (some sandboxed viewers block downloads/clipboard), the raw CSV is also printed in full, selectable, at the very bottom of this page — select all, copy, paste into a new .csv file.

Cost per category, at a glance

Every number below is detailed and sourced further down (section references in the last column). Baseline = the realistic estimate before any margin. ×5 = the safety-margined figure this document budgets against throughout — shown side by side everywhere from here on, not just at the top, so the gap is always visible.

Category1 client3 clients§
Baseline×5Baseline×5
Fixed infrastructurehosting, DB, orchestration, observability$308/mo$829/mo$602/mo$2,239/mo3
Variable usageClaude, Voyage AI, storage overage$18–37/mo$252–427/mo$55–112/mo$756–1,281/mo4
Document ingestionparsing + embeddings + content generation$13–31$325–775$39–93$975–2,3254
Video/image — Option Arecommended narrated-diagram approach; the figure counted in subtotals below$57–88$285–440$171–264$855–1,3205
Video/image — Option Balternative, not in subtotal — AI avatar presenter instead of Option A$500–1,500$2,500–7,500$1,500–4,500$7,500–22,5005
Video/image — Option Calternative, not in subtotal — full generative video, not recommended$3,000–7,500$15,000–37,500$9,000–22,500$45,000–112,5005
Multi-tenant isolation engineeringpaid once, ever — not per client, not applicable to a single tenant$33,000–56,400$165,000–282,0007
Cost per additional client, beyond first 3a rate, not a scenario total — what onboarding a 4th, 5th, etc. client costs, once the isolation architecture above already existsn/an/a$4,200–7,200$21,000–36,0007
Recurring subtotalFixed infra + Variable usage; Option A only$326–345/mo$1,081–1,256/mo$657–714/mo$2,995–3,520/mo
One-time subtotalIngestion + Video Option A + (3-client only) isolation labor$70–119$610–1,215$33,210–56,757$166,830–285,645
Estimated recurring cost
$1,081–1,256/ month
Plus one-time (ingestion + video)
$610–1,215once
Recurring jumped from $520–645 mainly because of §3's archival policy choice (35-day point-in-time recovery = 5× the base 7-day window, $500/mo on its own) and the DigitalOcean backend swap (§3). Video tutorials use the recommended narrated-slideshow approach (§5) — full AI-generated video would add ~$15,000–37,500 one-time instead of ~$285–440; see §5 for why that's not recommended here.

1 Accounts to open

Everything the documented architecture calls for. Nothing deferred to a later phase — per the decision to build the full stack for the pilot rather than a trimmed version. Pay-per-use services now show the estimated figure from §4 (5×-margin scenario, with ingestion's further ×5 contingency applied), not just their billing model — so this list totals to a real number on its own.

VercelNext.js frontend hosting
Pro — $20/mo
DigitalOceanFastAPI backend hosting — Droplet, replaces Render
2vCPU/4GiB ×5 margin — $120/mo
SupabasePostgres + pgvector, plus PITR add-on for audit/archival retention
Pro+Medium compute $60/mo
+ PITR $500/mo
Voyage AIMultilingual embeddings — pay-per-token, priced as paid usage not free tier
~$1.50–1.80/mo
AnthropicClaude API — generation, Q&A, change scans — pay-per-token
~$225–350/mo
+ $75–150 once
AWSTextract — doc parsing, pay-per-page
~$250–625 once
Temporal CloudWorkflow orchestration
Essentials — $100/mo min.
LangfuseLLM/RAG observability
Core — $29/mo
IdeogramAI-generated diagrams/illustrations for training modules
~$75–225 once
ElevenLabsText-to-speech narration for tutorial videos
~$210–215 once

Recurring across this list: $20+120+60+500+100+29 fixed + $252–427 usage ≈ $1,081–1,256/mo. One-time: ingestion $325–775 + video/image production $285–440 ≈ $610–1,215. Matches §6 — this list is just the same total broken out per account instead of per cost category.

2 Pilot scenario assumed — 5× safety margin

Every usage assumption from the original scenario (500 pages / 50 trainees / 10 Q&A each) multiplied by 5, per Pablo's request to be conservative. Swap in real numbers once a pilot client is confirmed.

Assumed for this estimate
  • One jurisdiction, ~2,500 pages of official electoral law/procedure documents to ingest (was 500)
  • 250 poll-worker trainees in the pilot (was 50)
  • Each trainee completes ~5 training modules with quizzes across ~100 distinct modules/topics curriculum-wide (was 20 — scaled with the 5× larger document set)
  • Each trainee asks ~50 real-time Q&A questions over the pilot period (was 10)
  • Documents are a mix of clean text and tables/forms (not scanned images — revisit AWS Textract cost if they are)
This compounds, not just multiplies

Trainee count and Q&A-per-trainee were each multiplied by 5 — so total Q&A query volume is 250 × 50 = 12,500 queries/month, which is 25× the original 500 queries/month, not 5×. That compounding is why the Q&A line in §4 jumps so much more than everything else.

3 Fixed monthly infrastructure

These run regardless of how much the pilot is actually used. Supabase's compute tier is bumped (not mechanically ×5'd) since at 25× query volume the base tier would genuinely risk hitting its limits; DigitalOcean, Vercel, Temporal, and Langfuse are priced at baseline × 5.

ServicePurposeBaseline×5 margin
Vercel Pro1 seat — likely still fits 1TB bandwidth, text-based app; not marginedFrontend hosting$20$20
DigitalOcean Droplet2vCPU/4GiB — replaces RenderBackend hosting (FastAPI)$24$120
Supabase ProMedium compute — bumped for load, not a clean ×5Postgres + pgvector$35$60
Supabase PITR1 window baseline → 5 windows (35-day retention), see flag belowAudit & archival recovery$100$500
Temporal Cloud Essentialsfloor holds regardless — not marginedWorkflow orchestration$100$100
Langfuse Core~25–37K units/mo at 12.5K queries — still under the 100K included, not marginedObservability$29$29
Fixed subtotal$308$829
Archival is a policy choice, not a technical minimum

Supabase's Point-in-Time Recovery is priced per 7-day retention window ($100/mo each). One window is enough to recover from an accidental delete; it says nothing about how long you actually want to retain audit trails for an electoral-compliance product. Applying the same ×5 safety margin here gives 5 windows = 35 days of point-in-time recovery, at $500/mo — a real, defensible number for a product whose stated moat includes audit logs and regulatory change history, but genuinely a choice the team should make consciously, not something to default into. Dial it down to 1–2 windows ($100–200/mo) if 35 days is more retention than the pilot needs.

Separately, accumulated data growth (audit logs, Q&A transcripts, document version history) adds modest storage overage beyond the 8GB/100GB included on Pro — see the "Data storage overage" line in §4.

Cost flag

$100/mo of the fixed total is still Temporal Cloud's minimum floor — it's priced as "the greater of $100/mo or 5% of consumption," so it costs the same $100 whether the pilot runs 10 workflow actions or 100,000 this month. Even at the 5×-margin scenario, a single pilot client's task volume won't cross into where the 5%-of-consumption side of that formula overtakes the floor.

The architecture doc itself marks Temporal as "Phase 3+" — appropriate for orchestrating change-detection across many jurisdictions at scale, not something a single-client pilot's light task volume structurally needs yet. Including it now is the direct, quantifiable price of building the full stack up front rather than deferring it — worth the team seeing that trade-off as a number, not just a phasing note.

4 Variable, usage-based costs

Scale with the 5×-margin assumptions in §2 — shown as one-time (ingesting the client's documents) vs. recurring (ongoing generation and Q&A). Per Pablo's follow-up, the two one-time/ingestion lines carry a further ×5 on top of that (25× the original baseline) as extra contingency — covering things like multiple parsing passes per page (text + table/form analysis), reprocessing, and OCR retries that a single linear pages×rate estimate doesn't capture. Cost column shows the new figure with the original baseline in parentheses.

ItemBasisEst. cost
Document parsingAWS Textract, ~2,500 pages, mixed text/tables — 5× pages, plus a further 5× contingency buffer (25× total)one-time$250–625
(baseline $10–25)
EmbeddingsVoyage AI (voyage-multilingual-2), ~2.5–3M tokens/mo — priced on paid usage (~$0.12/1M), not the free allowance, since Pablo expects we'll outgrow free-tier volume once this isn't just one pilot; ×5 margin applied on topmonthly$1.50–1.80
(paid baseline $0.30–0.36)
Content generationClaude, ~100 modules × quizzes/simulations — 5× module count, plus a further 5× contingency buffer (25× total)one-time$75–150
(baseline $3–6)
Real-time Q&AClaude, 250 trainees × ~50 questions = 12,500 queries/mo — 25× volume, see §2 calloutmonthly$200–300
(baseline $8–12)
Regulatory change scansClaude, periodic re-check of a 5× larger source doc setmonthly$25–50
(baseline $5–10)
Data storage overageSupabase, accumulated audit logs/Q&A transcripts/doc versions beyond the included 8GB/100GBmonthly$25–75
(baseline $5–15)
One-time subtotal~$325–775
(baseline $13–31)
Recurring subtotal~$252–427
(baseline $18–37)

5 Video tutorial production

Three genuinely different approaches, priced separately — this is a real fork, not just a cost line, because of what's actually at stake in an accuracy-critical domain like electoral procedure training. All three assume the same content volume: ~100 modules × ~5 minutes each (500 minutes total).

Option A — narrated diagrams (cheapest, lowest risk)
  • AI-generated illustrations/diagrams (Ideogram) for each module's visual aids — reviewed for accuracy before use, same as any other generated content in this product
  • Text-to-speech narration (ElevenLabs) over those vetted images, assembled into a simple video — no separate AI video-generation cost, video assembly is just rendering
  • ~100 modules × ~5 illustrative images each = 500 images; ~100 modules × ~5 minutes of narration each
ItemBasisEst. cost
Diagrams/illustrationsIdeogram, ~500 images, ×5 marginone-time$75–225
(baseline $15–45)
NarrationElevenLabs, ~425K characters, ×5 marginone-time$210–215
(baseline $42–43)
Option A total~$285–440
(baseline $57–88)
Option B — AI avatar presenter, talking to camera
  • A realistic AI avatar (HeyGen-style API) delivers each module's script directly to camera — same vetted, AI-generated-then-reviewed script text already produced for Option A's narration, just performed by an avatar instead of read over static images
  • Accuracy risk is essentially the same as Option A, not the same as Option C — the avatar is a presentation layer over already-reviewed text, it isn't generating or inventing any visual content about how ballots/procedures look. The added risk is production quality (a stiff or uncanny avatar undermining trust in official training), not factual accuracy
  • Avatar platforms (HeyGen, Synthesia, D-ID, Colossyan) bundle voice generation into the render, so this replaces ElevenLabs narration rather than adding to it — diagrams from Option A could still be used as supplementary cutaways/slides if wanted, priced separately
  • ~100 modules × ~5 minutes = 500 minutes of avatar video total
ItemBasisEst. cost
Avatar video generationHeyGen-style API, ~$1–3/min standard-to-premium avatar quality, 500 minone-time$2,500–7,500
(baseline $500–1,500)
Option B total~$2,500–7,500
(baseline $500–1,500)
Where this sits between the other two options

Option B is roughly 9–17× Option A's cost but 5–6× cheaper than Option C (full generative video footage, below) — and unlike Option C, it doesn't carry the visual-hallucination risk, since the avatar never generates footage of ballots, polling stations, or procedures. It's a real middle ground: meaningfully more engaging/human than static narrated diagrams, without the accuracy exposure of generated footage. If budget allows, this is a defensible upgrade from Option A rather than a risk to avoid the way Option C is.

Option C — full AI-generated video footage (not recommended)
  • Generating actual video footage with a model like Runway or Sora, rather than narrating vetted diagrams or using a scripted avatar
  • Both far more expensive and a real accuracy risk — this platform's entire premise is grounding training content exclusively in official documents; generated footage of "how a ballot should look" or "how to set up a polling station" can visually hallucinate details neither Option A nor Option B risks, since both of those are built from content that's reviewable before use
ItemBasisEst. cost
Generated video footageRunway/Sora-style, $0.10–0.25/sec across Sora 2 Standard to Runway Gen-4.5, 30,000 secone-time$15,000–37,500
(baseline $3,000–7,500)
Option C total~$15,000–37,500
(baseline $3,000–7,500)
Recommendation

Option C is roughly 40–90× Option A and 5–6× Option B, for a result that's riskier for this specific domain, not just more expensive. Recommend Option A as the default, with Option B as a considered upgrade if engagement/production value matters enough to the team to justify the added cost — and Option C only if there's a specific reason to need actual generated footage, which isn't apparent here.

6 Total — 5× safety margin

Fixed infrastructureincl. $500/mo archival policy choice (§3) + $120/mo DigitalOcean backend$829 / mo
Variable, recurring$252–427 / mo
Estimated recurring total$1,081–1,256 / mo
Document ingestion§4, 25× baseline$325–775
Video/image production§5, recommended approach$285–440
Estimated one-time total$610–1,215

For reference, the pre-margin baseline (before any ×5) was ~$225–230/mo recurring + ~$15–30 one-time, with no archival, backend-hosting swap, or video line items at all. Roughly half of the new recurring total ($500 of $1,081–1,256) is the archival policy choice in §3 — that's the single highest-leverage number for the team to actually decide on, not just accept by default.

7 Multi-tenant isolation — scoping for ≥3 clients

Everything above was scoped and costed for one client with a safety margin — not for multiple clients running simultaneously. Three real clients is a different kind of scaling: almost certainly three different jurisdictions, which needs actual isolation engineering, not just more compute headroom.

Engineering work required — not just infrastructure spend
  • Tenant identity & request scoping — every API request resolves which client/jurisdiction it belongs to (tenant claim in auth), enforced before any data access
  • Database-level isolation — Row-Level Security policies on every table, so a query can never return another tenant's rows even if application code has a bug
  • Vector/embedding isolation — every retrieval query must filter to one tenant's embedded documents; a single missed filter means Client A's Q&A could surface Client B's jurisdiction's rules
  • Separate ingestion pipelines — document parsing/embedding jobs namespaced per client, so a processing job can't write into the wrong tenant's index
  • Per-jurisdiction eval suite — correct answers differ by jurisdiction, so the eval suite (already the stated #1 technical priority) needs building once per client, not once total
  • Cross-tenant leakage tests — a new category of test that doesn't exist in a single-client build: actively trying to make Client A's system answer using Client B's content, and confirming it can't
  • Per-tenant audit log separation — each client's audit trail independently reviewable, not commingled with others'
  • Temporal namespace per tenant — isolates each jurisdiction's regulatory-change-detection workflows from the others
Data sovereignty — a legal question, not just a technical one

If these 3 clients are electoral authorities in different countries, some may have legal requirements that their data physically reside within their own country or region — not just be logically separated in a shared system. This isn't optional infrastructure polish; it can be a hard compliance requirement that determines where each tenant's Supabase project, embeddings, and backups are hosted. Worth confirming directly with each prospective client early, since it can force genuinely separate regional infrastructure rather than a cost/tier decision.

Costed below on the safer, more isolated architecture — a separate Supabase project per client rather than one shared project with row-level filtering — consistent with treating isolation as a real requirement for this domain, and with the ×5 approach used throughout. Variable costs assume each of the 3 clients independently replicates the full 5×-margined single-client scenario from §2 (not 3 clients each at the smaller original baseline) — the more conservative read of "always overestimate."

ServiceChange for 3-tenant isolationBaseline×5 margin
Vercel ProUnchanged — one frontend, tenant-routed; not margined$20$20
DigitalOcean2 Droplets ($24 each) for capacity/redundancy across tenants$48$240
Supabase ×3Separate project per client ($35 compute + $100 PITR baseline each), isolation + data sovereignty$405$1,680
Temporal CloudSeparate namespace per tenant — likely still fits Essentials; watch if combined workflow volume crosses into Business tier; not margined$100$100
LangfuseCore baseline → bumped to Pro for compliance reporting across multiple clients (tier upgrade, not a clean ×5)$29$199
Fixed subtotal$602$2,239
CategoryBasisBaseline ×3×5 margin ×3
Variable, recurring§4's baseline/×5 × 3 clientsmonthly$55–112$756–1,281
Document ingestion§4's baseline/×5 × 3 clientsone-time$39–93$975–2,325
Video/image production§5's baseline/×5 × 3 clients — separate curriculum per jurisdictionone-time$171–264$855–1,320
Infrastructure only — recurring
$2,995–3,520/ month
Infrastructure only — one-time
$1,830–3,645once
$2,239/mo of the recurring total is fixed infrastructure — dominated by running 3 separate, fully-isolated Supabase projects ($1,680) rather than one shared project. That's the biggest lever if the team decides shared-project-with-RLS isolation is an acceptable risk instead — it would cut Supabase to roughly $560–650/mo total instead of $1,680. This does not yet include the engineering labor to actually build the isolation — that's below, and it's the number that matters more.

Engineering labor — the isolation work itself (paid once)

Priced this time, not left as a footnote. Every task below is a one-time architectural build — RLS policies, retrieval filtering, the tenant-scoping middleware, the eval-suite harness, the leakage-test framework. None of it gets rebuilt for the 4th, 10th, or 50th client; it's built once and every future tenant flows through the same isolation layer. The only per-jurisdiction element already folded in here is the eval suite's test content (not its harness) for the first 3 clients — see the smaller, genuinely recurring cost per client beyond that, below. Rate uses a senior backend/security contractor range ($120–200/hr, 2026 US remote market) at a $150/hr midpoint.

TaskHours
Tenant identity & request-scoping middlewareAuth model, tenant claims, enforcement on every endpoint24–40
Database RLS policies~8–15 tables, written and adversarially tested32–56
Vector/embedding isolationPer-tenant retrieval filtering — the highest-risk item if missed24–40
Separate ingestion pipelinesTenant-namespaced parsing/embedding jobs16–24
Per-jurisdiction eval suiteHarness built once (~40–80h), +16–24h per additional jurisdiction × 2 more72–128
Cross-tenant leakage test suiteAdversarial tests proving isolation actually holds16–24
Per-tenant audit log separation8–16
Temporal namespace-per-tenant setup8–16
Langfuse tenant tagging/separation4–8
Integration testing & security reviewGiven the stakes, a dedicated review pass, not a rubber stamp16–24
Total hours220–376
Engineering labor, realistic estimate
$33,000–56,400once
Engineering labor, ×5 safety margin
$165,000–282,000once
220–376 hrs × $150/hr = the realistic figure. The ×5 figure isn't "hours × 5" (that would be an unrealistic 5–9 months of pure schedule slippage) — it's the realistic dollar estimate ×5, which more honestly represents scenarios like bringing in a specialized security firm for the review pass, a slower first-time build with a newly-hired engineer still ramping up on the stack, or meaningful rework after the leakage tests catch something. Treat $33,000–56,400 as "if this goes smoothly with an experienced hire," and $165,000–282,000 as the budget number.

This dwarfs every infrastructure number in this document — the engineering labor to do isolation properly costs roughly 10–40× more than a year of the actual hosting/API bills. That's the real headline of this section: multi-tenant isolation for an electoral-integrity product is fundamentally a people problem before it's a hosting-cost problem, which is exactly why it's worth a staffing conversation (the CTO role is still open) rather than something to fold into the infrastructure budget quietly.

Cost per additional client, beyond the first 3

The isolation build above is a one-time architectural cost — it doesn't repeat for a 4th, 5th, or 10th client. Onboarding each additional client still carries a smaller, genuinely recurring slice of work, since a new jurisdiction means new eval content and a fresh tenant environment, not new architecture.

TaskHours
Eval suite content for the new jurisdictionHarness already exists — just new test cases16–24
New tenant environmentSeparate Supabase project, Temporal namespace, config8–16
Tenant-specific leakage/integration test passConfirm isolation holds for this specific client too4–8
Total hours, per additional client28–48
Per additional client, realistic
$4,200–7,200once
Per additional client, ×5 margin
$21,000–36,000once
28–48 hrs × $150/hr, same ×5 treatment as the rest of this section. Roughly 13–14× cheaper than the initial isolation build — the expensive part (designing the architecture) is genuinely a one-time cost; onboarding client #4 onward only pays for what's actually new about that client.
Baseline×5 margin
Infrastructurerecurring, year 1$7,884–8,568$35,940–42,240
Infrastructureone-time$210–357$1,830–3,645
Engineering laborone-time$33,000–56,400$165,000–282,000
All-in first-year cost, 3 clients$41,094–65,325$202,770–327,885

Infrastructure recurring is annualized ($657–714/mo baseline, $2,995–3,520/mo margined × 12) to put it on the same footing as the one-time labor cost. Labor is ~80% of either total — infrastructure spend is genuinely the smaller part of what "do this properly for 3 clients" costs, at either estimate.

A Appendix — raw CSV

Guaranteed-to-work fallback if both buttons at the top are blocked by this viewer's sandbox: click inside the box below, select all (Ctrl/Cmd+A), copy, and paste into a blank text file saved as votai_cost_model.csv.

Category,Item,Scenario,CostType,Frequency,BaselineLow,BaselineHigh,MarginedLow,MarginedHigh,Currency,SectionRef,Notes
Fixed Infrastructure,Vercel Pro (1 seat),1 client,Recurring,Monthly,20,20,20,20,USD,3,Frontend hosting; never margined
Fixed Infrastructure,DigitalOcean Droplet (2vCPU/4GiB),1 client,Recurring,Monthly,24,24,120,120,USD,3,Backend hosting; replaces Render
Fixed Infrastructure,Supabase Pro compute,1 client,Recurring,Monthly,35,35,60,60,USD,3,Bumped to Medium compute for load; not a clean x5
Fixed Infrastructure,Supabase PITR (point-in-time recovery),1 client,Recurring,Monthly,100,100,500,500,USD,3,1 window baseline to 5 windows (35-day retention)
Fixed Infrastructure,Temporal Cloud Essentials,1 client,Recurring,Monthly,100,100,100,100,USD,3,Minimum floor regardless of usage; never margined
Fixed Infrastructure,Langfuse Core,1 client,Recurring,Monthly,29,29,29,29,USD,3,Observability; never margined at this usage level
Variable Usage,Voyage AI embeddings,1 client,Recurring,Monthly,0.30,0.36,1.50,1.80,USD,4,Paid usage not free tier per request
Variable Usage,Real-time Q&A (Claude),1 client,Recurring,Monthly,8,12,200,300,USD,4,25x volume - trainee count and Q&A-per-trainee both x5 compounds
Variable Usage,Regulatory change scans (Claude),1 client,Recurring,Monthly,5,10,25,50,USD,4,Periodic re-check of source documents
Variable Usage,Data storage overage (Supabase),1 client,Recurring,Monthly,5,15,25,75,USD,4,Accumulated audit logs/Q&A transcripts/doc versions
Document Ingestion,Document parsing (AWS Textract),1 client,One-time,Once,10,25,250,625,USD,4,2500 pages; 25x total incl. extra ingestion contingency
Document Ingestion,Content generation (Claude),1 client,One-time,Once,3,6,75,150,USD,4,~100 modules worth of quizzes/simulations
Video Production,Diagrams/illustrations (Ideogram),1 client,One-time,Once,15,45,75,225,USD,5,~500 images; recommended approach not full AI video
Video Production,Narration (ElevenLabs),1 client,One-time,Once,42,43,210,215,USD,5,~425K characters TTS narration
Video Production,Option B - AI avatar presenter (alternative to Option A),1 client,One-time,Once,500,1500,2500,7500,USD,5,"ALTERNATIVE not summed into official totals. HeyGen-style API $1-3/min x 500 min. Same accuracy risk as Option A (delivers reviewed script), replaces ElevenLabs narration if selected."
Video Production,Option C - full AI video footage (not recommended),1 client,One-time,Once,3000,7500,15000,37500,USD,5,"ALTERNATIVE not summed into official totals. Runway/Sora-style footage generation. Not recommended: visual hallucination risk for official procedures."
Fixed Infrastructure,Vercel Pro (1 seat),3 clients,Recurring,Monthly,20,20,20,20,USD,7,Shared frontend tenant-routed; never margined
Fixed Infrastructure,DigitalOcean (2 Droplets),3 clients,Recurring,Monthly,48,48,240,240,USD,7,Capacity/redundancy across tenants
Fixed Infrastructure,Supabase x3 separate projects (compute+PITR),3 clients,Recurring,Monthly,405,405,1680,1680,USD,7,Isolation + data sovereignty; separate project per client
Fixed Infrastructure,Temporal Cloud (namespace per tenant),3 clients,Recurring,Monthly,100,100,100,100,USD,7,Watch if combined workflow volume needs Business tier
Fixed Infrastructure,Langfuse (Core to Pro),3 clients,Recurring,Monthly,29,29,199,199,USD,7,Bumped for compliance reporting across clients; not a clean x5
Variable Usage,Voyage AI embeddings,3 clients,Recurring,Monthly,0.90,1.08,4.50,5.40,USD,7,1-client line x3
Variable Usage,Real-time Q&A (Claude),3 clients,Recurring,Monthly,24,36,600,900,USD,7,1-client line x3
Variable Usage,Regulatory change scans (Claude),3 clients,Recurring,Monthly,15,30,75,150,USD,7,1-client line x3
Variable Usage,Data storage overage (Supabase),3 clients,Recurring,Monthly,15,45,75,225,USD,7,1-client line x3
Document Ingestion,Document parsing (AWS Textract),3 clients,One-time,Once,30,75,750,1875,USD,7,1-client line x3
Document Ingestion,Content generation (Claude),3 clients,One-time,Once,9,18,225,450,USD,7,1-client line x3
Video Production,Diagrams/illustrations (Ideogram),3 clients,One-time,Once,45,135,225,675,USD,7,1-client line x3; separate curriculum per jurisdiction
Video Production,Narration (ElevenLabs),3 clients,One-time,Once,126,129,630,645,USD,7,1-client line x3; separate curriculum per jurisdiction
Video Production,Option B - AI avatar presenter (alternative to Option A),3 clients,One-time,Once,1500,4500,7500,22500,USD,5,"ALTERNATIVE not summed into official totals. 1-client Option B x3."
Video Production,Option C - full AI video footage (not recommended),3 clients,One-time,Once,9000,22500,45000,112500,USD,5,"ALTERNATIVE not summed into official totals. 1-client Option C x3."
Engineering Labor,Multi-tenant isolation build (full architecture),3 clients,One-time,Once,33000,56400,165000,282000,USD,7,"Paid ONCE ever, not per client. 220-376 hrs at USD150/hr midpoint (USD120-200/hr range). Covers: tenant-scoping middleware; RLS policies; vector/embedding retrieval isolation; ingestion pipeline namespacing; per-jurisdiction eval suite (harness + first 3 jurisdictions'' content); cross-tenant leakage test suite; audit log separation; Temporal namespacing; Langfuse tagging; integration/security review."
Engineering Labor,Cost per additional client beyond first 3,4th+ client,One-time,Once,4200,7200,21000,36000,USD,7,"Paid once PER additional client. 28-48 hrs: new jurisdiction's eval-suite content (harness already exists); new tenant environment (Supabase project + Temporal namespace); tenant-specific leakage test pass. ~13-14x cheaper than the initial build since the architecture itself does not repeat."