By test
System Architecture Overview
A comprehensive guide to the distributed microservices platform powering our core product.
Overview
This document describes the architecture of the platform as of Q1 2026. The system is composed of seven core services running across three availability zones, backed by a polyglot persistence layer.
Key properties:
- Stateless services — all state lives in databases or distributed caches
- Event-driven — services communicate via Kafka topics for async operations
- Zero-trust networking — all inter-service calls are mTLS authenticated
- Observability-first — every service emits structured logs, metrics (Prometheus), and traces (OpenTelemetry)
High-Level Architecture
graph TB
subgraph Client["Client Layer"]
WEB[Web App<br/>React + Vite]
MOB[Mobile App<br/>React Native]
CLI[CLI Tool<br/>Node.js]
end
subgraph Edge["Edge Layer"]
CDN[CDN / WAF<br/>Cloudflare]
GW[API Gateway<br/>Kong]
end
subgraph Services["Core Services"]
AUTH[Auth Service<br/>Node.js]
USER[User Service<br/>Go]
DOC[Document Service<br/>Node.js]
NOTIF[Notification Service<br/>Python]
SEARCH[Search Service<br/>Rust]
EXPORT[Export Service<br/>Python]
AUDIT[Audit Service<br/>Go]
end
subgraph Infra["Infrastructure"]
KAFKA[Kafka<br/>Message Bus]
REDIS[Redis Cluster<br/>Session Cache]
PG[(PostgreSQL<br/>Primary DB)]
S3[Object Storage<br/>S3-compatible]
ES[Elasticsearch<br/>Full-text Index]
end
WEB & MOB & CLI --> CDN --> GW
GW --> AUTH
GW --> USER
GW --> DOC
GW --> SEARCH
AUTH --> REDIS
AUTH --> PG
USER --> PG
DOC --> PG
DOC --> S3
DOC --> KAFKA
KAFKA --> NOTIF
KAFKA --> AUDIT
KAFKA --> EXPORT
SEARCH --> ES
EXPORT --> S3Service Breakdown
| Service | Language | Instances | Avg Latency | Owner |
|---|---|---|---|---|
| Auth | Node.js | 3 | 8ms | Platform |
| User | Go | 2 | 5ms | Platform |
| Document | Node.js | 4 | 12ms | Docs Team |
| Notification | Python | 2 | async | Comms |
| Search | Rust | 3 | 4ms | Data |
| Export | Python | 2 | async | Data |
| Audit | Go | 2 | async | Security |
Last updated: February 2026 — Maintained by the Platform Team