๐ฌ Making scientific discovery and advanced research accessible to everyone, everywhere, for free. ๐
- ๐ก Project Overview & Live View
- ๐ฅ Interactive Video Demo
- โจ Key Features Breakdown
- ๐ง ARIA & The Multi-Agent Mesh
- ๐๏ธ System Architecture & Workflow
- ๐ป Language & Technology Breakdown
- ๐ Detailed Project Structure
- ๐ Quick Start (Docker & Local)
- ๐บ๏ธ Project Roadmap
- ๐ก๏ธ Security & Compliance
- ๐งช Automated Test Suite
- ๐ Founder & Developer
- ๐ License & Citation
Below is a visualization of the interactive EUREKA Cyber-Lab Dashboard in action. Built for modern browsers, the dashboard features a glassmorphic dashboard, real-time particle tracking graphs, active voice/gesture status trackers, and a fully interactive 3D rendering canvas.
eureka_demo.1.mp4
EUREKA is an open-source, AI-powered virtual simulation space that bridges physical properties with interactive 3D structures. By feeding Wikipedia structural summaries into the Google Gemini 1.5 Flash API, EUREKA creates realistic, interactive component-level models of mechanical systems, tools, and molecular shapes.
Users can manipulate models using voice controls and hand gestures via their webcam, run real-time physics collisions, compute chemical properties, and download auto-generated research papers.
- Wikipedia API Context Ingestion: Pre-fetches dimensions, materials, and colors from Wikipedia REST APIs before passing requests to Gemini to guarantee that generated models correspond to physical reality.
- Gemini 3D Assembly: Dynamically structures complex system graphs (e.g., piston rods positioned inside cylinders) with customized scales and risk indexes.
- Three.js Custom Wrapper: Features an advanced wrapper using
@react-three/drei'suseGLTFto dynamically render custom external models alongside procedural geometric components.
- MediaPipe Hand Tracking: Real-time canvas manipulation using webcam frames:
- Pinch Fingers: Zoom In / Zoom Out.
- Clench Fist: Reset Camera and Positions.
- Point Index: Highlight & Inspect Component.
- Horizontal Swipe: Switch active tab panel.
- Web Speech API Integration: Local speech recognition for direct vocal commands (e.g., "ARIA, analyze the engine block") with high-quality synthesized speech replies.
- 3D Verlet Physics: Real-time calculation of particle momentum, kinetic energy tracking, Van der Waals force, and electrostatic Coulomb fields.
- RDKit Molecular Engine: Determines molecular weights, logP partition coefficients, hydrogen bond donors/acceptors, and automatically predicts chemical reaction routes.
EUREKA coordinates five specialized sub-agents working under ARIA to provide comprehensive analysis:
graph TD;
User((User Input)) --> Frontend;
Frontend --> Nginx[Reverse Proxy];
Nginx --> ARIA{ARIA Helper\nCoordinator};
ARIA --> Explainer[๐ฌ Explainer\nDeconstructs mechanics];
ARIA --> Analyzer[๐ Analyzer\nComputes properties];
ARIA --> Thinker[๐ฎ Thinker\nSimulates What-Ifs];
ARIA --> Researcher[๐ Researcher\nFinds ArXiv/PubMed docs];
Explainer --> Output((Grounded\nOutput));
Analyzer --> Output;
Thinker --> Output;
Researcher --> Output;
| Agent | Core Objective | Key Output Payload |
|---|---|---|
| ๐ง ARIA (Helper) | Command router & user interface coordinator | Orchestrates task delegation and compiles final conversational output. |
| ๐ฌ Explainer | Deconstructs highly complex engineering & scientific mechanics | Easy-to-read explanations, definitions, and analogies. |
| ๐ Analyzer | Computes mathematical properties and handles telemetry | Volumes, mass, materials, structural risks, and coordinate transformations. |
| ๐ฎ Thinker | Simulates hypothetical adjustments (What-if logic) | Failure predictions, structural vulnerabilities, and risk analysis. |
| ๐ Researcher | Searches academic paper repositories for grounding data | Extracts and cites DOI references from ArXiv and PubMed. |
Below is the execution flow from the moment a user submits a search query to the rendering of the interactive 3D cyber-lab:
sequenceDiagram
autonumber
actor User as Researcher / Student
participant FE as EUREKA Frontend (React + R3F)
participant BE as EUREKA Backend (FastAPI)
participant Wiki as Wikipedia API
participant Gemini as Gemini 1.5 Flash
User->>FE: Enter Search Query (e.g., "Telescope")
FE->>BE: GET /api/objects/generate?q=Telescope
Note over BE: Query intercept & WebResearchService check
BE->>Wiki: Fetch structural metadata and articles
Wiki-->>BE: Return page summaries, image links, & details
BE->>Gemini: Request 3D Component Hierarchy JSON (grounded with Wiki context)
Note over Gemini: Evaluate positions, scales,<br/>colors, and materials
Gemini-->>BE: Return valid ExplorableObject JSON
BE-->>FE: Send payload (ExplorableObject)
Note over FE: R3F Canvas / GltfModelWrapper parse
FE->>FE: Render 3D Model on WebGL viewport
User->>FE: Use Hand Gestures (MediaPipe) / Speak (Web Speech)
FE->>User: Perform action (Zoom/Analyze) & ARIA replies verbally
EUREKA leverages a multi-tier programming model. The following breakdown maps the repository's codebase statistics (detected by GitHub) directly to their operational roles and under-the-hood machine acceleration technologies:
| Language | Repository % | Role & Component Area | Under-the-Hood Technologies |
|---|---|---|---|
| ๐ Python | 73.2% | FastAPI Server, AI Multi-Agent Core, Verlet 3D Physics Simulator | C++ (RDKit chemistry bindings), Cython (uvloop high-concurrency event loops) |
| ๐ท TypeScript | 20.6% | Cyber-lab Dashboard (React 19), Automation Scraper (BullMQ, Node.js) | WebAssembly (Wasm) (MediaPipe deep learning), GLSL (GPU shaders via R3F/Three.js) |
| ๐จ CSS | 4.7% | Dashboard glassmorphism, responsive grids, and cyber-lab visual effects | Flexbox, CSS variables, hardware-accelerated filters |
| ๐ Shell | 1.0% | Setup Automation, deployment scripts, and local model loaders | Bash (Linux) & PowerShell (Windows) scripting |
| ๐ณ Dockerfile | 0.3% | Container build scripts for database, Redis, frontend, and backend | Multi-stage secure build, unprivileged user execution boundaries |
| ๐ JavaScript | 0.1% | Web Speech API wrappers, config loaders, and bundling hooks | Browser Web Speech Recognition & Web Audio APIs |
| ๐งก HTML | 0.1% | Main single-page web template & meta search engine optimization tags | Semantic HTML5 structure |
While the primary code repository consists of Python and TypeScript, EUREKA's runtime environment is accelerated by high-performance compiled engines operating at a native level:
-
C++ (Machine-Level Simulation & Graph Solving):
- RDKit Engine: Performs complex molecular structural analysis, property calculations, and chemical reaction pathway estimations natively in C++ for maximum throughput.
- MediaPipe Backend: Hand gesture detection algorithms and coordinate extraction are compiled as highly-optimized C++ libraries.
-
WebAssembly / Wasm (In-Browser Neural Execution):
- MediaPipe's deep learning hand tracking models are executed directly within the browser using WebAssembly compiled binaries, allowing for 60FPS gesture interactions without sending video frames to any remote server.
-
GLSL - OpenGL Shading Language (Direct GPU Graphics):
- The interactive 3D virtual viewport communicates directly with the GPU. Realistic rendering, shadows, metallic materials, and glowing particle collisions are compiled into native WebGL fragment and vertex shaders.
-
Cython & libuv (High-Concurrency Server Loop):
- The FastAPI backend utilizes
uvloop(a Cython-compiled execution loop built on Node'slibuvsystem), giving the Python backend network performance metrics comparable to Go (Golang) and native Node.js.
- The FastAPI backend utilizes
EUREKA/
โโโ eureka-backend/ # FastAPI Backend Service (Python 3.11+)
โ โโโ app/
โ โ โโโ agents/ # AI agent files (helper.py, explainer.py, thinker.py, etc.)
โ โ โโโ api/ # API controllers (objects.py, ws.py, auth.py)
โ โ โโโ services/ # Core calculations (gemini_3d_service.py, physics_engine.py, rdkit)
โ โ โโโ data/ # Procedural templates & demo objects (e.g., car_engine.json)
โ โโโ tests/ # Backend unit & integration test files
โ โโโ main.py # Core entry point
โ
โโโ eureka-frontend/ # React Client Application (React 19 + TypeScript + Vite)
โ โโโ src/
โ โ โโโ components/ # Canvas3D.tsx, GltfWrapper.tsx, CameraFeed.tsx, ARIAAssistant.tsx
โ โ โโโ pages/ # CyberDashboard.tsx, Settings.tsx
โ โ โโโ App.tsx # Main router, state machine, and MediaPipe mapping loop
โ โโโ package.json
โ
โโโ eureka-automation/ # TypeScript scrapers & background queues
โ โโโ src/
โ โ โโโ scrapers/ # Academic crawling engines (ArXiv, PubMed)
โ โ โโโ queue/ # BullMQ message queue setup
โ โโโ package.json
โ
โโโ kubernetes/ # Production orchestration manifests
โโโ helm/ # Configurable Helm charts for cloud rollouts
โโโ monitoring/ # Prometheus dashboards and Grafana metrics config
โโโ docker-compose.yml # Container configuration for all servicesCreate a .env file in the root directory before launching:
| Parameter | Default Value | Description |
|---|---|---|
GEMINI_API_KEY |
Required | API Key from Google AI Studio. |
DATABASE_URL |
postgresql://user:pass@db:5432/eureka |
PostgreSQL connection string. |
REDIS_URL |
redis://redis:6379/0 |
Redis cache and queue address. |
OLLAMA_HOST |
http://ollama:11434 |
Endpoint for local model fallbacks. |
# Clone the repository
git clone https://github.com/Minato95-ayu/EUREKA.git
cd EUREKA
# Launch all services in background mode
docker-compose up --build -d
# Initialize local fallback model (Ollama)
docker-compose exec ollama ollama pull llama3- Lab Interface: http://localhost:3000
- FastAPI Documentation: http://localhost:8000/docs
Ensure Python 3.11+ and C++ headers (for RDKit) are configured locally:
cd eureka-backend
python -m venv venv
# Activate Environment
# Windows:
.\venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate
# Install libraries
pip install -r requirements.txt
# Run server
python main.pycd ../eureka-frontend
npm install
npm run devEUREKA is actively evolving. Here is the current progress towards the full JARVIS-style vision:
- Phase 1: Cyber-Lab Dashboard Shell & Procedural 3D.
- Phase 2: Voice Input & MediaPipe Hand Gesture Controls.
- Phase 3: Curated "Search-to-3D" Object Schema & Hierarchy.
- Phase 4: Real-time Interactive What-If Simulation Engine.
- Phase 5: RAG-style Context Assembly (ArXiv/PubMed citations on screen).
- Phase 6: Hybrid Cloud/Colab Architecture Optimization.
- Phase 7: Fully Autonomous Batch Experimentation Workflows.
EUREKA follows strict data safety and deployment patterns to protect server resources:
- DDOS Shield: Integrated with
slowapito limit excessive client calls on computational-heavy 3D generation endpoints. - Secure Session Sign-In: Powered by stateless JWT (HS256) keys with automatic 24-hour cookie decay.
- HTTP Strict Transport security: Nginx configurations enforce TLS 1.3 and block cross-frame scripting (XSS) via customized policy headers.
- Isolation: Docker runtimes execute frontend/backend processes under non-privileged unprivileged user definitions.
We maintain an active unit testing standard across simulation engines and AI routing networks.
# Go to backend folder
cd eureka-backend
# Execute tests with code coverage metrics
pytest -v --cov=app
|
Lead Architect & Creator of EUREKA
"EUREKA was built to democratize access to advanced scientific research interfaces. By combining spatial computing, voice controls, and LLM-driven generation, we enable students and researchers to visualize and experiment with complex structures without expensive laboratory setups." |
Distributed under the MIT License. See LICENSE for details.
If you leverage EUREKA in an academic context, please cite the project:
@software{eureka2026,
title={EUREKA: Universal AI-Powered Virtual Research Lab},
author={Kaushik, Ayush},
year={2026},
url={https://github.com/Minato95-ayu/EUREKA}
}
Made with โค๏ธ for scientific education and global research.
EUREKA โ Where Discovery Begins. ๐ฌ๐


