Dynamica is a visual workspace for drawing and analyzing analog circuits. It keeps the schematic, component parameters, analysis setup, and results in one place.
Open the frontend demo | Run locally
The public demo includes the editor and browser-side persistence. Circuit analysis requires the FastAPI service and is available when running the full project locally.
- Draw circuits on a configurable grid with snapping, wiring, rotation, and automatic component labels.
- Edit values, currents, voltages, and unknowns from the component inspector.
- Run mesh or nodal analysis from the circuit that was actually drawn.
- Review graph data, matrices, equations, branch values, and power balance in a dedicated report.
- Export schematics as SVG or LaTeX with
circuitikz. - Use the interface in Italian or English, with light and dark themes.
The analysis view keeps configuration, circuit topology, equations, and results in a single report.
- Build the schematic in the editor.
- Set component values and choose the known and unknown quantities.
- Open the analysis workspace and select the domain, regime, and method.
- Inspect the generated equations and results, or export the circuit.
The frontend and API run as separate development servers.
From the repository root:
npm ci
npm run devOpen http://127.0.0.1:5173.
In a second terminal:
cd api
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python -m uvicorn app.main:app --reload --port 8000The health endpoint is available at http://127.0.0.1:8000/health.
Windows activation command:
.venv\Scripts\activate.bat.
├── web/ Frontend pages, components, and styles
├── api/ FastAPI application and analysis engine
├── config/ Vite and TypeScript configuration
├── .github/workflows/ GitHub Pages deployment
└── package.json
The frontend is built with React, TypeScript, and Vite. The API uses FastAPI, Pydantic, SymPy, and Lcapy. See api/README.md for the request model, endpoints, and backend structure.
Create a production build with:
npm run buildPushes to main deploy the contents of dist/ to GitHub Pages through
deploy-pages.yml.
Dynamica is under active development. The circuit editor, inspector, local session restore, export flow, and mesh/nodal analysis are implemented. File import and explicit save controls are currently placeholders, and analysis jobs are stored in memory by the API.
Dynamica is available under the Apache License 2.0.

