A browser-based ETL (Extract, Transform, Load) designer powered by DuckDB-WASM. Build data pipelines visually with a step-based editor, preview results in real-time, and export to CSV, Parquet, Excel, JSON, or JSONL — all in your browser, no server required.
Live demo → pyaek.com/data
Build ETL workflows by adding, configuring, and reordering steps visually.
Filter, sort, aggregate, pivot, join, change types, formula columns, and more.
See results instantly as you build your pipeline — no manual refresh needed.
Write custom SQL with syntax highlighting and AI assistance.
Describe what you want in natural language and let AI write the SQL.
Ollama (local), Claude, OpenAI, Gemini, Groq, OpenRouter.
Download results as CSV, Parquet, Excel, JSON, or JSONL.
Link local folders or connect to databases (PostgreSQL, MySQL, SQLite, etc.).
One query can reference another's output for complex workflows.
Install as a desktop app, works offline after initial load.
Easy on the eyes, built for extended use.
| Layer | Technology |
|---|---|
| Framework | React 18 + TypeScript |
| Bundler | Vite 6 |
| Database | DuckDB-WASM (in-browser) |
| State | Zustand 5 |
| Persistence | File System Access API + IndexedDB |
| UI | Hand-built with CSS custom properties |
| AI | Ollama, Claude, OpenAI, Gemini, Groq, OpenRouter |
| PWA | vite-plugin-pwa (Workbox) |
# Install dependencies npm install # Start dev server npm run dev
The app runs at http://localhost:5173 (or the next available port).
npm run build
Output goes to dist/. Serve with any static file server.
ollama pull gemma3:4b), start with OLLAMA_ORIGINS=* ollama servesrc/
main.tsx # App entry point
App.tsx # Root component (layout + modals)
components/
layout/ # App shell (Header, LeftPanel, CenterPanel, etc.)
steps/ # Step config dialogs
modals/ # Modal overlays (AI, Connections, etc.)
icons/ # SVG icon components
steps/ # Step definitions (buildSql per kind)
engine/ # CTE builder, SQL executor, references
store/ # Zustand stores
lib/ # Utilities (DuckDB, AI, export, file access)
types/ # TypeScript type definitions
styles/ # CSS (theme + layout)
Email: hello@pyaek.com
MIT