Skip to content

About

The goal of this project is to build an agentic app in 4 hours max from initial commit to last commit!

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Agentic E-commerce Catalog Generator

LLM agent that turns a product image plus a short spec into a publish-ready catalog entry (Markdown + JSON sidecar).

Status: Phase 1 of 5 (synchronous walking skeleton). See the ADRs in docs/architecture-decision-records/ for use-case and UI framework decisions.

What it does today

  • Accepts a product image plus an optional text spec via a Chainlit chat UI.
  • Calls Claude Sonnet with vision to produce a structured product page.
  • Writes output/products/<slug>.md and output/products/<slug>.json.

Future phases will add an async queue, web search enrichment, and batch processing with prompt caching.

Quickstart

Requires Python 3.11+.

# 1. Set up a virtual environment and install
python -m venv .venv
. .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -e .

# 2. Configure your API key
cp .env.example .env          # then edit .env and set ANTHROPIC_API_KEY

# 3. Run
chainlit run app/chainlit_app.py

Open the URL Chainlit prints (default http://localhost:8000). Drop a product image into the chat. Optionally type a short spec ("merino wool, made in Portugal, 250g"). Watch the generated Markdown appear and check output/products/.

Sample data

A sample product is provided in samples/hydronord-bottle/:

  • hydronord-trail-750.jpg — product image
  • specs.json — brand, materials, dimensions

To test: open the Chainlit UI, drag hydronord-trail-750.jpg into the chat, and paste the contents of specs.json as the message text. The generated page will appear in output/products/.

Credentials

You only need an Anthropic API key for Phase 1. Get one at https://console.anthropic.com/settings/keys.

Architecture decisions

Roadmap

  • Phase 1 (Done): synchronous Chainlit + Claude vision, Markdown output.
  • Phase 2: async Redis + RQ queue, Docker Compose, worker service.
  • Phase 3: Tavily web search tool for category/SEO enrichment.
  • Phase 4: batch upload, fan-out per product, aggregated catalog.json, prompt caching for shared context.
  • Phase 5: polish, sample dataset, full README, "what's next".

Original exercise brief

The unmodified recruitment exercise brief is preserved in EXERCISE.md.

About

The goal of this project is to build an agentic app in 4 hours max from initial commit to last commit!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages