Divooka Use Cases
While Divooka moving towards feature-complete status, the current use cases are limited to small scripts and batch processing.
Examples
1. Batch Image Transformation Pipeline
Process thousands of images with a simple declarative script.
Use case: Resize, watermark, and convert formats for a media library.
images = load("input/*.png")
processed = images
|> resize(width=1024)
|> watermark("© Divooka")
|> convert("webp")
save(processed, "output/")
2. Log File Analysis & Aggregation
Quickly extract structured insights from raw logs.
Use case: Count errors per service from multiple log files.
logs = load("logs/*.txt")
errors = logs
|> parse(regex)
|> filter(level == "ERROR")
|> group_by(service)
|> count()
print(errors)
3. CSV Data Cleanup + Transformation
Clean and normalize datasets in one pass.
Use case: Prepare a dataset for analytics.
data = load("users.csv")
clean = data
|> filter(email != null)
|> map(age = to_int(age))
|> normalize(country)
|> deduplicate(id)
save(clean, "clean_users.csv")
4. API Data Fetch + Local Caching
Pull remote data and reshape it locally.
Use case: Fetch product data and cache filtered results.
products = fetch("https://api.store.com/products")
filtered = products
|> filter(price < 100)
|> map(name, price)
save(filtered, "cache.json")
5. File System Refactoring Script
Batch rename and reorganize files.
Use case: Normalize messy download folders.
files = load("downloads/*")
organized = files
|> rename(pattern="{date}_{name}")
|> group_by(type)
|> move_to("sorted/")
6. Markdown Documentation Generator
Generate docs from structured inputs.
Use case: Convert JSON config into markdown docs.
config = load("config.json")
docs = config
|> map(to_markdown)
|> join("\n\n")
save(docs, "README.md")
7. Bulk Code Refactoring Helper
Apply transformations across many files.
Use case: Replace deprecated function calls.
files = load("src/**/*.cs")
updated = files
|> replace("oldFunc(", "newFunc(")
save(updated)
8. Scheduled Data Snapshot Script
Take periodic snapshots of changing data.
Use case: Archive daily API responses.
data = fetch("https://api.example.com/stats")
snapshot = data
|> timestamp()
|> save("snapshots/{date}.json")
9. AI-Powered Sci-Fi Image Generator (Small Creative Script)
Build a one-click tool that asks ChatGPT to write a detailed prompt, feeds it to DALL·E 3, and instantly previews the result.
Use case: Image generation.
prompt = generate_text(
"Generate a 300-word description of an interesting sci-fi landscape for DALL·E 3"
)
image = prompt
|> generate_image()
preview(image)
Available service providers: OpenAI (DALL·E 3), Comfy UI.
10. Bulk File Renamer & Organizer (Batch Processing Powerhouse)
Rename and organize an entire folder of photos, downloads, or logs in one clean graph—no loops, no scripts.
Use case: File system organization.
files = load("folder/*")
renamed = files
|> replace(pattern="photo (n).jpg", format="2025-03_Vacation_{n}.jpg")
save(renamed)
Comments: The same three nodes that work on one file magically scale to thousands because Divooka automatically dispatches over arrays (no explicit For-Each or subgraphs needed).
11. Batch Novel Outline & Chapter Generator (LLM Workflow)
Turn a single “write my novel” idea into 8 world-building topics + 20 chapter summaries in one run.
Use case: Creative inspiration.
idea = input("novel idea")
topics = idea
|> generate_topics(count=8)
chapters = topics
|> expand(count=20)
|> generate_text()
document = chapters
|> to_markdown()
save(document, "novel_outline.md")
Recipe:
- Start node or text input → LLM node(s) to generate 8 topics
- Duplicate as Array + automatic dispatch → branches into 20 parallel chapter prompts
- LLM Complete nodes → generate full outlines or drafts
- Export to Markdown or Preview nodes → saves everything as a neatly formatted document
Comments: As this example is a bit complicated, more advanced techniques can be used to simplify the graph. See case study in Novel Generation.
12. Batch Image/Video Processor (Dataflow + Media Pack)
Process hundreds of photos or short clips: resize, apply filters, add watermarks, or feed into ComfyUI-style generation.
Use case: Media file preparation for rendering, game assets, or machine learning.
media = load("media/*")
processed = media
|> resize(width=1024)
|> apply_filter("cinematic")
|> watermark("© Project")
save(processed, "output/")
Techniques: Optional LLM or ComfyUI API node can be used for smart tagging or style transfer.
Conclusion
Above examples demonstrate Divooka’s strength as a declarative transformation engine for small-scale pipelines, with clear potential to scale into distributed or real-time workflows.