Ennoea is a web tool for viewing application and infrastructure architectures in a 3D space. Applications are boxes, groups are translucent bounding volumes, and connections are tubes between them with pulses travelling along to show which way data flows and roughly how fast. The idea came from staring at too many static architecture diagrams that couldn't answer "what talks to what, and how much?".
What it does
- Load an architecture as JSON, either from a file or by editing it live in a CodeMirror editor beside the scene.
- Click any component for a popup with its details; the sidebar lists applications, groups and connections and lets you rename and edit them in place.
- Move and rotate components with transform controls, with the camera staying put while you drag.
- Connections are real tube geometry with arrows at the connected end and an animated pulse whose direction shows the data flow.
- Save named architectures back to the server.
Stack
A Go server serves the app and persists saved architectures; the front end is three.js for the scene, GSAP for the animations, CodeMirror 6 for the editor and Sass for styling, bundled by webpack. A Makefile builds both halves and make start brings it up on port 8080.
Status
Pre-release alpha. The core loop works (load, inspect, rearrange, save) and the connection rendering went through several iterations: lines, then tubes, then arrows that start at the end of the tube, then fixing the arrows that duplicated themselves whenever something moved. Still on the list: packet size as tube thickness, per-connection pulse rates, descriptions on applications and groups, and adding new applications from the UI rather than the JSON.