Skip to main content

Ramble Overview

AI-powered structured field extraction from unstructured text. A configurable GUI tool that lets users "ramble" about an idea and extracts structured fields using AI.

ResourceURL
Git Repositoryhttps://gitea.brrd.tech/rob/ramble
Docker Imagegitea.brrd.tech/rob/ramble:latest
Local Path~/PycharmProjects/ramble

Core Concept

Ramble solves the problem of capturing ideas in a structured format. Instead of filling out rigid forms, you describe what you want in natural language, and AI extracts the structured data.

┌─────────────────────────────────────────────────────────────────┐
│ Ramble │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ "I want a feature that lets users export their data │ │
│ │ to CSV format. It should support filtering by date │ │
│ │ and include all fields. Maybe add PDF export too." │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ AI Extraction │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ { │ │
│ │ "title": "Data Export Feature", │ │
│ │ "type": "feature", │ │
│ │ "formats": ["CSV", "PDF"], │ │
│ │ "filters": ["date"], │ │
│ │ "scope": "all fields" │ │
│ │ } │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Key Features

FeatureDescription
Free-form InputType naturally without structure constraints
AI ExtractionMultiple providers (Claude, Codex, Gemini)
Configurable FieldsDefine what fields to extract with custom criteria
Field LockingLock fields you've refined for re-extraction
PlantUML DiagramsAuto-generate diagrams from descriptions
Headless ModeCLI usage without GUI
Programmatic APIImport and use in Python scripts
Docker SupportPre-built container for easy deployment
Image GenerationStability AI and Pexels integration

Tech Stack

  • Python 3.10+
  • PySide6 - Cross-platform GUI
  • Multiple AI Providers - Claude, Codex, Gemini, mock
  • PlantUML - Diagram generation
  • Docker - Containerized deployment

Use Cases

  1. Feature Requests: Ramble about a feature, get structured spec
  2. Bug Reports: Describe issue, extract steps/expected/actual
  3. Meeting Notes: Ramble about discussion, extract action items
  4. Documentation: Describe concept, get structured outline

Integration

Ramble integrates with Development Hub to provide a user-friendly way to create new projects and feature requests through natural language input.

# Standalone usage
ramble

# With Docker
docker run -it --rm \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
gitea.brrd.tech/rob/ramble --provider mock

Quick Start

# Install
cd ~/PycharmProjects/ramble
pip install -e .

# Run GUI with mock provider
ramble --provider mock

# Run with Claude
ramble --provider claude

# Headless mode
ramble --field-values '{"Title":"My Feature","Summary":"A cool feature"}'

Architecture

ramble/
├── src/ramble/
│ ├── __init__.py # Public API (open_ramble_dialog, providers)
│ ├── cli.py # CLI entry point with argument parsing
│ ├── dialog.py # PySide6/PyQt5 GUI implementation
│ └── providers.py # AI provider implementations
├── Dockerfile
├── docker-compose.yml
└── pyproject.toml