Building Blocks
Chinilla uses 7 universal building blocks. They work for any domain: software, restaurants, hospitals, factories, logistics. No infrastructure jargon required.
The 7 blocks
Section titled “The 7 blocks”| Block | Icon | Description |
|---|---|---|
| Person | User | Someone involved in the system |
| Step | Cog | Something that happens (a process, task, or action) |
| Storage | Database | Where things are kept (data, inventory, files) |
| Decision | GitBranch | A fork in the road (routing, branching, rules) |
| Trigger | Zap | What kicks things off (events, signals, arrivals) |
| Tool | Wrench | Outside help or resource (APIs, services, instruments) |
| Channel | ArrowLeftRight | How things connect (queues, buses, protocols) |
These blocks map to anything. A “Step” can be a microservice, a kitchen station, or an assembly line stage. A “Person” can be a user, a nurse, or a delivery driver. The AI handles the domain-specific details when you describe your system.
Component properties
Section titled “Component properties”Every component supports:
- Name - Display label on the canvas
- Description - Hover card detail text
- Metrics - Throughput (req/s), capacity, processing time (ms)
- Requirements - Framework, language, runtime, OS, hardware, dependencies
- Cost - Monthly and setup cost estimates
- Infrastructure - Protocol (HTTP, gRPC, WebSocket, AMQP, Kafka, TCP, UDP, GraphQL, MQTT) and scaling config (min instances, max instances, scale trigger expression)
- Behavior - Programmable processing mode (see Behaviors)
- Subsystem - Drill into a component as its own nested system
Infrastructure
Section titled “Infrastructure”The Infrastructure section lets you define how a component communicates and scales.
Protocol sets the primary communication protocol for the component. This affects AI code generation (appropriate client libraries) and the deterministic Python export (protocol-aware imports).
| Protocol | Typical use |
|---|---|
| HTTP | REST APIs, web services |
| gRPC | Internal microservice RPC |
| WebSocket | Real-time bidirectional streams |
| AMQP | Message broker integration (RabbitMQ) |
| Kafka | Event streaming |
| TCP / UDP | Low-level network services |
| GraphQL | Query-based APIs |
| MQTT | IoT device messaging |
Scaling defines instance boundaries and autoscale triggers:
- Min instances - Minimum replica count (baseline capacity)
- Max instances - Maximum replica count (scale ceiling)
- Scale trigger - Expression that triggers scaling (e.g.
cpu > 80%,queue.depth > 100)
When a component has maxInstances > 1, the Python export generates a ThreadPoolExecutor pool sized to maxInstances and the AI code generator uses concurrency patterns like thread pools or multiprocessing.