# akio-236/dreamweaver_ai architecture

> Architecture diagram of the GitHub repository akio-236/dreamweaver_ai, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/akio-236/dreamweaver_ai
- Repository: https://github.com/akio-236/dreamweaver_ai

## Overview

Dreamweaver AI’s implemented workflow creates structured creative prompts, uses Gemini to generate stories from prompts, and cleans story data into a training-oriented format. The cleaner expects `data/raw/dataset.jsonl`, while the generator writes `dataset.jsonl`; the tree does not show the expected raw input or prompt file, so those storage links are not asserted. Fine-tuning and a user-facing web app are roadmap items, not implemented components in the sampled source.

Main entry points: [`src/story_generation.py`](https://github.com/akio-236/dreamweaver_ai/blob/main/src/story_generation.py) (Story generator), [`src/prompt_generation.py`](https://github.com/akio-236/dreamweaver_ai/blob/main/src/prompt_generation.py) (Prompt generator), [`src/data_cleaning.py`](https://github.com/akio-236/dreamweaver_ai/blob/main/src/data_cleaning.py) (Data cleaner), [`data/processed/cleaned_stories.jsonl`](https://github.com/akio-236/dreamweaver_ai/blob/main/data/processed/cleaned_stories.jsonl) (Cleaned stories)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ideation["Prompt creation"]
  node_prompt_gen["Prompt generator"]
  node_prompt_file["Prompt list"]
end

subgraph group_generation["Story generation"]
  node_story_gen["Story generator"]
  node_story_file["Generated stories"]
end

subgraph group_preparation["Dataset preparation"]
  node_cleaner["Data cleaner<br/>[data_cleaning.py]"]
  node_cleaned_data["Cleaned stories"]
end

node_creator(("Creative director"))
node_gemini["Gemini API"]

node_creator -->|"provides ideas"| node_prompt_gen
node_prompt_gen -->|"writes prompts"| node_prompt_file
node_story_gen -->|"loads prompts"| node_prompt_file
node_story_gen -->|"requests stories"| node_gemini
node_gemini -->|"returns stories"| node_story_gen
node_story_gen -->|"writes stories"| node_story_file
node_cleaner -->|"writes cleaned data"| node_cleaned_data

click node_prompt_gen "https://github.com/akio-236/dreamweaver_ai/blob/main/src/prompt_generation.py"
click node_story_gen "https://github.com/akio-236/dreamweaver_ai/blob/main/src/story_generation.py"
click node_cleaner "https://github.com/akio-236/dreamweaver_ai/blob/main/src/data_cleaning.py"
click node_cleaned_data "https://github.com/akio-236/dreamweaver_ai/blob/main/data/processed/cleaned_stories.jsonl"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_prompt_gen,node_prompt_file toneBlue
class node_story_gen,node_story_file toneAmber
class node_cleaner,node_cleaned_data,node_gemini toneMint
class node_creator toneIndigo
```

## Components

### Prompt creation

- [Prompt generator](https://github.com/akio-236/dreamweaver_ai/blob/main/src/prompt_generation.py): `src/prompt_generation.py`
- **Prompt list**

### Story generation

- [Story generator](https://github.com/akio-236/dreamweaver_ai/blob/main/src/story_generation.py): `src/story_generation.py`
- **Generated stories**

### Dataset preparation

- [Data cleaner](https://github.com/akio-236/dreamweaver_ai/blob/main/src/data_cleaning.py): `src/data_cleaning.py`
- [Cleaned stories](https://github.com/akio-236/dreamweaver_ai/blob/main/data/processed/cleaned_stories.jsonl): `data/processed/cleaned_stories.jsonl`

### Other components

- **Creative director**
- **Gemini API**

## Connections

- Creative director → Prompt generator: provides ideas
- Prompt generator → Prompt list: writes prompts
- Story generator → Prompt list: loads prompts
- Story generator → Gemini API: requests stories
- Gemini API → Story generator: returns stories
- Story generator → Generated stories: writes stories
- Data cleaner → Cleaned stories: writes cleaned data
