Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

cuiqviz – Disposable Analytics for People Who Need Answers Now

The fastest way to turn local data into a credible report β€” then throw it away.

A lightweight CLI for generating publication-quality dashboards from CSV, JSON, Parquet, and DuckDB-compatible files. Zero setup. No accounts. No infra. One command. Offline-ready.

Production Ready Lightweight Local First

alt text


The Problem You Actually Have

You need a credible report now. Not in two weeks, not after setup and governance meetings.

  • Consultants: Client deliverables on tight timelines
  • Data analysts: Ad-hoc reports that nobody will maintain
  • Finance teams: One-off analyses that expire after the decision
  • Public sector: Data must stay local, no cloud
  • Regulated industries: Audit trails on a laptop

You don't need a BI platform. You don't need a Python environment. You need speed. You need local data. You need something you can delete without feeling guilty.

You tried Python notebooks. They work great until you need to share them. Then you're explaining virtual environments to people who just want to see the chart.

That's where cuiqviz comes in.


One Command, Instant Report

# Export standalone HTML (offline, shareable)
cuiqviz export data.csv report.html

# Add title and theme
cuiqviz export -t "Q4 Results" --theme dark data.csv report.html

# Multi-chart dashboard
cuiqviz export dashboard.toml report.html

That's it. No setup. No warehouses. No permission models. No refresh pipelines.

Generated reports are completely standalone β€” embed all assets, work offline, open anywhere.


Why cuiqviz Wins Where Others Fail

πŸ”₯ Local-First + Offline

Power BI and Tableau demand cloud infrastructure. Evidence and Rill require Git and build pipelines.

cuiqviz works with data on your laptop, generates a standalone file, and stays offline. Your data never leaves your machine.

You win when:

  • Data is sensitive or regulated
  • Internet is unreliable
  • IT approval is impossible
  • You just need to send a file

⚑ Zero to Report in < 5 Minutes

  • Open file β†’ get chart β†’ export HTML β†’ done
  • No data modeling
  • No semantic layers
  • No user management
  • No configuration

Your pitch: "Open file β†’ write SQL β†’ chart β†’ export β†’ done."

πŸ—‘οΈ Disposable by Design

No one optimizes for this.

Power BI fights throwaway reports. They want persistent dashboards, centralized ownership, long-lived assets.

cuiqviz assumes:

  • Reports expire
  • Dashboards are deleted
  • Nobody wants to maintain them
  • Delete without regret

πŸ“Š DuckDB Native Superpowers

  • Query files directly (CSV, JSON, Parquet)
  • Cross-file joins, aggregations, filtering
  • Zero import step
  • Million-row performance locally

🐍 Not Python. That's the Whole Point.

Python solutions (Jupyter, Plotly, Matplotlib, Pandas notebooks) have real problems for your workflow:

Problem Python cuiqviz
Dependencies 50+ packages, version hell Zero dependencies in binary
"Works on my machine" Common Binary runs everywhere
Knowledge required Python coding skills Just SQL + file
Distribution "Send them the notebook?" One HTML file
Setup time venv, pip, virtual env Download binary, run
Sharing Recipient needs Python + packages Open in any browser
Updates Major version breaks often No dependencies to break
For non-coders Impossible Designed for them

Python notebooks are great for reproducible research. They're awful for fast client deliverables.

With Python, you're fighting:

  • Which version of Pandas?
  • Did they install the environment right?
  • Does it work on their machine?
  • Can they even run Python?

With cuiqviz, you're done. They open the HTML file.


Installation

Requirements

  • macOS, Linux, or Windows
  • That's it

Download Binary

Choose your platform:

Quick Install (macOS & Linux)

# Download and extract
curl -L https://releases.cuiqviz.io/latest/cuiqviz-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m).tar.gz | tar xz

# Make it executable
chmod +x cuiqviz

# Move to PATH (optional, for global access)
sudo mv cuiqviz /usr/local/bin/

Windows

  1. Download cuiqviz-windows-x64.exe from releases
  2. Place it in your project directory or add to PATH
  3. Run: cuiqviz export data.csv report.html

Verify Installation

cuiqviz --version

Quick Start

Generate Your First Report

# Simple CSV export
cuiqviz export sales.csv report.html

# View it
open report.html

With Customization

cuiqviz export --title "Q4 Revenue" --theme dark sales.csv report.html

License (Pro Features)

Free tier includes watermark footer. Pro tier removes branding:

# Check current license status
cuiqviz license status

# Install a license key (removes watermark)
cuiqviz license install <KEY>

# Upgrade to Pro (opens Paddle checkout)
cuiqviz license upgrade

# Generate test license (development)
node generate_license.js

See LICENSE_GENERATOR.md for full details.


How It Works

Export Mode (Primary)

Generate an offline-ready HTML file in seconds:

# Simple export
cuiqviz export sales.csv report.html

# With customization  
cuiqviz export --title "Q4 Revenue" --theme dark -p line sales.csv report.html

# Dashboard from TOML config
cuiqviz export dashboard.toml report.html --theme sepia

Exported files:

  • Fully standalone (no external dependencies)
  • Work offline (no CDN needed)
  • Professional styling by default
  • Interactive (zoom, pan, filter, sort)
  • Print-friendly (PDF export compatible)

Interactive Server Mode (Optional)

For exploration before you settle on a final chart:

# Start local server (opens browser automatically)
cuiqviz data.csv

# Custom port
cuiqviz data.csv --port 9000

Useful for exploring. For sharing, use --export.


Feature Set

πŸ“Š Chart Types

All inferred automatically. Override with --plot-type.

  • Line - Time series, trends, multi-metric
  • Bar - Comparisons, rankings, categories
  • Scatter - Correlation, relationships
  • Histogram - Distribution analysis
  • Pie - Composition, percentages
  • Area - Cumulative trends
  • Data Tables - Sortable exploration

🎨 Styling

  • 3 themes: Light, Dark, Sepia
  • 4 color palettes: Default, Pastel, Dark, Vibrant
  • Responsive design: Desktop β†’ tablet β†’ mobile
  • Print-optimized: PDF-ready output

⚑ Interactivity

  • Zoom (0.5x to 5x with scroll)
  • Pan (click and drag)
  • Hover tooltips
  • Sortable table columns
  • Reset to original

πŸ” Data Formats

  • CSV (with headers)
  • JSON (array of objects)
  • Parquet (via DuckDB)
  • SQL queries (SELECT only, read-only)

πŸ“ˆ Advanced

  • TOML dashboards - Multi-chart layouts with config files
  • Text blocks - Markdown content (headers, lists, formatting)
  • SQL transforms - Filter, aggregate, join before visualizing
  • Multiple files - Load separate datasets as dashboard

πŸ” Licensing (Phase 2)

  • Free tier - Full functionality with watermark footer
  • Pro tier - Remove branding, unlimited exports
  • No blocking - Graceful degradation, non-blocking license checks
  • Offline validation - Local license verification with tamper detection
  • Machine binding - Optional license restriction to prevent sharing

Command Reference: 80/20 Rule

Most users only need these:

# Generate report (output file is optional, defaults to output.html)
cuiqviz export data.csv report.html

# With title
cuiqviz export -t "2024 Sales" data.csv report.html

# Dark theme (presentations)
cuiqviz export --theme dark data.csv report.html

# Sepia theme (printing)
cuiqviz export --theme sepia data.csv report.html

Full options:

Option Short Purpose Default
--plot-type -p line, bar, scatter, pie, histogram, area, box, table Auto
--title -t Custom report title Auto-detected
--theme light, dark, sepia light
--colors default, pastel, dark, vibrant default
--grid Show grid lines true
--legend Legend position: top, bottom, right, left, none right
--layout Dashboard grid layout (COLxROW) 2x2
--sample Sample N rows from data (0=all) 0
--max-size Warn if file > N MB 100

Run cuiqviz --help for complete list.


Examples

Finance: Monthly Revenue Review

cuiqviz export --title "Q4 Revenue Summary" --theme sepia -p line revenue.csv Q4_report.html

Consulting: Client Deliverable

cuiqviz export --title "2024 Performance Analysis" --theme dark --colors vibrant client_data.csv client_analysis.html

Data Analysis: Quick Exploration

# Export with specific chart type
cuiqviz export -p bar data.csv final.html

Dashboard: Multi-Chart TOML Config

# Create dashboard.toml with multiple charts
cuiqviz export dashboard.toml dashboard.html --theme dark

See examples/ for complete TOML config samples.


Data Format Guide

CSV

month,revenue,expenses
January,50000,30000
February,55000,32000

JSON

[
  {"month": "January", "revenue": 50000},
  {"month": "February", "revenue": 55000}
]

Column Types (Auto-Detected)

  • Numeric: Integers or decimals (no currency symbols)
  • Categorical: Text values, regions, categories
  • Date: ISO format (YYYY-MM-DD) or month names

SQL Queries

Transform data before visualization:

# Filter
cuiqviz export "SELECT * FROM 'sales.csv' WHERE region = 'North'" report.html

# Aggregate
cuiqviz export "SELECT product, SUM(amount) FROM 'sales.csv' GROUP BY product" report.html

# Sort and limit
cuiqviz export "SELECT * FROM 'data.csv' ORDER BY value DESC LIMIT 100" report.html

Performance & Limits

File Size

Size Status Recommendation
< 10 MB βœ… Excellent Full featured
10-50 MB βœ… Good Standard use
50-100 MB ⚠️ Acceptable Slower rendering
> 100 MB ❌ Not recommended Data sampling needed

Dashboard Limits

  • Recommended: 4-6 charts
  • Soft limit: 12 charts
  • Hard limit: 20 charts

Troubleshooting

"No data source provided"

Input file is required:

# ❌ Wrong
cuiqviz export report.html

# βœ… Correct  
cuiqviz export data.csv report.html

CSV Not Displaying

  • First row must be column headers
  • No blank rows
  • All rows same number of columns

JSON Format Issues

Must be array of objects:

[{"col": value}, ...]  # βœ… Correct
{"col": value}         # ❌ Wrong

Wrong Chart Detected

Override explicitly:

cuiqviz export -p bar data.csv report.html

Flags Must Come Before Files

The cli module requires flags before positional arguments:

# ❌ Wrong
cuiqviz export data.csv -t "Title" report.html

# βœ… Correct  
cuiqviz export -t "Title" data.csv report.html

What People Use This For

βœ… Consultant deliverables - Client reports on fixed budgets
βœ… Finance reviews - Quarterly analysis, audit trails
βœ… Public sector - Compliant, local-only reporting
βœ… Data freelancing - White-label client reports
βœ… Regulated analysis - Healthcare, financial services, defense
βœ… Shadow analytics - Personal tool, no IT approval needed


Support & Resources


Key Metrics

  • Binary Size: ~3.2 MB (self-contained)
  • Startup: < 1 second
  • Formats: CSV, JSON, Parquet, DuckDB
  • Charts: 8 types + data tables
  • Export: Standalone, offline HTML
  • Platforms: Linux, macOS, Windows
  • License: Free (with watermark) + Pro tier

Tech Stack

Backend: V language | Data: DuckDB | Visualization: Apache ECharts 5 | Web: veb framework

Licensing: RSA-256 signed JWT | Security: SHA-256 tamper detection + machine binding


Built for people who need answers fast. For reports you'll delete. For data that stays local.

Phase 2 Complete: Professional licensing with watermark removal and pro features.

About

A lightweight CLI for generating publication-quality dashboards from CSV, JSON, Parquet, and DuckDB-compatible files. Zero setup. No accounts. No infra. One command. Offline-ready.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages