GitHub

Your next customer will ask, not browse.

Product facts are stored as discrete attributes and published into structured data and the merchant feed from one source.

PostgreSQLRedisS3StripeResend
admin.yourstore.com/products/linen-shirt
Linen Shirt — Oat82 / 100 citable
Size = S · M · L
3 facts
Material = European flax
1 fact
Care instructions
missing
Country of origin
missing

An assistant cannot quote a paragraph.

“Available in S, M and L, made from European flax” reads as text to a model and as data to nobody. It cannot be compared, filtered, or cited against another product.

Three sizes are three facts.

Each specification is stored as its own value, so an agent answering a shopping question can read them individually.

How a size is stored

One string

"Available in S, M and L" — a sentence a model has to parse and may get wrong.

Three values

Size = S, Size = M, Size = L. Each separately readable, comparable and citable.

Generic by design

Nothing in the code enumerates attribute names, so your categories define their own.

Product facts
Audited

As a sentence

1 blob · not comparable

As attributes

Size=SSize=MSize=LFlaxOat
5 facts · each citable
Score
82
Peers
41
Gaps
3

The page and the feed cannot disagree.

Return policy, availability and price are emitted into the product page markup and the merchant feed from the same rows, so an agent comparing the two finds one answer.

additionalPropertyschema.org/Productmerchant feedllm.txt

It names the gaps, product by product.

Each product is compared with its category peers and the audit lists the attribute keys similar items declare and this one is missing.

Structured attributes88%
Intent tags64%
Recommendation graph71%
Return policy in schema96%
Alt text52%

Drafted by AI, published by a person.

Generate the missing descriptions, alt text and meta across a whole collection at once. Each one lands as a draft with the diff shown.

New season
Sunset Linen Shirt4.8

4 colours · in stock

$128
Everyday Merino Crew4.6

6 colourways · machine washable

$96

Nothing publishes itself.

A draft stays a draft until somebody reads it. Hover one to see what the model wrote.

Drafts waiting for review18 in review
Sunset Linen Shirtdrafted

Woven from European flax, cut relaxed through the body, and washed soft before it ships.

hover to read
Ceramic Pour-Over Setdrafted

Thrown in stoneware with an unglazed foot, sized for two cups and safe in the dishwasher.

hover to read
Canvas Weekenderqueued

Waxed cotton with a leather base, 38 litres, and a strap that survives an airport.

hover to read

Does the AI just start changing things?

No. It proposes an action and waits. The assistant can read every module from one database, but it writes a pending action rather than executing one — a person approves.

Store assistant
your key
What needs shipping today?Write descriptions for the new collectionWhich coupons expire this week?
Ask about orders, stock, customers…

Be in the AI answer.

AI assistants quote product facts. Litestore publishes them and flags the products that are missing any.

How ready your products are

Ready 68%
Product facts listed
88%
Tagged for search
64%
Linked to similar items
31%

Similar products list 3 things this one is missing

WeightCountry of originSustainability

What the AI actually reads

JSON-LD

Material

European linen

Size

S

Size

M

Size

L

Fit

Relaxed

Care

Machine wash 30°

Three sizes are stored as three separate values, not one line of text.

PDP schemaProduct feedReturn policy
How AIO works
0%
Citabilitycatalog average
0%
Attributesproducts with specs
0%
Alt textimages described
3Signals scored

Attributes, intent, recommendations

0Hard-coded keys

Your categories define their own

1Source of truth

Markup and feed agree

MITLicence

The audit ships with the code

Missing attributes land in the same queue as everything else that needs doing.

+

AI drafts, a person publishes

Generated copy is saved as a draft and shown as a diff before it publishes.

Options and variants

Define options once and the variants are generated, so size and colour stay in sync.

Reporting from your own tables

Revenue and conversion are computed from the rows that fulfilled the orders.

Be the answer an assistant gives.

The audit and the structured output are part of the app from the first clone.

MIT licensedschema.orgYour own provider key