Back to .md Directory

FitAI — Data Guidelines

Clean. Consistent. Predictable.

May 2, 2026
0 downloads
1 views
ai prompt
View source

FitAI — Data Guidelines

Data Philosophy

Clean. Consistent. Predictable. Every product looks the same. Every field always exists. No surprises in the data.


Product Data Structure

Every product must have ALL of these fields:

{
  "id": "top-001",
  "name": "Black Slim Fit Shirt",
  "category": "tops",
  "subcategory": "shirts",
  "color": "black",
  "colors": ["black"],
  "price": 45.0,
  "currency": "USD",
  "store": "Zara",
  "gender": "women",
  "season": ["spring", "autumn", "winter"],
  "occasion": ["office", "formal", "date-night"],
  "image_prompt": "black slim fit shirt fashion product white background",
  "buy_url": "https://zara.com",
  "in_stock": true,
  "tags": ["minimal", "classic", "versatile"]
}

Field Rules

id

  • Format: category-number (top-001, shoe-012)
  • Always unique
  • Never reuse IDs

name

  • Clear and descriptive
  • Capitalised first letter
  • Maximum 50 characters
  • "Black Wide Leg Trousers"
  • "pants" or "BLACK PANTS V2"

category

Must be exactly one of:

tops, bottoms, shoes, accessories

subcategory

More specific than category:

tops:        t-shirts, shirts, blouses, sweaters,
             hoodies, jackets, coats, blazers
bottoms:     jeans, trousers, skirts, shorts, leggings
shoes:       sneakers, boots, heels, flats, sandals
accessories: bags, belts, hats, scarves, jewellery

color

  • Always lowercase
  • Single primary color
  • Must be one of:
black, white, grey, navy, blue, red, green,
pink, purple, yellow, orange, brown, beige,
khaki, multicolor

price

  • Always a number (not a string)
  • Always in USD for MVP
  • 45.00
  • "$45" or "45"

store

  • Fake store names for MVP
  • Always capitalised
  • Consistent — same store always spelled same way
  • Current mock stores:
Zara, H&M, ASOS, Mango, COS,
Uniqlo, Nike, Adidas, Pull&Bear

gender

Must be exactly one of:

women, men, unisex

season

Array — can have multiple:

spring, summer, autumn, winter

occasion

Array — can have multiple:

casual, formal, office, party,
sport, beach, date-night, wedding

image_prompt

  • Used to generate image via Pollinations AI
  • Descriptive, specific
  • Always ends with: "fashion product white background"
  • "black slim fit shirt fashion product white background"
  • "shirt" or "black shirt photo"

buy_url

  • Fake store homepage URL for MVP
  • Real product URL in future
Zara:     https://zara.com
H&M:      https://hm.com
ASOS:     https://asos.com

tags

  • Array of descriptive words
  • Used for AI matching
  • 3-6 tags per product
  • Lowercase, no spaces (use hyphens)
casual, minimal, oversized, slim-fit,
vintage, streetwear, preppy, bohemian,
classic, trendy, comfortable, elegant

Data Rules

Consistency

  • Every product has every field — no missing fields
  • Same category always spelled the same way
  • Same store always spelled the same way
  • Same color always spelled the same way

Balance

Mock data should have balanced distribution:

  • Equal split across categories
  • Mix of price ranges ($15 - $300)
  • Mix of stores (not all from one store)
  • Mix of genders
  • Mix of occasions and seasons
  • Mix of colors

Image Prompts

Write image prompts that will generate clean product photos:

  • Always include the color
  • Always include the item type
  • Always include "fashion product white background"
  • Add style descriptors (slim fit, oversized, etc)

Adding New Products

Before adding any new product ask:

  1. Does it have ALL required fields?
  2. Is the category exactly right?
  3. Is the color from the approved list?
  4. Is the image prompt descriptive enough?
  5. Does it balance the existing data?

Data Files Location

server/data/
└── products.json    ← all mock products

Never put data logic in data files. Never put code in data files. Data files contain only JSON.

Related Documents