Karyio's estimated monthly operating cost for the November 2026 demo and the pilots after it. Every figure comes from one bottom-up model: verified unit prices × assumed usage. No billing history was used. Usage numbers are judgment values until the pilot produces real data.
Base case for each preset. The shaded band shows the Growing pilot's Low–High range. Small pilot has no growth, so it stays flat.
Small pilot, month 1 and Growing pilot, month 12, by cost type. Fixed infrastructure dominates early; de-identification and AI grow with use.
Top line items in the Growing pilot, month 12 (base case).
Prices are mostly verified. The forecast will mostly miss on usage, not prices.
Change users, growth, voice minutes, chat, care logs, RAG share and infrastructure, and every chart updates.
Change how people use Karyio and see monthly cost move. Use the sliders on the left. Token sizes, text lengths and prices are on Assumptions & Pricing.
Stacked by type. Infrastructure is mostly fixed; AI, de-identification and storage grow with users and activity.
Speech-to-text and read-aloud run on the iPhone (Apple, no per-minute charge). Voice adds cost only because each spoken message becomes a chat turn: AI, de-identification and storage. Voice turns are counted once, not again as typed chat.
Usage-based costs by provider, model and feature. Shared infrastructure is not included here.
Log processing (AI-assisted entry, summaries), memory embeddings, chat summaries and background Care Insights runs. Weekly reports currently make no AI call of their own.
Estimated database size against the allocated RDS storage and its auto-grow ceiling. Row sizes are assumptions until measured.
Three preset usage levels, using the same prices and the uncertainty band chosen above. Month 1 and month 12.
Uses the sidebar settings. Base uses every base assumption. Low and High set all uncertain inputs low or high together, so they are the outer limits, not likely outcomes. Four kinds of uncertainty are combined: how often people use the app, token counts, how much text DetectPHI scans, and prices that aren't verified. Verified (official) prices stay fixed.
Each bar moves one kind of uncertainty from its low to its high value while everything else stays at base. Longer bars are the numbers most worth measuring first.
Usage frequency: messages, voice minutes and logs per day, multiplied by the factors above. AI token counts: every token-size assumption. DetectPHI text volume: message, reply and log lengths, plus re-scans. Usage mix & triggers: RAG and recall shares, summaries, sessions, Care Insights runs. Storage & infra sizing: row sizes, logs, load-balancer capacity. Unverified prices: every price not marked Official.
How much DetectPHI adds in each scenario, under three settings: as the code works today, a what-if where each user message is scanned only once (would need a code change; nothing has been changed), and off (a privacy decision, not a cost decision). Uses the uncertainty band selected at the top.
One DetectPHI request each time text is de-identified. There is no cache. Each request is billed at a minimum of 1 unit (100 characters).
The same monthly total, seen two ways. By service is how invoices arrive: AWS, Anthropic, OpenAI and so on. By feature is what each part of the product costs. Shared infrastructure (servers, database, load balancer) runs whether or not a feature is used, so it gets its own line and is never split into features. That way the two views add up to the same total and nothing is counted twice.
Usage-based costs follow the feature that triggers them. Voice isn't listed separately here because spoken turns are chat turns. The voice share is shown in its card above.
Who sends the invoice. AWS includes infrastructure, storage and Comprehend Medical.
Every line in the model, with the service that bills it and the feature it is attributed to. Totals match the Simulator.
The parts of Karyio that can cost money, how they connect, and how each feature reaches them. This is a simplified public view. It shows cost-relevant components only, not deployment or security configuration. Click a box to see what it does and what it costs at the current Simulator settings.
Not built yet, or only partly built, and not in the monthly totals. Click a card to highlight what it depends on. A card lists possible cost sources, not a commitment to a new paid service.
Every feature runs on these, but their cost depends on uptime and size, not on which feature is used.
Every price and usage assumption the model uses, where it came from and how sure we are. Edits here feed the Simulator and every other page directly; there is no second copy of the numbers. Use Reset at the top to restore the defaults.
Monthly cost = Σ (unit price × usage volume). Users × daily-active share × activity per user × 30.4 days gives the month's chat turns, voice turns and care logs. Every usage cost scales from those volumes. Fixed infrastructure is priced for 730 hours a month.
Edit any price; every chart updates. Official read on the provider's own pricing page or price list. Secondary the official page didn't show it, so a third-party source was used. Team-recorded recorded by the team from AWS on 2026-09-15, not re-checked. Assumed no source found.
The highlighted column is active. Measured from team eval runs or content data. Synthetic eval measured on synthetic evaluation questions, not real patient traffic. From code set in configuration. Assumed a judgment value; replace when measured.
How much of the model is verified, what has been measured, and what still needs checking before and during the pilot. Unit prices are mostly verified; usage volumes and text lengths mostly aren't. The gap between forecast and actual cost will come mainly from how people use Karyio.
One factor at a time, from its low to its high value, everything else at base. Computed live from the model. These are hand-picked bounds, not statistical confidence intervals. Real use could fall outside them.
The short list that closes the biggest gaps. None of it needs a deployment or a paid call to plan.
Calibrate on usage quantities, not dollars: replace each assumption with its observed value and let the model recompute cost from verified prices. That keeps "we misjudged usage" apart from "we misjudged prices."
Measurement collects aggregates only: counts, sums and percentiles, never message, note or transcript text. Groups smaller than 5 users are suppressed.