A UML modeling editor that can render the diagrams to code using local LLMs.
(This is an MVP. A work in progress, and little-more than a proof of concept in its current state. Use at your own risk. And feedback would be appreciated.)
This app runs using free, local LLM models. No subscription needed, no internet needed. The purpose of this app is to empower software Architects, allowing for front-loading thought and design of an application via UMLs, and leverage an LLM to render the scaffolded code per that spec. It does not design or think for you. The more effective your plans are, the cleaner the output.
e.g. self-documenting practices like explicit parameter names, compartmentalized behavior, and small functions, will allow for less wiggle-room in which to hallucinate. Future iterations will make this easier to achieve.
- Install LMStudio or Ollama. LMStudio is the recommended method for those unfamiliar with LLM usage.
- Use LMStudio or Ollama to download and "load" (activate) the local LLM model of your choice. This project was successfully tested on an M1 Mac using the
unsloth/qwen3-coder-30b-a3b-instructmodel with theQ4_K_Mquantization. - Activate local hosting of the model.
- Install
node. Options include:- Brew (Mac)
- Or from Source
- Download the project:
git clone https://github.com/kmuenkel/Apollon.git - Switch to the LLM branch (for now):
git checkout develop - Install project dependencies:
npm install
npm run startOnce you're satisfied with the current state of your UML, type in the name of the language you want it generated in, and click "Generate". It may take a minute or two. For this MVP, the process will be done when you see data-model info show up in the Dev-Tools Console.
All generated code will appear in the generations folder within this project's root. Each set of generations will be in a subfolder therein that will be given a UUID as a name. Following that will be whatever directory structure the LLM deemed appropriate for each given entity. (Folder and namespace management will be available in later iterations of this project.)
The UI for this project originated from the fantastic work going on over at Apollon. Many thanks to their efforts for making this project possible.
This project is dual-licensed as a consequence of its origins.
The UI was derived from Apollon, an open-source UML modeling tool developed by "TUM Applied Education Technologies" and released under the MIT License. That license permits broad reuse — including modification and redistribution — as long as the original copyright notice is preserved. It places no restrictions on how derivative works are licensed.
All modifications to the original Apollon code, as well as all new work in this project (such as the LLM integration, code generation pipeline, backend wiring, and related tooling), were authored by "Last Stop Software LLC" and are released under the GNU General Public License v3.0. The GPL is a "copyleft" license: it guarantees that this software and any derivative works remain freely available, and that recipients have the right to inspect, modify, and redistribute the source code under the same terms.
The two licenses are compatible in this direction — MIT code can be incorporated into a GPL-licensed work. The reverse is not always true. If you fork or redistribute this project, the GPL terms govern the combined work, and the original MIT copyright notice must be retained.
See LICENSE for a summary, LICENSE-MIT for the original Apollon terms, and LICENSE-GPL for the terms covering Last Stop Software LLC's contributions.