Skip to content

DanSnow/data-visualize

Repository files navigation

Data Visualization Framework

Let AI analyze your data and create beautiful charts for you.

A reactive data visualization framework built with marimo, Polars, and Plotly. Simply chat with Claude Code to explore your data - no need to write code or know data visualization techniques.

Why Use This?

For Non-Technical Users

  • 🤖 Talk to AI, get charts: Just say "visualize my sales data" and get interactive dashboards
  • 📊 No coding required: Claude Code writes all the code for you
  • 💡 Get insights automatically: AI explains what your data means
  • 🎨 Beautiful visualizations: Professional, interactive charts ready to share

Why This Tech Stack?

  • Marimo: Reactive notebooks that run as scripts or web apps (not Jupyter!)
  • Polars: 10-100x faster than pandas for data processing
  • Plotly: Interactive charts you can zoom, pan, and explore
  • Claude Code: AI that understands data visualization best practices

Prerequisites

  • Python 3.12 or higher
  • uv (required) - Fast Python package manager
  • Claude Code (required) - AI assistant for data visualization

Install uv

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Quick Start

1. Install

git clone https://github.com/DanSnow/data-visualize.git
cd data-visualize
uv sync

2. Start with AI (Recommended)

Get Claude Code from claude.ai/code, then:

# Start marimo with AI integration
mask edit
# or: uv run marimo edit main.py --mcp --no-token

Open Claude Code and ask:

Visualize the data in my_sales.csv

Claude will:

  • 🔍 Explore your data automatically
  • 💬 Ask what you want to see
  • 📊 Create interactive charts in your notebook
  • 💡 Explain key findings

That's it! No code writing needed.

3. Start Manually (Without AI)

# Just run marimo notebook
mask run
# or: uv run marimo run main.py

Then edit main.py to load your data - see Manual Usage below.

Task Runner

This project uses mask for common tasks. See maskfile.md for details.

Quick commands:

# Edit with AI support (recommended)
mask edit

# Run as web app
mask run

Or use uv directly if you don't have mask installed:

uv run marimo edit main.py --mcp --no-token  # With AI
uv run marimo run main.py                     # Without AI

How to Use with Your Data

Option A: AI-Assisted (Recommended)

Best for: Non-technical users, quick exploration, complex datasets

  1. Get your data file (CSV, Excel, Parquet, or JSON)
  2. Start marimo with AI: mask edit
  3. Ask Claude Code: "Visualize data in my_file.csv"
  4. Follow the conversation:
    • Claude asks about your interests
    • Proposes relevant charts
    • Creates visualizations automatically
    • Explains insights

Example conversation:

You: Visualize my Q4_sales.csv

Claude: Found 1,247 transactions across 5 categories from Oct-Dec 2024.
What would you like to explore?
- Revenue trends over time?
- Performance by product category?
- Top products analysis?

You: Show trends and top products

Claude: Creating:
1. Daily Revenue Trend (line chart)
2. Top 10 Products (bar chart)
3. Category Breakdown (pie chart)

[Charts appear in your notebook]

Key insights:
- Peak day: Nov 25 ($45K - Black Friday)
- Top product: Wireless Headphones ($67K)
- Electronics: 42% of revenue

Option B: Manual

Best for: Developers, custom analysis, learning the stack

  1. Place data file in project directory

  2. Edit main.py to load your data:

df = pl.read_csv("your_data.csv")
  1. Learn the tools:

  2. Reference examples in .claude/skills/data-viz-insight/references/

Example Use Cases

  • Sales: Revenue trends, top products, regional performance
  • Web Analytics: Traffic sources, conversion rates, user behavior
  • Finance: Spending patterns, budget tracking, investment analysis
  • Operations: Performance metrics, resource utilization, quality control
  • Science: Experiment results, distributions, time series

Project Structure

data-visualize/
├── main.py                    # Your marimo notebook
├── maskfile.md               # Task runner commands
├── pyproject.toml            # Dependencies (managed by uv)
├── .claude/skills/           # AI assistance configuration
│   └── data-viz-insight/     # Data visualization skill
└── CLAUDE.md                 # Claude Code instructions

Resources

Official Documentation

This Project

  • Skill reference: .claude/skills/data-viz-insight/skill.md
  • Polars patterns: .claude/skills/data-viz-insight/references/polars-patterns.md
  • Plotly examples: .claude/skills/data-viz-insight/references/plotly-charts.md

Troubleshooting

Claude Code can't see my notebook

Start marimo with MCP support:

mask edit
# or: uv run marimo edit main.py --mcp --no-token

Import errors

Install dependencies:

uv sync

Charts not showing

Make sure you're in the notebook view (not script mode):

mask edit

Contributing

Contributions welcome! This project showcases AI-powered data visualization. Feel free to:

  • Share example datasets and use cases
  • Improve the Claude Code skill
  • Add documentation
  • Report issues

Acknowledgments

  • marimo - Reactive Python notebooks
  • Polars - Fast DataFrames
  • Plotly - Interactive visualizations
  • Claude Code - AI assistant
  • uv - Fast Python package manager

New to data visualization? Start with Claude Code - just describe what you want to see and let AI do the work! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages