FLOWD is a PyQt6 desktop app that helps you go from a high-level task description to a structured flowchart and generated code. It uses Amazon Nova models via the OpenAI client to:
- turn a task description into a software structure (flowchart JSON)
- generate code step-by-step from that structure
- enrich an AST map with AI docstrings to improve downstream prompts
This project was built for the Amazon Nova Hackathon.
- Project dashboard with create/open flows
- Canvas UI to build and visualize flowchart steps
- AI-assisted flowchart generation from a task description
- AI-assisted code generation per step
- Code editor with chat and terminal panels
- Local caching of projects and AST/flowchart files
- Python
- PyQt6 (desktop UI)
- OpenAI Python SDK (configured for Amazon Nova)
- python-dotenv
- Create and activate a virtual environment (optional but recommended).
- Install dependencies:
pip install PyQt6 PyQt6-QScintilla openai python-dotenv platformdirs tree-sitter-language-pack
- Create a
.envfile (or edit the existing one) with:NOVA_API_KEY=your_api_key_here
python main.pysrc/core/ai_helper.pysends your project description to Nova to get a flowchart JSON.src/core/AstFlowchartGen.pyscans the project, buildsast_map.json, adds docstrings, and can generateflowchart.json.src/core/CodeGen.pyruns each flowchart step, calls Nova for code, and writes/updates files.src/core/Flowchart.pyandsrc/core/Step.pymanage the in-memory flowchart model.
Project metadata and cached AST/flowchart files are stored under %APPDATA%\SVCA\ on Windows. Generated ast_map.json and flowchart.json are also saved in the project root.
app/
components/
pages/
style/
src/
core/
utils/
main.py
- The Nova endpoints are configured through the OpenAI client with
base_url="https://api.nova.amazon.com/v1". - If you see empty or invalid AI responses, verify
NOVA_API_KEYand network access.