← Platform
Architecture

Nothing like a wrapper. Here's what Yesper actually looks like.

An orchestrated agent loop with multi-model routing, multi-tenant Cosmos DB, event-driven async pipelines via Azure Service Bus, Cosmos change-feed + SignalR for real-time, and a fleet of specialist agents exposed as tool calls.

01Clients
Web app
React SPA · SSE streaming
Tender LM
Bid production (separate UI)
MCP clients
Claude Desktop, Cursor, IDE
API consumers
Authenticated · enterprise
02Edge & API
HTTP API gateway
A modular REST surface — one endpoint group per capability, with SSE streaming for live responses.
  • Orchestration
  • Projects & files
  • Artifacts
  • Checklists & workflows
  • Memory
  • Prompt library
  • + more
Auth & authz
Auth0 SSO with scoped authorization at workspace, project, and organization level.
MCP server
Exposes Yesper tools to external LLM clients via the Model Context Protocol.
03Orchestrator
Tool-calling loop with multi-model routing
Routing
  • Skill routing
  • Source routing
  • Agent exclusions
  • Capability discovery
Loop control
  • Subtask delegation
  • Task tracking
  • Progress reminders
  • Retry & backoff
Streaming
  • Stream adapter
  • Smooth text output
  • Answer formatting
  • SSE → client
Model backends
Claude
Opus · Sonnet · Haiku
Azure OpenAI
EU deployment
Google
Gemini · Vertex AI (EU)
04Agent fleet

Project intelligence

  • project_agent — cross-file reasoning
  • project_explorer_agent
  • project_file_researcher
  • project_file_indexer — RAG
  • blueprint_analyzer
  • bill_of_quantities
  • document_type_assessor
  • image_analyzer
  • file_comparator_agent

Swedish authority data

  • allabolag_agent
  • trafikverket_agent
  • sgu_agent
  • nvv_agent
  • ama_agent
  • mapbox_agent · geo_agent
  • weather_agent

Document pipeline

  • xlsx_agent · excel_converter
  • msoffice_agent
  • file_converter
  • file_chunker
  • sharepoint_sync
  • project_file_storage — Azure Blob

Workflow & structure

  • workflow_agent
  • checklist_agent
  • composer_agent
  • template_agent
  • plan_agent
  • memory_agent

Research & execution

  • research_agent
  • web_agent — headless browsing
  • code_execution_agent
  • reference_library
  • prompt_library

Artifacts & delivery

  • artifact · artifact_editor_agent
  • web_artifact_creator_agent
  • editor_agent
  • content_generation
  • content_export — Word/Excel/PDF
  • bessy — enrichment pipeline
Embedded skills — composable capability modules the orchestrator loads on demand
ifc-to-boq dwg-to-boq comparing-tenders analyzing-pdf-drawings filling-pdf-forms presenting-maps web-presentation-builder creating-web-apps + user-created skills

File-type-aware and deferred-loaded — only the skills a task needs are pulled into context.

05Document intelligence pipeline
1 · Extract
Swedish-tuned OCR · layout · vision
2 · Classify
14 doc types · SS 32266 · BSAB codes
3 · Enrich
Blueprints · BoQ tables
4 · Chunk
Page / row-tracked segments
5 · Embed
1536-dim vectors
6 · Index
Hybrid: vector + full-text + rerank

Multi-tier OCR fallback, automatic document classification, and query expansion across synonyms, abbreviations, and formal codes (e.g. "bygglov" → AFC.181).

06Data & events

Data plane

multi-tenant · org-isolated
Cosmos DB — default
Shared multi-tenant containers. Partition keys per org.
Cosmos DB — per-org
Dedicated databases for enterprise customers. Same code, different routing.
Azure Blob
Raw files · revisions · large binaries.
Cosmos change feed + SignalR
Change feed → realtime hub → SSE to client.
Redis streams
Low-latency fan-out for real-time text streaming.
Vector index
Chunked, embedded, semantically searchable via RAG tools.
Layered memory
Workspace + project tiers, auto-refreshed on indexing. Thread summaries searchable via hybrid vector + keyword.
Project tables
Agent-writable typed tables — structured data queryable per project.

Event plane

Azure Service Bus
Orchestration runs Agent tasks & schedules Checklist & workflow runs File indexing Thread summarization Project & workspace exploration Enrichment pipelines Artifact & file lifecycle 20+ domain events

Each capability publishes and subscribes to its own domain events. Delivery, retry, and dead-lettering are handled by Azure Service Bus.

07External providers
Model providers
  • Anthropic Claude (Opus / Sonnet / Haiku)
  • Azure OpenAI (EU deployment)
  • Google Vertex AI — Gemini & image models (EU)
  • Per-agent model routing
Swedish authorities & open data
  • Allabolag
  • Trafikverket
  • SGU
  • Naturvårdsverket
  • AMA
  • PBL
  • Lantmäteriet
  • Mapbox
  • Weather API
Enterprise
  • Auth0
  • SharePoint Graph API
  • Outbound email
  • Continuous evals
08Cross-cutting
Observability
Structured logging, distributed tracing, and continuous model evaluations.
loggingtracingevals
Data residency & encryption
Customer data stays in Azure's EU region (Sweden Central); model inference runs on EU infrastructure across Azure and Google Cloud. Encrypted at rest with AES-256 and in transit with TLS 1.2+.
AES-256TLS 1.2+EU only
Resilience & durability
Long-running work survives restarts and provider outages — checkpointed execution, heartbeats with automatic failover, retries with backoff, and dead-letter handling.
checkpointsheartbeatsauto-failover
Secrets & config
Secrets held in a managed key vault and accessed via managed identity — never in environment variables or source.
managed key vaultmanaged identity
The "ChatGPT with a web page" take
One model. One textbox. No memory.

A chat wrapper makes one API call per question. Yesper runs an orchestrated loop of dozens of specialist agents, three model providers, a multi-tenant data model, an event plane with 20+ topics, and an index pipeline that keeps every project file semantically searchable — all behind the same text field. The difference isn't the UI. It's everything behind it.