Technology Stack
An overview of the technologies, cloud services, and tooling that power the Zynomi platform.
Architecture Philosophy
Zynomi is built on a simple, modern technology stack. While there are multiple components, each serves a specific purpose in delivering a comprehensive clinical trial platform.
| Principle | Description |
|---|---|
| Loosely Coupled | Components are independent and can be updated separately |
| Plugin-Based | Features can be added without modifying core code |
| Horizontal Scaling | New capabilities added alongside existing ones |
| Microfrontend Ready | AI Chatbot installs as standalone widget |
Our strong architecture foundation enables rapid feature development and easy scaling. The platform is designed for extensibility without compromising stability.
Cloud Infrastructure
Core Services
| Service | Provider | Purpose | Notes |
|---|---|---|---|
| Web App and Mobile Website | Vercel | Next.js hosting, edge functions, REST APIs | Serverless, auto-scaling |
| Healthcare Backend | Frappe Cloud | EHR, patient data, API backend | Managed by ERPNext, subscription-based |
| Database | Supabase | PostgreSQL, authentication, real-time | Included with Vercel integration |
| Cache Store | Upstash / Redis | Cube.dev cache, session management | Included with Vercel; in-memory for small deployments |
| Push Notifications | Firebase (Google Cloud) | Mobile push notifications | Free tier available |
| Source Control | GitHub | Code repository, CI/CD | Free tier available |
Analytics Infrastructure
| Service | Provider | Purpose | Notes |
|---|---|---|---|
| Data Ingestion | dlthub (Python) | OLTP to lakehouse pipeline | Python-based ETL |
| Data Transformation | dbt | Medallion architecture, data marts | OSS Core edition; Cloud available for scaling |
| Semantic Layer | Cube.dev | Governed metrics, REST/SQL APIs | OSS edition on Fly.io; Cloud available for enterprise |
| Data Lake | PostgreSQL (Supabase) | Default for small deployments | Can swap to Snowflake, Iceberg, Databricks |
| Container Hosting | Fly.io | Serverless containers for dbt and Cube | Pay-as-you-go |
AI and Integration Services
| Service | Provider | Purpose | Notes |
|---|---|---|---|
| API Gateway | KrakenD | Unified API endpoint, rate limiting | Self-hosted or Fly.io |
| MCP Server | Custom Built | Semantic Layer as MCP tools | Adheres to Cube.dev API/SDK standards |
| AI Agent / Chatbot | Custom Built | Agentic analytics interface | Not Cube.dev Cloud (enterprise-only) |
| LLM Provider | OpenAI (Default) | GPT-4.0 Mini for tool selection | Any commercial or OSS LLM supported |
An LLM API subscription is required for the AI chatbot. Default is GPT-4.x Mini. Better models improve tool selection accuracy. No hallucination risk as responses are grounded via MCP tool-calling.
Mobile Application
| Platform | Technology | Description |
|---|---|---|
| iOS | Native Shell | WebView wrapper loading Ionic mobile website |
| Android | Native Shell | WebView wrapper loading Ionic mobile website |
| Mobile Website | Ionic + Vue.js | Progressive web app hosted on Vercel |
Security and Compliance
All services are configured with enterprise-grade security controls.
| Capability | Description |
|---|---|
| Audit Trail | Complete activity logging across all services |
| Data at Rest | Encrypted storage for all databases and files |
| Data in Transit | TLS 1.3 for all communications |
| HIPAA | Healthcare data protection compliance |
| GDPR | Data privacy and protection compliance |
| SOC 2 | Service organization controls |
Development Environment
Hardware Requirements
| Specification | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| CPU | 4 cores | 8 cores |
| Storage | 50 GB SSD | 100 GB SSD |
Technology Stack
The platform is built with modern, widely-adopted technologies.
| Category | Technologies | Notes |
|---|---|---|
| Primary Languages | TypeScript, JavaScript | 70% of codebase |
| Backend Languages | Python, SQL | dbt, data ingestion, analytics |
| Scripting | Shell/Bash | Automation and deployment |
| Frontend Framework | React, Next.js 14 | Web application |
| Mobile Framework | React Native | Mobile application |
| Styling | Tailwind CSS, shadcn/ui | Component library |
| Containerization | Docker | Development and deployment |
Software Requirements
| Software | Version | Required | Notes |
|---|---|---|---|
| Node.js | 20.x LTS | Yes | JavaScript runtime |
| Bun | Latest | Yes | Package manager (preferred over npm) |
| Python | 3.11+ | Yes | dbt, data ingestion |
| Git | 2.x | Yes | Version control |
| Docker | 20.x+ | Yes | Container runtime |
| VS Code | Latest | Recommended | IDE with extensions |
Supported Operating Systems
| OS | Version |
|---|---|
| macOS | 12 (Monterey) or later |
| Ubuntu | 20.04 LTS or later |
| Windows | 10/11 with WSL2 |
Scaling Options
| Component | Default | Scaled Option |
|---|---|---|
| dbt | OSS Core on Fly.io | dbt Cloud |
| Cube.dev | OSS on Fly.io | Cube Cloud |
| Cache | Upstash / In-memory | Dedicated Redis |
| Database | Supabase (PostgreSQL) | Dedicated PostgreSQL |
| Data Lake | PostgreSQL | Snowflake, Iceberg, Databricks |
Microfrontend Architecture
The AI Chatbot is built as a microfrontend widget that can be installed independently.
| Feature | Description |
|---|---|
| Standalone Widget | Deploys separately from host application |
| No Code Changes | Integrates without modifying main codebase |
| Independent Updates | Can be versioned and updated separately |
| Embeddable | Works in any web application |