Transform your spreadsheets into clean, validated data with AI-powered insights and business rules for optimal resource allocation.
- Data Ingestion: Upload CSV/XLSX files for clients, workers, and tasks
- Interactive Data Grids: Edit data inline with real-time validation
- Comprehensive Validation: 12+ validation rules with detailed error reporting
- Business Rules Engine: Create and manage allocation rules
- Prioritization System: Set weights for different allocation criteria
- Export Functionality: Download cleaned data and configuration files
- Natural Language Search: Search data using plain English queries
- AI Rule Generation: Convert natural language to business rules
- Intelligent Data Parsing: AI-enhanced file parsing with header mapping
- Data Correction Suggestions: AI-powered recommendations for data improvements
- Pattern Analysis: Automatic detection of co-occurrence patterns and load distribution
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS, Radix UI components
- Data Processing: XLSX, PapaParse for CSV/Excel handling
- AI Features: Custom AI service with natural language processing
- Validation: Comprehensive validation engine with 12+ rules
- UI Components: Custom data grids, forms, and interactive panels
The application implements comprehensive validation covering:
- Missing Required Columns - Ensures all required fields are present
- Duplicate IDs - Checks for unique ClientID/WorkerID/TaskID
- Malformed Lists - Validates JSON arrays and comma-separated values
- Out-of-Range Values - Ensures PriorityLevel (1-5), Duration β₯ 1
- Broken JSON - Validates AttributesJSON format
- Unknown References - Checks RequestedTaskIDs exist in tasks
- Skill Coverage - Ensures RequiredSkills are available in workers
- Concurrency Feasibility - Validates MaxConcurrent against qualified workers
- Overloaded Workers - Checks AvailableSlots vs MaxLoadPerPhase
- Phase-Slot Saturation - Validates total task durations per phase
- Cross-Reference Integrity - Ensures data consistency across entities
- Data Quality Checks - Identifies potential data issues and improvements
- Search across all data entities using plain English
- Example queries:
- "clients with priority level 5"
- "workers with programming skills"
- "tasks with duration more than 3 phases"
- Convert natural language to business rules
- Example: "Tasks T1 and T2 must run together" β Co-run rule
- Automatic pattern detection and rule suggestions
- AI-enhanced file parsing with header mapping
- Handles incorrectly named columns and rearranged data
- Provides confidence scores and suggestions
- Identifies potential data issues
- Suggests improvements and optimizations
- Provides confidence scores for recommendations
- ClientID: Unique identifier
- ClientName: Client name
- PriorityLevel: 1-5 priority scale
- RequestedTaskIDs: Comma-separated task IDs
- GroupTag: Client grouping (enterprise, startup, small)
- AttributesJSON: Additional metadata in JSON format
- WorkerID: Unique identifier
- WorkerName: Worker name
- Skills: Comma-separated skill tags
- AvailableSlots: JSON array of available phases
- MaxLoadPerPhase: Maximum tasks per phase
- WorkerGroup: Worker grouping (senior, mid, junior)
- QualificationLevel: 1-5 qualification scale
- TaskID: Unique identifier
- TaskName: Task name
- Category: Task category
- Duration: Number of phases required
- RequiredSkills: Comma-separated required skills
- PreferredPhases: JSON array or range of preferred phases
- MaxConcurrent: Maximum parallel workers
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone <repository-url> cd data-alchemist
-
Install dependencies
npm install
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
-
Upload Data
- Upload CSV/XLSX files for clients, workers, and tasks
- Use the sample data files in
sample-data/for testing
-
Validate Data
- Run validation to check for errors and warnings
- Fix issues using the interactive data grids
-
Create Business Rules
- Use the AI assistant for natural language rule creation
- Or manually create rules using the UI
-
Set Priorities
- Adjust allocation weights using the prioritization panel
- Use preset profiles or create custom configurations
-
Export Data
- Download cleaned CSV files and configuration JSON
- Ready for the next stage of resource allocation
data-alchemist/
βββ app/ # Next.js app directory
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Main application page
βββ components/ # React components
β βββ Header.tsx # Application header
β βββ Sidebar.tsx # Navigation sidebar
β βββ UploadArea.tsx # File upload component
β βββ DataGrid.tsx # Interactive data grid
β βββ ValidationPanel.tsx # Validation results
β βββ BusinessRulesPanel.tsx # Business rules management
β βββ PrioritizationPanel.tsx # Priority weights
β βββ AISearchPanel.tsx # Natural language search
β βββ AISuggestionsPanel.tsx # AI recommendations
β βββ ExportPanel.tsx # Data export
βββ lib/ # Core libraries
β βββ types.ts # TypeScript type definitions
β βββ validation.ts # Validation engine
β βββ ai-service.ts # AI features service
β βββ data-processor.ts # Data processing utilities
βββ sample-data/ # Sample data files
β βββ clients.csv # Sample client data
β βββ workers.csv # Sample worker data
β βββ tasks.csv # Sample task data
βββ README.md # This file
- Clean, intuitive interface with dark/light mode support
- Responsive design for desktop and tablet
- Smooth animations and transitions
- Accessible components with proper ARIA labels
- Drag-and-drop file upload
- Inline data editing with validation
- Real-time search and filtering
- Interactive sliders for priority weights
- Toast notifications for user feedback
- Validation status indicators
- Progress bars for weight distribution
- Color-coded error/warning/info messages
- Interactive data grids with sorting and filtering
- Extend the
ValidationEngineclass inlib/validation.ts - Add new validation methods
- Update the validation summary interface
- Enhance the
AIServiceclass inlib/ai-service.ts - Add new natural language processing capabilities
- Implement additional pattern recognition algorithms
- Extend the
BusinessRuleinterface inlib/types.ts - Add new rule types and configurations
- Update the business rules panel component
The application includes sample data files for testing:
- clients.csv: 8 sample clients with various priorities and requirements
- workers.csv: 10 sample workers with different skills and availability
- tasks.csv: 10 sample tasks with varying complexity and requirements
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Next.js and React
- Styled with Tailwind CSS
- Icons from Lucide React
- Data processing with XLSX and PapaParse
Data Alchemist - Transforming spreadsheet chaos into organized, validated, AI-powered resource allocation data.