(For Students, Programmers, and Data's People)
For people who want chatgpt to generate flow charts.
How to Generate
- Prompt GPT or any other LLM to writemake a .dot file
- Run the app executable and either browse for .dot file, or paste.dot file content here
Sample Prompt
I’m designing a flowchart to explain a process. Please generate a valid Graphviz DOT file (not an image, only the DOT text) using clear structure and labels.
Title: “Student Research Workflow”
Style: simple, left-to-right layout (rankdir=LR), rounded boxes, arrows showing data flow.
Steps to include:
- Define Research Question
- Collect Data
- Clean Data
- Analyze Results
- Write Report- Select the location where you want to save .PNG Flowchart File.
digraph T5 {
rankdir=LR;
fontsize=12;
labelloc="t";
label="T5 Architecture (Encoder–Decoder with High & Low Level Abstractions)";
// Node styles
node [shape=box, style=filled, fontname="Helvetica"];
// Input Embeddings
input [label="Input Tokens\n(Embeddings + Positional Info)", fillcolor="#cce5ff"];
// Encoder
subgraph cluster_encoder {
label="Encoder Stack (N Layers)";
style=filled;
color="#99ccff";
enc_in [label="Input Embedding Vector", fillcolor="#e6f2ff"];
subgraph cluster_enc_layer {
label="Encoder Layer";
color="#b3d9ff";
style=filled;
enc_self_attn [label="Multi-Head Self-Attention", fillcolor="#ffcccb"];
enc_norm1 [label="Layer Norm + Residual", fillcolor="#ffe6e6"];
enc_ffn [label="Feed-Forward Network", fillcolor="#ccffcc"];
enc_norm2 [label="Layer Norm + Residual", fillcolor="#e6ffe6"];
}
enc_out [label="Encoder Hidden States\n(Meaning Soup)", fillcolor="#e6f2ff"];
enc_in -> enc_self_attn -> enc_norm1 -> enc_ffn -> enc_norm2 -> enc_out;
}
// Decoder
subgraph cluster_decoder {
label="Decoder Stack (N Layers)";
style=filled;
color="#ffcc99";
dec_in [label="Shifted Output Embeddings", fillcolor="#fff0e6"];
subgraph cluster_dec_layer {
label="Decoder Layer";
color="#ffd9b3";
style=filled;
dec_self_attn [label="Masked Multi-Head Self-Attention", fillcolor="#ffcccb"];
dec_norm1 [label="Layer Norm + Residual", fillcolor="#ffe6e6"];
dec_cross_attn [label="Cross-Attention\n(Q=Decoder, K,V=Encoder)", fillcolor="#ffeb99"];
dec_norm2 [label="Layer Norm + Residual", fillcolor="#fff7cc"];
dec_ffn [label="Feed-Forward Network", fillcolor="#ccffcc"];
dec_norm3 [label="Layer Norm + Residual", fillcolor="#e6ffe6"];
}
dec_out [label="Decoder Hidden States", fillcolor="#fff0e6"];
dec_in -> dec_self_attn -> dec_norm1 -> dec_cross_attn -> dec_norm2 -> dec_ffn -> dec_norm3 -> dec_out;
}
// Output
output [label="Softmax\n(Output Tokens)", fillcolor="#d5f5e3"];
// Connections
input -> enc_in;
enc_out -> dec_cross_attn;
dec_out -> output;
}
For people who needs offline image to text converter.
- You can load image from file menu or just directly paste it from clipboard.
- Then click perform OCR button and text from image will appear.
Note : For better quality use high quality image
Requirements
- Python 3.8+
- PyQt6
- Pillow
- pytesseract
- Graphviz (for Flowchart Maker)
- Tesseract OCR (for OCR Tool)
Install all Python deps in projects .venv:
pip install PyQt6 pillow pytesseractUse apt or dnf to install system packages
# Ubuntu
sudo apt install graphviz tesseract-ocr
# Fedora
sudo dnf install graphviz tesseractIn your projects virtual environment install pyinstaller and create executable like that :
pip install pyinstaller
pyinstaller --onefile --windowed flow_chart_maker/flow_chart_maker.py
pyinstaller --onefile --windowed OCR/main.pyWindows
Install Python. Install Graphviz. Install Tessaract OCR.
Add all to path.
then follow the same process as linux.
Use brew to install system packages :
brew install python3 graphviz tesseract
pip3 install PyQt6 pillow pytesseractFollow the same process as in linux for creating executable files.
