Glossary -- Key Terms & Concepts¶
A quick-reference glossary for the Blinkin codebase. Use this to look up unfamiliar terms you encounter in the code, documentation, or team discussions.
Platform Concepts¶
| Term | Definition |
|---|---|
| Flow / Blink | The core content unit of the platform -- an interactive, multi-step experience created in the Picasso Editor and consumed (viewed/interacted with) in Houston. Flows are stored as JSON containing nodes, connections, and component data. |
| Concept | In Zweistein -- a knowledge base unit that holds uploaded documents, their vector embeddings, and can be queried by agents or bots for RAG (retrieval-augmented generation). |
| Agent | An AI agent in Zweistein that can perform tasks using configurable tools (web search, email, file lookup, etc.). Agents are orchestrated by the query engine. |
| Bot | A configured chatbot in Zweistein -- a simpler variant of an agent that answers questions using a specific concept (knowledge base) and LLM settings. |
| Agentic App | A user-defined workflow in Zweistein that combines multiple agents, tools, and logic steps into a single automated process. |
| Node | A single step or screen within a flow. Each node is stored as a JSON object inside the Flow entity and contains components, layout, and navigation rules. |
| Component | A UI element placed within a node -- for example: text block, image, video, form field, button, or embed. Components are the building blocks of each flow screen. |
| Connection | A directional link between two nodes that defines the navigation path through a flow. Connections can be conditional (based on user answers) or unconditional. |
| Form | A data collection element within a flow -- a group of input fields (text, dropdown, checkbox, etc.) that captures user responses during a Houston session. |
| Tenant | An organization or workspace in the platform. Each tenant has its own users, flows, concepts, agents, and billing. Multi-tenancy is enforced at the API level. |
| Cockpit Conversation | An AI-powered chat session embedded within a Houston flow -- allows end users to ask questions to an AI agent while viewing a flow. |
Technical Terms¶
| Term | Definition |
|---|---|
| TurboRepo | A monorepo build tool (by Vercel) used by the picasso-fe repository to manage multiple apps (houston, picasso-editor, widget) and shared packages in a single codebase with smart caching and parallel builds. |
| ReactFlow | A React library for building interactive node-based editors. Used in the Picasso Editor to render the visual flow canvas where users drag, drop, and connect nodes. |
| Lexical | A rich text editor framework by Meta. Used in the Picasso Editor for in-node text editing with support for formatting, mentions, variables, and custom plugins. |
| Yjs | A CRDT (Conflict-free Replicated Data Type) library for real-time collaborative editing. Used in the Picasso Editor so multiple users can edit the same flow simultaneously without conflicts. |
| Qdrant | An open-source vector database used by Zweistein to store and search document embeddings. Runs in-cluster at qdrant.qdrant.svc.cluster.local:6333. |
| Redis Streams | A Redis data structure used as a message queue. Zweistein uses streams (stream:zweistein) for async job processing -- the NestJS server publishes tasks and Python workers consume them. |
| Bull Queue | A Node.js job queue library backed by Redis. Used by studio-api for background tasks like file processing, email sending, and scheduled jobs. |
| TypeORM | A TypeScript/JavaScript ORM (Object-Relational Mapper) used by both NestJS backends (studio-api and Zweistein server) to interact with PostgreSQL databases using decorators and entity classes. |
| Zustand | A lightweight state management library for React. Used in the Picasso Editor and Houston for managing UI state without the boilerplate of Redux. |
| Auth0 | An authentication-as-a-service provider used for user login, SSO, and token management. The platform uses Auth0 for both the Picasso Editor and Zweistein Admin. |
| Mermaid | A diagram-as-code tool that generates charts and diagrams from text-based syntax. Used throughout this documentation for architecture diagrams, sequence diagrams, and flow charts. |
| Helm | The Kubernetes package manager. Blinkin uses Helm charts to template and deploy all services -- each chart contains templates for Deployments, Services, Ingress, ConfigMaps, and Secrets. |
| GitOps | An infrastructure management pattern where the desired state of all deployments is stored in a Git repository (blinkin-gitops). Changes to infrastructure are made via git commits, and a controller (ArgoCD/Flux) automatically syncs the cluster to match. |
| NestJS | A progressive Node.js framework for building server-side applications. Used by both studio-api (Picasso backend) and Zweistein server (AI backend). Provides dependency injection, modules, guards, and decorators. |
| FastAPI | A modern Python web framework. Used by the Zweistein queryengine and ingestionworker services for high-performance async API endpoints. |
| ExternalSecrets Operator | A Kubernetes operator that syncs secrets from external providers (like GCP Secret Manager) into Kubernetes Secret objects. Used across all environments to avoid storing sensitive values in git. |
| cert-manager | A Kubernetes add-on that automates TLS certificate management. Issues and renews Let's Encrypt certificates for all *.blinkin.io domains. |
Repository Names¶
| Repo | Full Name | Description |
|---|---|---|
| picasso-fe | picasso-fe |
Frontend monorepo built with TurboRepo. Contains three apps: Houston (flow viewer, Next.js), Picasso Editor (flow builder, React + ReactFlow), and Widget (embeddable flow player). Also contains shared packages for UI components, API clients, and utilities. |
| studio-api | studio-api |
Main backend API built with NestJS + TypeORM + PostgreSQL. Handles flows, tenants, users, media uploads, form submissions, analytics, and integrations. Serves the Picasso Editor and Houston frontends. |
| zweistein | zweistein |
AI/ML platform monorepo. Contains four deployable services: Admin (React SPA), Server (NestJS backend), Query Engine (Python FastAPI for LLM), and Ingestion Worker (Python for document processing). |
| blinkin-gitops | blinkin-gitops |
Kubernetes deployment configuration repository. Contains Helm charts and environment-specific values files for all services across DEV, UAT, and PROD environments on both GCP and AWS. |
Service Names (Kubernetes)¶
These are the Kubernetes Service names used for in-cluster communication and Ingress routing.
| K8s Service Name | Source Repo | Runtime | Container Port | Description |
|---|---|---|---|---|
| houston | picasso-fe | Next.js (Node.js) | 3000 | Houston frontend -- serves the flow viewer/player that end users interact with. Exposed at / on the main domain. |
| studio-fe | picasso-fe | NGINX (static) | 80 | Picasso Editor frontend -- serves the flow builder SPA. Exposed at /studio on the main domain. |
| studio-api | studio-api | NestJS (Node.js) | 3000 | Backend API for the content platform. Exposed on its own subdomain (studio-api-*.blinkin.io). |
| studio-superadmin | studio-api | Next.js (Node.js) | 3000 | Internal admin panel for managing tenants and platform settings. Exposed at /admin. AWS-only. |
| admin-service | zweistein | NGINX (static) | 80 | Zweistein Admin panel -- serves the AI platform SPA. Exposed at /ai on the main domain. |
| server-service | zweistein | NestJS (Node.js) | 3000 | Zweistein backend API -- handles concepts, agents, bots, conversations, and job orchestration. Exposed at /ai/api. Also handles WebSocket connections at /socket.io. |
| queryengine-service | zweistein | FastAPI (Python) | 8000 | Python LLM service -- executes queries, runs agents, handles RAG, and calls external LLM APIs. Internal only (not exposed via Ingress). |
| ingestionworker | zweistein | Python | N/A | Document processing workers (StatefulSet, 3 replicas). Consumes jobs from Redis Streams. No HTTP service -- communicates only via Redis. |
Environment URLs¶
| Pattern | Example | Environment |
|---|---|---|
*-dev.blinkin.io |
app-dev.blinkin.io, studio-api-dev.blinkin.io |
DEV -- development environment, auto-deployed on push to dev branch |
*-uat.blinkin.io |
app-uat.blinkin.io |
UAT -- user acceptance testing, manually deployed |
*.blinkin.io (no -dev or -uat) |
app.blinkin.io, studio-api.blinkin.io |
PROD -- production environment |
{tenant}.blinkin.io |
bosch.blinkin.io, telekom.blinkin.io |
PROD tenant subdomains -- custom domains for specific customers, all routed to the same PROD cluster |
Full URL Map¶
| URL | What It Serves |
|---|---|
app-dev.blinkin.io |
Houston (flow viewer) -- DEV |
app-dev.blinkin.io/studio |
Picasso Editor (flow builder) -- DEV |
app-dev.blinkin.io/ai |
Zweistein Admin -- DEV |
app-dev.blinkin.io/ai/api |
Zweistein API -- DEV |
app-dev.blinkin.io/admin |
Superadmin panel -- DEV |
studio-api-dev.blinkin.io |
Studio API -- DEV |
app.blinkin.io |
Houston -- PROD |
app.blinkin.io/studio |
Picasso Editor -- PROD |
app.blinkin.io/ai |
Zweistein Admin -- PROD |
app.blinkin.io/ai/api |
Zweistein API -- PROD |
studio-api.blinkin.io |
Studio API -- PROD |
Abbreviations¶
| Abbreviation | Full Form |
|---|---|
| GCS | Google Cloud Storage |
| GKE | Google Kubernetes Engine |
| EKS | Elastic Kubernetes Service (AWS) |
| ECR | Elastic Container Registry (AWS) |
| RDS | Relational Database Service (AWS) |
| SSO | Single Sign-On |
| TLS | Transport Layer Security |
| SPA | Single Page Application |
| SSR | Server-Side Rendering |
| ORM | Object-Relational Mapper |
| RAG | Retrieval-Augmented Generation |
| CRDT | Conflict-free Replicated Data Type |
| LLM | Large Language Model |
| STT | Speech-to-Text |
| CSP | Content Security Policy |
| K8s | Kubernetes |
| CI/CD | Continuous Integration / Continuous Deployment |