Data Alchemist is an AI-powered web app to clean, validate, and configure resource allocation data. Upload messy CSV/XLSX files, edit in a modern grid, get instant AI validation, define business rules (visually or in natural language), set prioritization weights, and export ready-to-use data and rules for downstream allocation tools.
- Upload CSV or XLSX files for Clients, Workers, and Tasks
- AI-powered header mapping (handles messy or misnamed columns)
- Editable data grid for each entity (inline editing, fast, responsive)
- Real-time validation on upload and edit (missing columns, duplicates, malformed lists, out-of-range values, etc.)
- Error highlighting in the grid and a modal summary panel
- Visual RuleBuilder for all core rule types (co-run, slot-restriction, load-limit, phase-window, pattern-match, precedence override)
- Natural language to rules: type rules in plain English, AI parses and adds them
- List, edit, and remove rules in a modern UI
- Prioritization & Weights panel: sliders, drag-and-drop, and preset profiles
- Export cleaned data (CSV/XLSX) and rules+weights (rules.json) with one click
- Natural language data modification: type commands like "Change all tasks with duration > 2 to duration 2" and the AI will interpret and apply the change to the data grid
- AI rule recommendations: the system analyzes your data and suggests rules you might want to add (e.g., "Tasks T12 and T14 always run together. Add a Co-run rule?")
- AI-based error correction and suggestions: when errors are found, the AI suggests specific fixes (e.g., "Worker W3 is overloaded. Reduce MaxLoadPerPhase or add more workers."). Users can apply fixes with a click
- AI-based validator for broader, context-aware checks: beyond core validations, the AI runs context-aware checks and flags subtle or complex issues (e.g., circular dependencies, skill mismatches, phase-slot saturation)
- Advanced natural language data retrieval/modification: filter or update data using natural language queries (e.g., "Show all workers available in phase 2" or "Increase PriorityLevel for all clients in GroupA")
- Next.js (App Router, TypeScript)
- shadcn/ui (React UI components)
- Tailwind CSS (modern styling)
- OpenAI API (AI features)
- PapaParse, SheetJS (CSV/XLSX parsing)
- FileSaver.js (downloads)
- Clone the repo and install dependencies:
git clone https://github.com/log1-codes/data-alchemist.git cd data-alchemist npm install - Install shadcn/ui (if not already):
npx shadcn-ui@latest init
- Add your OpenAI API key to
.env.local:OPENAI_API_KEY=sk-...your-key...
- Start the dev server:
npm run dev
- Open http://localhost:3000 in your browser.
- Upload Data: Drag and drop or select your CSV/XLSX files for Clients, Workers, and Tasks.
- Edit & Validate: Click any cell to edit. Errors are highlighted and summarized in a modal.
- Define Rules: Use the visual builder or type rules in plain English. Remove or edit rules as needed.
- Set Priorities: Adjust sliders or use presets to set what matters most for allocation.
- Export: Download cleaned data and rules.json for downstream tools.
Pull requests and suggestions are welcome! Please open an issue or PR for any improvements, bug fixes, or new features.
MIT