Přeskočit obsah

Externí API + služby

Aplikace závisí na 5 externích placených službách. Tato kapitola popisuje pricing, limity, T&Cs commercial use a fallback strategies.

Souhrn závislostí

Služba Účel Měsíční cena (odhad) Vendor lock-in
Supabase Postgres + Auth + Storage + Realtime $0 (Free) → $25/mo (Pro) Střední (data export OK, rewrite Auth flow + Storage RLS pattern)
Sliplane Backend + worker + Redis Docker hosting ~$15-30/mo Nízký (replace Sliplane → Render/Fly.io = 1-2 dny práce)
Cloudflare Workers Frontend SSR $0 (Free 100K req/den) → $5/mo Nízký (Next.js → Vercel = 1 den)
Mistral AI OCR (PDF + image) per-page ~$0.001-0.030 Vysoký (alternativa Google Document AI / AWS Textract)
Google Gemini LLM + Embedding 2 per-token cca $0.0001-0.001/1K Vysoký (alternativa OpenAI / Anthropic)
Cohere Rerank Cross-encoder rerank $0.0025/search Nízký (volitelné — graceful fallback na hybrid only)
Resend SMTP pro magic link emaily $0 (Free 3K/mo) → $20/mo Nízký (alternativy: SendGrid, Postmark, AWS SES)

Total měsíční náklady při 100 reportech / měsíc, ~5K queries: ~$30-60 USD.

Supabase

Plán + ceny

  • Free: $0/mo, 500 MB DB, 1 GB storage, 50K MAU, no PITR
  • Pro: $25/mo, 8 GB DB, 100 GB storage, 100K MAU, PITR 7 days
  • Team: $599/mo + organizational features
  • Enterprise: custom

Aktuální stav: Free plán (cubdrgjdkatyecrgckwp). Pro production pilot doporučeno Pro ($25/mo) — PITR backup je esencial.

T&C commercial

  • ✅ Komerční SaaS use OK
  • ✅ Tenant data je naše (žádný vendor data ownership claim)
  • ✅ SOC2 Type II + GDPR compliance
  • ⚠️ Free plán: project se "pause" po 1 týdnu inaktivity (auto-resume na request)

Limity Free plánu

  • Auth: 50K MAU
  • DB connections: 60 (default Postgres pool)
  • Realtime: 200 concurrent connections
  • Edge Functions: 500K invocations/měsíc (NEPOUŽÍVÁME zatím)
  • Storage egress: 5 GB/měsíc

Aktuálně daleko pod limitem. Pro 100 testerů × 10 reportů = ~10K storage hits/měsíc OK.

Vendor lock-in mitigation

  • DB schema — Postgres standard, dump+restore na jiný hosting je 1 den
  • Auth — JWT custom claims pattern přenositelný (např. Auth0, Clerk)
  • Storage — Supabase managed S3-compatible API. Pro migration: stáhnout všechny files (signed URLs) → upload na vlastní S3/R2 + update storage_path v DB
  • Realtime — replace s WebSocket server (např. Soketi self-host)

Migration cost: ~1-2 týdny full rewrite ze Supabase → self-hosted Postgres + custom Auth.

Site

Sliplane

Plán + ceny

Sliplane je menší DigitalOcean-like cloud pro Docker. CZ-based (Prague).

  • Free trial: 1 GB RAM × 1 server
  • Pricing: per-resource (CPU + RAM + storage), typicky $5-15/mo per service

Aktuální stav: 3 services (backend + worker + redis) na sdíleném serveru. Náklady neznám přesně — odhad $15-30/mo.

T&C commercial

  • ✅ Komerční SaaS use OK
  • ⚠️ Smaller player (vs AWS / Hetzner) — outage risk vyšší
  • ⚠️ Žádný auto-scale (manual rescale)

Vendor lock-in

Velmi nízký: - Docker images jsou portable - ENV vars + volumes — exportovatelné - Replace candidates: Render, Fly.io, Railway, Hetzner Cloud (CZ proximity), AWS ECS

Migration cost: 1-2 dny (Docker compose + ENV setup).

Site

Cloudflare Workers

Plán + ceny

  • Free: 100K req/den, 10 ms CPU/req, žádný KV/D1 v free
  • Workers Paid: $5/mo, 10M req/měsíc, 50 ms CPU/req

Aktuální stav: Free plán. CF R2 (storage) je separate billing — Free 10 GB/měsíc.

T&C commercial

  • ✅ Komerční SaaS OK
  • ✅ Cloudflare je tier-1 cloud provider
  • ✅ Globální CDN included

Limity

  • CPU per request: 10 ms (Free) / 50 ms (Paid)
  • Memory: 128 MB
  • Bundle size: 10 MB compressed

Aktuální FE bundle 1.3 MB gzip → daleko pod limitem.

Vendor lock-in

Nízký pro frontend — Next.js + @opennextjs/cloudflare je portable na Vercel (1 den práce).

CF R2 storage (S3-compatible) je k dispozici pokud bychom chtěli přejít ze Supabase Storage. NemoReport ji aktuálně NEPOUŽÍVÁ — file storage je Supabase managed.

Site

Mistral AI

Plán + ceny (OCR specifický)

  • Pay-as-you-go: $0.001-0.030 per page (closer to $0.001 pro normal PDFs, $0.030 pro complex with bbox+document annotations)
  • Free trial: $5 credit pro nové accounts

Naše use case: ~3 halíře / page × 5 stran avg = ~15 halířů per PDF report.

T&C commercial

  • ✅ Komerční SaaS use OK (Mistral Terms of Service)
  • ✅ EU-based vendor (Paris) — GDPR-friendly
  • ⚠️ Žádné on-prem nebo air-gap option (zatím)
  • ⚠️ Vendor lock-in pro OCR — alternativy:
  • Google Document AI ($1.50 / 1000 pages)
  • AWS Textract ($1.50 / 1000 pages)
  • Azure Document Intelligence (~$1 / 1000 pages)

Limity

  • HTTP timeout: SDK default ~60s, our config 15 min pro velké PDFs
  • File size: max ~50 MB (per Mistral docs)
  • Throughput: per-tier, default ~100 RPM

Site

Google Gemini

Plán + ceny

  • Free tier: limited RPM, available for testing
  • Pay-as-you-go: per-token pricing
  • Tier 1 quota: 1500 RPM

Gemini 3 Flash Preview (LLM)

  • Input: ~$0.075 / 1M tokens
  • Output: ~$0.30 / 1M tokens
  • Naše use case: ~$0.017 per chat turn (10K in + 1K out)

Gemini Embedding 2 (GA)

  • Input: ~$0.15 / 1M tokens (estimate, nepublikovaná final cena)
  • Naše use case: ~$0.0001 per embed call (text), ~$0.001 multimodal

T&C commercial

  • ✅ Komerční SaaS use OK
  • ✅ EU data residency (možnost) — viz Google Cloud regional config
  • ✅ ML free terms — žádné claims na user data v outputs
  • ⚠️ Google může používat training data z prompts pokud nejste na enterprise tier (Gemini for Workspace) — viz Privacy notice

Doporučení pro produkci: upgrade na Vertex AI tier kde data nejsou použita pro training. Aktuálně používáme google-gla provider (Gemini Developer API) — pro pilot OK, pro klienty s citlivými reporty switch na Vertex AI.

Vendor lock-in

Vysoký pro Embedding 2 (jediný native multimodal model). Alternativy:

  • OpenAI text-embedding-3-large — text only, 3072 dims, $0.13 / 1M tokens
  • Cohere embed-multilingual-v3 — text only, 1024 dims
  • VoyageAI voyage-3 — text only, $0.06 / 1M tokens

Pro multimodal: aktuálně Gemini-2 je #1. CLIP-based multimodal alternativy mají horší recall.

Site

Cohere Rerank 4.0

Plán + ceny

  • Trial: ~1000 calls/měsíc, 10 RPM
  • Pay-as-you-go: $0.0025 per search (= 1 query, top_n libovolný)
  • Production tier: žádný RPM limit

Naše use case: $0.0025 × 1000 queries/měsíc = $2.50/mo. Trivial cost.

T&C commercial

  • ✅ Komerční SaaS use OK
  • ✅ Žádné claims na user data v outputs
  • ⚠️ Trial limity blokují pilot (1000 calls/měsíc je málo)

Doporučení: switch na Production tier (no rate limit) před opening pilot pro testery.

Vendor lock-in

Nízký — rerank je optional component, graceful fallback na hybrid RRF order. Alternativy:

  • Voyage rerank-2 — multilingual, ale slabší pro CZ
  • BGE reranker self-hosted — open source, ale operational overhead
  • None (use hybrid only) — fallback vždy možný

Site

Resend

Plán + ceny

  • Free: 3000 emails/měsíc, 100/den
  • Pro: $20/mo, 50000 emails/měsíc

Aktuální stav: Free + sandbox (jen owner email). Pro produkci potřeba doménová verifikace auth.algaweb.cz nebo auth.nemoreport.cz.

T&C commercial

  • ✅ Komerční use OK
  • ✅ EU data residency
  • ✅ DKIM/DMARC verifikace included

Vendor lock-in

Nízký — SMTP standard. Replace candidates: SendGrid, Postmark, AWS SES, MailJet.

Site

Externí API — fallback summary

Service down Impact Mitigation
Supabase App nefunguje (DB + Auth) Vendor's responsibility (status page); Pro plán má SLA
Sliplane Backend nefunguje Vendor responsibility; replace zase = 1-2 dny
Cloudflare Frontend down Vendor responsibility; tier-1 reliability
Mistral AI Upload nový PDF/image neproběhne DOCX/MHTML cesty fungují, FE zobrazí "503 OCR unavailable"
Gemini Embedding stage fail D7 soft-fail: report jde do ready s embedding_status='failed', BM25 leg pokračuje funguje, Phase D fallback na full-text dump
Cohere Rerank fail Graceful fallback na hybrid RRF order (reranked=false)
Resend Magic link emaily User nedostane sign-in email — kritické (SLA-impacting)

Pro Resend recommended: fallback SMTP (Postmark / AWS SES) configured ready ke switch.

Total cost estimate

Pro pilot (~50 testerů, ~500 reportů, ~5000 queries / měsíc):

Service Měsíčně
Supabase Pro $25
Sliplane (3 services) $20
CF Workers Paid $5
Mistral OCR (~500 PDFs × $0.10 avg) $50
Gemini API (LLM + embed) $30
Cohere Rerank Production $15
Resend Pro $20
TOTAL ~$165/mo

Per report: ~$0.33 (8 Kč), per query: ~$0.03 (0.7 Kč).

Margin pro $5/měsíc subscription = $5 - $0.33 × N reports = záleží na use rate.

Pro produkci doporučeno

  1. Pre-pilot: upgrade Supabase na Pro (PITR essential)
  2. Pre-pilot: Resend domain verification (mimo sandbox)
  3. Pre-pilot: Cohere production key (mimo trial)
  4. Phase E launch: Vertex AI namísto Gemini Developer API (data privacy pro klientské reporty)
  5. Scale 1000+ users: monitorovat Sliplane CPU + RAM, případně rescale
  6. Backup strategy: Supabase PITR + týdenní DB dump do CF R2 (poor man's offsite backup)