Desktop · Data Tools

Iris Data Studio

← Back to Applications

Overview

A Flutter desktop CSV editor built for game-development data — items, dialogue tables, stats. It's built around an immutable document model managed with Riverpod, a PlutoGrid spreadsheet view, MySQL bidirectional sync, and an integrated Iris assistant that operates on the open document through tool calls.

The editor is a full spreadsheet: open/import CSV/TSV/TXT, edit cells with a mirrored formula bar, add/remove/duplicate/move/reorder rows and columns, multi-row batch edits via a checkbox column, search & replace with highlighted matches, 50-level undo/redo, and auto-detected column-type validation that red-tints invalid cells. A careful version-bump rule avoids rebuilding the grid (and losing scroll) on plain cell edits.

A visual Query Builder hides non-matching rows AutoFilter-style with type-aware AND/OR conditions, and when connected to MySQL a SQL Query Builder composes SELECT/WHERE/ORDER BY/LIMIT with a live preview and loads results as the document. Connecting auto-pushes the current doc as a table; push/pull/disconnect keep it in sync. The Iris panel streams LLM responses and calls CSV and database tools that execute against the live document.

Video Demo

Iris Data Studio Demo

Tech Stack

FlutterRiverpodPlutoGridNode.jsFastifyWebSocketMySQL

Key Features

  • Open/import/export CSV, TSV, JSON, and SQL INSERT statements
  • Full editing: cells, rows, columns, drag-reorder, sort, 50-level undo/redo
  • Checkbox-driven multi-row batch edit, duplicate, move, and compare
  • Search & replace with highlighted current/other matches
  • Auto-detected column-type validation with invalid-cell tinting
  • Visual Query Builder that filters rows with AND/OR conditions
  • MySQL bidirectional sync plus a visual SQL SELECT builder
  • Iris assistant with CSV and database tool calling over WebSocket