๐Ÿงช Data Alchemist โ€“ Smart Data Validator & Rule Engine

๐Ÿš€ Built with Next.js 15 + AG Grid + Zod + Tailwind
๐Ÿ”ง Role: AI/ML Product Engineer | ๐Ÿง  Bonus: Natural-Language Rule Builder (No API Key Needed)


๐Ÿ” Overview

Data Alchemist is a no-code web app to clean, validate, and rule-check CSV/XLSX datasets.
It lets users:

  • Upload datasets
  • Highlight and remove invalid rows
  • Define rules (manually or with text input)
  • Prioritize rules
  • Export clean data + rule logic as .csv, .json, or .zip

๐Ÿ’ก Designed as a technical showcase for SDE, Data, or AI/ML engineering roles.


๐ŸŽฏ Features

โœ… Upload .csv / .xlsx files
โœ… Schema-based row validation using Zod
โœ… Visual data grid using AG Grid v34
โœ… Manual rule builder with:

  • Rule types: no-collab, must-follow, skill-match
  • Weight slider (1โ€“10)

โœ… Natural Language Rule Generator

  • Example: John must follow Alice with priority 8
  • Generates structured JSON rule without OpenAI

โœ… Exports:

  • ๐Ÿงผ clean.csv โ€“ valid rows only
  • ๐Ÿ“‹ rules.json โ€“ all rules with priorities
  • ๐Ÿ“ฆ bundle.zip โ€“ includes both above

โœ… Legacy AG Grid theming (no Quartz conflict)
โœ… Fully offline โ€“ no .env or API key needed


๐Ÿง  NLP Rule Generator Example

Input:

Alice must follow Bob with priority 9
src/
โ”œโ”€โ”€ app/                 # Main page.tsx + layout
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ FileUploader.tsx  # Upload + parse + validate
โ”‚   โ”œโ”€โ”€ GridView.tsx      # AG Grid setup
โ”‚   โ””โ”€โ”€ RuleBuilder.tsx   # Manual + NLP rule UI
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ schema.ts         # Zod schema for row validation
โ”‚   โ””โ”€โ”€ download.ts       # CSV, JSON, and ZIP exporters
โ””โ”€โ”€ pages/api/
    โ””โ”€โ”€ nl-rule.ts        # Fake NLP parser (no OpenAI needed)
# 1. Clone
git clone https://github.com/<your-username>/data-alchemist.git
cd data-alchemist

# 2. Install dependencies
npm install

# 3. Start dev server
npm run dev
# Open http://localhost:3000

---

### โœ… What To Do Now:

1. Replace `README.md` in your project root with the file above  
2. Commit changes:

```bash
git add README.md
git commit -m "๐Ÿ“ Updated README with full feature list + role info"
git push
Share this project:

Updates