Skip to content

Project: [Reasoning Agents] - 4C Hair Products Agent #143

Description

@kamsiileagu26

Track

Reasoning Agents (Azure AI Foundry)

Project Name

4C Hair Products Agent

GitHub Username

kamsiileagu26

Repository URL

https://github.com/kamsiileagu26/4c-hair-products-agent

Project Description

An ETL agent that automatically scrapes the internet for 4C hair product data, extracts structured information using Microsoft Phi-4-mini-instruct on Azure AI Foundry (Foundry IQ), and stores it in a Supabase database. The agent collected 80+ real product data points across 10 categories including shampoo, conditioner, oil, gel, butter and more. Built with TypeScript and GitHub Copilot.

Demo Video or Screenshots

https://drive.google.com/file/d/1UYsvGQKlWSkIyzU3PVR7WbBsICkgOh6Q/view?usp=sharing

Primary Programming Language

TypeScript/JavaScript

Key Technologies Used

  • Azure AI Foundry (Foundry IQ)
  • Phi-4-mini-instruct (Microsoft)
  • Firecrawl
  • Supabase
  • TypeScript
  • Claude.ai
  • GitHub Copilot

Submission Type

Individual

Team Members

No response

Submission Requirements

  • My project meets the track-specific challenge requirements
  • My repository includes a comprehensive README.md with setup instructions
  • My code does not contain hardcoded API keys or secrets
  • I have included demo materials (video or screenshots)
  • My project is my own work with proper attribution for any third-party code
  • I agree to the Code of Conduct
  • I have read and agree to the Disclaimer
  • My submission does NOT contain any confidential, proprietary, or sensitive information
  • I confirm I have the rights to submit this content and grant the necessary licenses

Quick Setup Summary

  1. Clone the repo: git clone https://github.com/kamsiileagu26/4c-hair-products-agent
  2. Install dependencies: npm install
  3. Add .env file with: FIRECRAWL_API_KEY, AZURE_FOUNDRY_ENDPOINT, AZURE_FOUNDRY_KEY, SUPABASE_URL, SUPABASE_KEY
  4. Run: npx ts-node src/agent.ts

Technical Highlights

  • Built a full Extract, Transform, Load pipeline in TypeScript that runs automatically end to end
  • Integrated Microsoft Phi-4-mini-instruct via Azure AI Foundry to extract structured data from unstructured web content
  • Implemented smart filtering to skip invalid rows — only saves rows with both hair_type and product_name
  • Used timeout handling to skip slow requests and keep the pipeline running
  • Collected 80+ real 4C hair product data points across 10 categories

Challenges & Learnings

  • Getting Azure AI Foundry quota approved for new accounts was a challenge — solved by using Microsoft's Phi-4-mini-instruct model which had available quota
  • Phi-4-reasoning model ignored JSON formatting instructions so switched to Phi-4-mini-instruct which followed instructions reliably
  • Many sites like Reddit, TikTok and Pinterest block scraping — solved with try/catch error handling to skip blocked URLs and keep the pipeline running
  • Learned how to build a full ETL pipeline from scratch using TypeScript and Azure AI Foundry

Contact Information

kamsiileagu36@gmail.com

Country/Region

united Kingdom

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions