Project Overview
Technology Stack
The versions below are the ones the repository pins at the time of writing. The sources of truth are
gradle/libs.versions.toml and backend/build.gradle.kts for the backend, and frontend/package.json
for the Studio.
Backend
| Technology | Version | Role |
|---|---|---|
Kotlin on Java 21 |
2.4.0 |
Language and runtime. The Gradle toolchain resolves a Java 21 JDK; the container image runs on Temurin 21. |
Spring Boot, Spring Framework |
4.0.3, 7.0.x |
Application framework. The backend is a WebFlux (reactive) application; Spring Boot 4 brings
Jackson 3 ( |
Spring Security |
7.0.x |
OAuth2 resource server for Keycloak tokens, reactive method security ( |
Spring Data MongoDB (reactive), Spring Data Elasticsearch |
Boot-managed |
Persistence. MongoDB is the system of record; Elasticsearch is read for knowledge vectors and conversation data. |
Spring AI |
2.0.0 |
The AI Assistant’s chat model (an |
MCP Java SDK |
2.0.0 |
The hosted MCP server (stateless WebFlux transport) and the MCP client used to load tools from
customers' MCP servers. JSON is handled by |
openai-java |
4.39.1 |
HTTP client underneath the Spring AI chat model; also used directly for embeddings, transcription and the Responses API web search. |
netty-socketio |
2.0.13 |
The Socket.IO server of the AI Assistant (port |
springdoc-openapi |
3.0.1 |
OpenAPI description and Swagger UI of the REST API. |
Stripe Java |
31.0.0 |
Customers, subscriptions, checkout and portal sessions, invoices and usage meter events. |
Apache POI, kotlin-csv |
5.3.0, 1.9.1 |
Excel and CSV exports of the analytics and of test-suite results. |
Apache Tika, Jsoup, flexmark, skrapeit |
3.1.0, 1.21.2, 0.64.8, 1.2.2 |
Document parsing fallback, HTML handling and web scraping for knowledge ingestion. |
Azure Identity, Azure Key Vault Secrets |
1.16.2, 4.10.0 |
The Azure implementation of the vault service. |
|
2026.42.0 |
The engine’s shared libraries: domain model, repositories, ACL and user services, MCP connector
catalog, storage, mail. Published to |
JUnit 5, Spring Boot Test, Mockito, Reactor Test |
Boot-managed |
Unit and slice tests. |
KtLint |
1.7.1 |
Formatting checks (see Kotlin Formatting). |
Studio Frontend
| Technology | Version | Role |
|---|---|---|
Next.js (App Router) |
16.x |
Server and client rendering, route handlers and the OAuth endpoints. The scripts run Next.js with
webpack ( |
React |
19 |
UI. |
TypeScript |
5 |
Strict mode, |
NextAuth (Auth.js) |
5 (beta) |
Keycloak sign-in, the encrypted session cookie and access-token refresh. |
TanStack Query, TanStack Table, TanStack Virtual |
5, 8, 3 |
Server state with server-side prefetch and hydration, data tables, virtualized lists. |
React Hook Form, TanStack Form, Zod |
7, 1, 3 |
Forms and the validation schemas of request and response payloads. |
Base UI, Tailwind CSS |
1, 4 |
Unstyled accessible primitives and the styling of the component library in |
socket.io-client |
4.8 |
The AI Assistant connection. |
jose |
6 |
Signing and verifying the MCP OAuth tokens. |
Slate |
0.124 |
The rich-text and |
Recharts, d3 |
2, 7 |
Analytics charts. |
three.js, GSAP |
0.181, 3 |
The animated orb and UI animations. |
The container image runs on Node.js 20; frontend/mise.toml pins Node.js 24 for local work.
Infrastructure
| Technology | Role |
|---|---|
MongoDB 7 |
Database shared with the engine; GridFS for export files. |
Elasticsearch 8 |
Knowledge vector index; the engine’s turn and LLM-log indexes. |
Keycloak |
Identity provider of Studio users (realm |
Kubernetes, Helm, NGINX Ingress, cert-manager |
Runtime. One cluster per region; Let’s Encrypt certificates per host. |
Azure Key Vault with the Secrets Store CSI driver |
Delivers the backend’s secret configuration file and the registry pull secret. |
GitLab CI with Kaniko |
Builds, container images, deployments and releases (see Platform Deployment). |
OpenTelemetry Java agent 1.31 |
Bundled into the backend image ( |
External Services
| Service | Used for |
|---|---|
Azure OpenAI |
The AI Assistant’s model and the nested calls its tools make (agent generation, quality reviews, knowledge descriptions), and the assistant’s web search through the Responses API. |
OpenAI |
Knowledge embeddings ( |
Azure AI Document Intelligence |
Layout analysis of uploaded knowledge documents ( |
Stripe |
Billing: customers, subscriptions, checkout, customer portal, invoices and metered usage. |
Mailgun |
Invitation emails, sent from stored Mailgun templates. |
Promethist asset repository |
|
LiveAvatar |
Preview images of live avatars, fetched with the account’s or project’s LiveAvatar API key. |
Zendesk |
Tickets created by the Studio’s contact form. |