Back to .md Directory

FitAI — Data Guidelines

Defines a strict JSON schema and field rules for product data used by an AI outfit recommender, ensuring every record is complete and consistent.

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

What this file does

Defines a strict JSON schema and field rules for product data used by an AI outfit recommender, ensuring every record is complete and consistent.

When to use it

  • You are building a product catalog for an AI styling or fashion app
  • You need a repeatable data format for mock product data in development
  • You want to enforce field-level validation rules across a team
  • You are generating training data for a recommendation model

Assumes this stack

JSON

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.

What's inside

One JSON schema, 14 field rules, 4 data rules, 5 pre-add questions, and a file path

Change this for your project

  • Replace server/data/products.json with your own data directory
  • Replace mock store URLs like https://zara.com with real product links
  • Replace Pollinations AI with your image generation service
  • Replace the approved color list with your own palette

Where it goes

A prompt collection. Copy the individual prompts you need rather than the whole file.

Worth borrowing

  • Requiring every product to have all fields prevents null-pointer errors in matching logic
  • Using a pre-add checklist ensures new entries maintain data balance and consistency

Related Documents