Capacity & Scaling Analysis
Pre-work for Session 1 | Prepared: 2026-02-17
The Scaling Story (3-sentence summary for Danny)
Envo is built on a serverless architecture (Vercel + Supabase) that scales automatically with demand — we do not need to buy bigger servers as we grow. The primary cost drivers are usage-based: LLM calls per tenant conversation, Twilio per WhatsApp/SMS message, and VAPI per voice minute — meaning costs grow proportionally with tenant activity, not just property count. At 3,000 properties our estimated platform cost is GBP 1.50—4.50 per property per month (depending on tenant interaction volume), and the BYOAK model lets us shift the most expensive costs (LLM, Twilio, voice) to larger customers.
Infrastructure Stack
Plain-English version: Everything runs in the cloud, managed by third parties. No servers to maintain.
| Layer | Service | Why It Scales |
|---|---|---|
| Web app + API | Vercel (Next.js) | Serverless — spins up capacity automatically per request, scales to zero when idle |
| Database | Supabase (PostgreSQL + pgvector) | Managed cloud database; we can upgrade compute independently of storage |
| Auth | Supabase Auth | Included; handles up to 100K monthly active users on Pro plan |
| File storage | Supabase Storage | Pay-per-GB; stores issue photos, compliance documents |
| AI brain | Claude (Anthropic) with OpenAI fallback | Pay-per-token; no capacity limits, multi-provider fallback chain |
| Embeddings | OpenAI text-embedding-3-small | Pay-per-token; one-time cost per document, near-zero per query |
| WhatsApp + SMS | Twilio | Pay-per-message; no infrastructure to manage |
| Voice | VAPI | Pay-per-minute; includes STT + TTS + telephony |
| SendGrid | Pay-per-email; Essentials plan from GBP 16/mo |
Key point: Nothing in this stack has a hard capacity ceiling. Every layer is pay-as-you-go or upgradeable. The question is not “can it handle 3,000 properties?” but “what does it cost at 3,000 properties?”
Cost Drivers
1. LLM Generation (Claude / OpenAI)
- What it is: Every tenant conversation triggers AI calls — intent classification, RAG retrieval, response generation, and tool use (e.g. creating issues).
- How it scales: Per-message (each tenant message = 1+ LLM call). A typical conversation might be 4-8 messages.
- Current pricing: Claude Sonnet 4 = 15/M output tokens. A single query-response cycle uses roughly 1,500 input tokens (system prompt + context + retrieved chunks) and 300 output tokens.
- Estimated cost per query: ~$0.01-0.03 (from RAG Pipeline doc; validated by token pricing).
- Estimated cost per conversation (6 messages avg): ~$0.06-0.18.
| Scale | Assumed conversations/mo | Monthly LLM cost |
|---|---|---|
| 100 properties | 200 | GBP 12-36 |
| 500 properties | 1,000 | GBP 60-180 |
| 1,000 properties | 2,000 | GBP 120-360 |
| 3,000 properties | 6,000 | GBP 360-1,080 |
Assumption: ~2 conversations per property per month (conservative for HMOs; could be higher). Pricing converted at $1 = GBP 0.80 approximately.
2. Embeddings (OpenAI)
- What it is: Converting property documents (house rules, manuals, lease info) into vectors for AI search.
- How it scales: One-time cost per document upload + near-zero per query.
- Current pricing: 0.0001.
- Per-query cost: ~$0.0001 (negligible).
- At scale: Even at 3,000 properties with 20 documents each = 60,000 documents. Initial embedding cost ~ GBP 5-10 total. Ongoing query costs negligible.
Verdict: Not a meaningful cost driver. Effectively free.
3. Twilio — WhatsApp
- What it is: Sending and receiving WhatsApp messages to/from tenants.
- How it scales: Per-message. Both inbound and outbound are charged.
- Current pricing: ~0.01-0.03 per message depending on template vs free-form.
- Estimate per conversation (6 messages avg): ~$0.06-0.18.
| Scale | Assumed messages/mo | Monthly WhatsApp cost |
|---|---|---|
| 100 properties | 1,200 | GBP 10-17 |
| 500 properties | 6,000 | GBP 48-86 |
| 1,000 properties | 12,000 | GBP 96-173 |
| 3,000 properties | 36,000 | GBP 288-518 |
Assumption: 12 messages per property per month (both directions combined). WhatsApp is the primary channel.
4. Twilio — SMS
- What it is: SMS notifications to landlords, vendors, and tenants (e.g., issue updates, vendor assignments).
- How it scales: Per-message.
- Current pricing: ~$0.046 per outbound SMS (UK).
- Estimate: 3-5 SMS per issue (landlord notification, vendor assignment, tenant update).
| Scale | Assumed SMS/mo | Monthly SMS cost |
|---|---|---|
| 100 properties | 300 | GBP 11 |
| 500 properties | 1,500 | GBP 55 |
| 1,000 properties | 3,000 | GBP 110 |
| 3,000 properties | 9,000 | GBP 331 |
Assumption: ~1 issue per property per month with 3 SMS notifications per issue.
5. VAPI — Voice AI
- What it is: AI-powered phone line for tenants to call and report issues verbally.
- How it scales: Per-minute of call time.
- Current pricing: $0.13-0.31 per minute all-in (VAPI platform + STT + LLM + TTS + telephony).
- Estimate per call: 3-5 minutes average = $0.39-1.55 per call.
| Scale | Assumed calls/mo | Monthly voice cost |
|---|---|---|
| 100 properties | 20 | GBP 6-25 |
| 500 properties | 100 | GBP 31-124 |
| 1,000 properties | 200 | GBP 62-248 |
| 3,000 properties | 600 | GBP 187-744 |
Assumption: ~20% of properties generate 1 voice call per month. Voice is a secondary channel behind WhatsApp.
6. Hosting & Database
- What it is: The platform itself — web app hosting and database.
- How it scales: Mostly fixed costs with step-ups at certain thresholds.
- Supabase Pro: 110/mo for dedicated 2-core at 1,000+ properties).
- Vercel Pro: $20/mo per team member. Usage-based beyond included credits.
| Scale | Supabase | Vercel | Total hosting |
|---|---|---|---|
| 100 properties | GBP 20 | GBP 16 | GBP 36 |
| 500 properties | GBP 20-40 | GBP 16-32 | GBP 36-72 |
| 1,000 properties | GBP 88 | GBP 24-48 | GBP 112-136 |
| 3,000 properties | GBP 88-200 | GBP 40-80 | GBP 128-280 |
Note: These are the costs that scale most slowly. They are largely fixed until we hit database compute limits (~8GB RAM threshold).
7. SendGrid — Email
- What it is: Email notifications and potentially email-based issue intake.
- How it scales: Per-email. Free tier retired May 2025.
- Current pricing: Essentials plan from $19.95/mo for up to 50K emails.
- At scale: Even at 3,000 properties, monthly email volume is likely under 50K. Stays on Essentials.
| Scale | Monthly email cost |
|---|---|
| All scales (up to 3,000) | GBP 16 |
Verdict: Flat cost, not a scaling concern.
Cost-Per-Property Estimate
This table combines all cost centres into a per-property monthly estimate. All figures in GBP.
| Cost Centre | Per-Property (100 props) | Per-Property (500 props) | Per-Property (3,000 props) | Scales With | Confidence |
|---|---|---|---|---|---|
| LLM (Claude + OpenAI) | 0.12-0.36 | 0.12-0.36 | 0.12-0.36 | Messages | Medium — depends heavily on conversation volume |
| WhatsApp (Twilio) | 0.10-0.17 | 0.10-0.17 | 0.10-0.17 | Messages | Medium — depends on channel mix |
| SMS (Twilio) | 0.11 | 0.11 | 0.11 | Issues | Medium — depends on notification design |
| Voice (VAPI) | 0.06-0.25 | 0.06-0.25 | 0.06-0.25 | Call minutes | Low — voice adoption is uncertain |
| Hosting (Vercel) | 0.16 | 0.03-0.06 | 0.01-0.03 | Fixed/stepped | High — known pricing |
| Database (Supabase) | 0.20 | 0.04-0.08 | 0.03-0.07 | Fixed/stepped | High — known pricing |
| Email (SendGrid) | 0.16 | 0.03 | 0.005 | Fixed | High — known pricing |
| Embeddings (OpenAI) | ~0 | ~0 | ~0 | Documents | High — negligible |
| TOTAL | 0.91-1.41 | 0.49-1.06 | 0.43-0.99 |
Key Takeaway
At 3,000 properties, the estimated platform cost is GBP 0.43-0.99 per property per month before any margin. The fixed costs (hosting, database) become negligible per-property at scale. The variable costs (LLM, messaging, voice) dominate and scale linearly.
Important caveats:
- These estimates assume moderate tenant engagement (~2 conversations/property/month). HMOs with 6+ tenants per property could be 3-5x higher.
- Voice costs are the most uncertain — if voice adoption is high, it becomes the single largest cost.
- All per-message costs are approximate and subject to provider pricing changes.
- No cost is included for team salaries, support overhead, or Envo’s own operational costs.
Scaling Limits & Bottlenecks
What breaks first?
| Priority | Bottleneck | Trigger Point | Fix | Cost |
|---|---|---|---|---|
| 1 | Database compute | ~500-1,000 properties (complex queries with RLS joins) | Upgrade Supabase compute tier | GBP 88-200/mo |
| 2 | pgvector search latency | ~50,000+ document chunks (semantic search slows) | HNSW index tuning, or migrate to dedicated vector DB (Qdrant/Pinecone) | GBP 50-200/mo |
| 3 | WhatsApp throughput | Meta rate limits on shared Twilio number | BYOAK (customer uses own Twilio) or multiple Twilio numbers | Customer-funded |
| 4 | LLM rate limits | High concurrent conversations | Multi-provider fallback already designed (Claude → OpenAI → Kimi → GLM) | No extra cost |
| 5 | Single-DB multi-tenancy | Compliance requirements from enterprise clients | Schema-per-tenant migration (ADR-001 acknowledges this risk) | Significant engineering |
What does NOT break?
- Vercel — Serverless, auto-scales. No action needed.
- Supabase Auth — 100K MAU included. We will not hit this with 3,000 properties (landlords + staff only; tenants do not authenticate).
- SendGrid — 50K emails/mo on Essentials is plenty.
- Embedding storage — pgvector handles millions of vectors with proper indexing.
Pre-scaling investments needed
- Database indexing strategy — Need proper indexes on org_id, property_id, status columns before scaling past ~500 properties. (Designed but should be load-tested.)
- Connection pooling — Supabase’s built-in PgBouncer, but may need tuning for concurrent serverless function calls.
- Cost monitoring — No spend tracking is currently in place (noted as a gap in Costs & Usage doc). Need alerts before scaling.
- Load testing — System has not been deployed to production yet. Need baseline performance data.
BYOAK Opportunity
ADR-014 defines a three-tier white-label model (Basic / Premium / Partner) where larger customers bring their own API keys.
Which costs can be shifted?
| Cost Centre | Shiftable via BYOAK? | Available From | Impact |
|---|---|---|---|
| LLM (Claude/OpenAI) | Yes | Premium tier | Shifts the largest variable cost (~35% of total) |
| SendGrid (email) | Yes | Premium tier | Minor savings but adds customer control |
| Twilio (WhatsApp + SMS) | Yes | Partner tier | Shifts second-largest variable cost (~25% of total) |
| VAPI (voice) | Yes | Partner tier | Shifts most uncertain cost |
| Supabase (database) | No | — | Shared infrastructure, cannot split |
| Vercel (hosting) | No | — | Shared infrastructure, cannot split |
What this means for pricing
At the Premium tier (BYOAK for LLM + SendGrid), Envo’s cost-per-property drops to roughly GBP 0.25-0.55 because the LLM spend — our biggest variable cost — moves to the customer’s own Anthropic/OpenAI account.
At the Partner tier (BYOAK for everything), Envo’s cost-per-property drops to approximately GBP 0.03-0.10 — essentially just our share of hosting and database.
The BYOAK pricing implication
BYOAK customers cost Envo significantly less to serve, but they also expect a lower platform fee since they are paying their own API bills. The pricing model needs to reflect this:
- Basic tier: Envo absorbs all costs. Higher per-property fee. Simpler for small landlords.
- Premium/Partner tier: Customer pays own API bills. Lower platform fee. But Envo still captures value through the software itself.
This is a strong scaling story: as customers get larger, the most expensive costs shift to them, and Envo’s margin on infrastructure improves.
Open Questions
These need answers before we can confidently set pricing:
Must-answer for pricing
- What is the actual conversation volume per property per month? Our estimates assume ~2 conversations/property/month. HMOs with 6+ tenants could be much higher. We need real data from a pilot.
- What is the channel mix? The cost difference between WhatsApp-only and WhatsApp+Voice is significant. Voice is 5-10x more expensive per interaction than chat.
- What does “included” mean? If we do a hybrid model (base fee + usage), what is a reasonable “included” volume before overage kicks in?
- SendGrid free tier is gone. The Costs & Usage doc assumed a free tier for email. SendGrid retired it in May 2025. Minimum cost is now ~GBP 16/mo (Essentials). Minor, but needs updating.
Should-answer before scaling
- No production deployment yet. All performance assumptions are theoretical. We need to deploy and load-test before committing to scale targets.
- No cost tracking in place. We cannot currently measure actual per-conversation or per-property costs. This should be instrumented before pilot.
- Database compute upgrade threshold. At what property count does Supabase Pro base compute become insufficient? Need load testing with realistic data volumes.
- VAPI vs Retell decision. The docs reference both. Pricing and capability differ. Need a final decision on voice provider before costing.
- Multi-region. All current architecture assumes a single Supabase region. If we expand beyond the UK, we need to consider data residency and latency.
- Tenant density per property. An HMO with 8 tenants generates fundamentally different load than a single-let. Pricing per-property may need a “per-unit” modifier.
Nice-to-know
- Competitive pricing. What do Fixflo, Arthur Online, and Goodlord charge per property? This caps what we can charge regardless of our costs.
- LLM price trajectory. Claude and OpenAI prices have been falling. Our per-query cost could halve within 12 months. Should we price aggressively now?
Summary Table: Cost at Scale
| 100 properties | 500 properties | 1,000 properties | 3,000 properties | |
|---|---|---|---|---|
| Total monthly platform cost (GBP) | 91-141 | 245-530 | 530-1,130 | 1,290-2,970 |
| Per-property (GBP/mo) | 0.91-1.41 | 0.49-1.06 | 0.53-1.13 | 0.43-0.99 |
| Per-property with BYOAK Premium (GBP/mo) | — | — | 0.30-0.55 | 0.25-0.55 |
| Per-property with BYOAK Partner (GBP/mo) | — | — | 0.05-0.15 | 0.03-0.10 |
| Biggest cost driver | Hosting (fixed) | LLM + Twilio | LLM + Twilio | LLM + Twilio |
Bottom line: The infrastructure costs are low. Even at the high end, GBP 1/property/month gives us excellent margin room if the per-property price is GBP 5-15+. The real question is not “can we afford to scale?” but “what conversation volume should we include in the base price?”
Prepared for Session 1: Product Capability & Packaging. All estimates based on published provider pricing as of February 2026 and assumptions documented inline. No production usage data is available yet.