** Note this application is still in development. Please pin or note bugs.
GenoFlow (formerly Genome Studio) is a visual, node-based development environment for designing, training, and tuning GENREG (Genetic Regulatory) AI models.
Inspired by biological gene regulatory networks, GenoFlow lets users visually construct complex, self-adapting AI architectures that combine a functional neural network layer with a stateful, trust-modulating protein network.
Build and visualize your entire AI model using an intuitive, ComfyUI-like graph editor powered by LiteGraph.js.
Protein Network (Regulatory Layer)
Stateless, self-adapting proteins (e.g., Sensor, Trend, Comparator, TrustModifier) process environmental signals to generate a Trust Delta (fitness signal).
Controller Network (Functional Layer) A simple feed-forward neural network that selects actions based on processed signals.
Genome fitness is determined by accumulated Trust, promoting robust and adaptive behaviors through evolutionary pressure.
Train and observe AI behavior in a simulated Snake Environment, with real-time visualization via a separate Pygame window.
A Python FastAPI / WebSocket backend handles all heavy processing (evolution, environment steps), while the JavaScript frontend provides the interactive IDE.
GenoFlow requires Python and several libraries, including fastapi and uvicorn for the server, and optionally pygame for environment visualization.
# Recommended: Create and activate a virtual environment
python -m venv venv
source venv/bin/activateInstall the required Python packages:
pip install -r requirements.txt
# To enable environment visualization
pip install pygameNote
requirements.txtincludes core dependencies such asfastapi,uvicorn, andwebsockets.
Start the backend server using uvicorn as defined in start_server.py:
python start_server.pyThe server typically starts at:
http://0.0.0.0:8000
Open your browser and navigate to:
http://localhost:8000
Load the provided snake_training_template.json to begin exploring the training flow.
GenoFlow is divided into distinct layers reflecting its biological inspiration and client–server design.
| Component | Technology | Role | Core Files |
|---|---|---|---|
| Frontend IDE | LiteGraph.js, Vanilla JS | Visual graph editor, monitoring, real-time control | static/js/*.js, static/index.html |
| Backend Server | Python (FastAPI, WebSocket) | AI processing, evolution, simulation | start_server.py |
| Controller Layer | Python (Controller class) |
Feed-forward NN for action selection | genreg_controller.py |
| Regulatory Layer | Python (Protein classes) | Generates Trust Delta fitness signals | genreg_proteins.py |
| Evolution Core | Python (Genome, Population) | Evolutionary process and selection | genreg_genome.py, genreg_population.py |
The training process is orchestrated by the node graph in a continuous loop:
- Environment Step (
SnakeEnvironment) outputs signals. - Protein Network processes signals and calculates Trust Delta.
- Controller Network selects an Action.
- Action is fed back into the environment.
- Episode ends and total Trust determines Genome fitness.
- Generation Manager triggers population evolution.
The IDE provides modular nodes to construct and monitor AI behavior.
| Category | Example Nodes | Purpose |
|---|---|---|
| Regulatory | Sensor, Trend, Trust Modifier | Process signals and influence Genome Trust |
| Functional | Controller Network | Select actions from processed signals |
| Environment | Snake Environment, Visualize (Pygame) | Simulate and visualize behavior |
| Evolution | Population Controller, Episode Runner | Manage training and mutation lifecycle |
GenoFlow is an evolving project. Contributions are welcome.
Areas of interest:
- New protein types
- Additional environments
- Visualization tools
- Extensions to evolutionary algorithms
Pull requests and design discussions are encouraged.