Selected workOYSTER / CATALOG CLASSIFICATION
MACHINE LEARNING × PRODUCT ENGINEERING

Let the small
model go first.

Oyster recommends skincare products. This classifier assigns categories such as cleansers and moisturizers. A wrong label can remove a useful product from the recommendation search.

MY WORK
End to end: model experiments, evaluation, the research fallback, and Laravel integration.
WHAT CHANGED
A small model handles clear predictions. Uncertain products get bounded research or remain deferred.
CLASSIFY / RESEARCH / EVALUATE

Decide when the model can act.

A category prediction and a catalog update are different steps. A score threshold decides which predictions can proceed automatically.

SIX CATALOG RECORDS

Where would you draw the line?

Fictional products & scores
0.60
Accept moreDefer more
3 accept3 defer

Select a record to inspect its decision.

INSPECTING 04Everyday comfort balmTop category: Moisturizers
THE BOUNDARY0.57 < 0.60Keep the guess. Defer the decision.
Research can examine this record next. A guess alone does not update the catalog.

The line controls which rows act, not how accurate the model becomes. These scores illustrate the rule; they are not measured predictions.

I compared text-embedding approaches with a classifier based on word and character patterns. Logistic regression provided a first pass without running a neural embedding model. Lower-scoring predictions could go to web research.

Accept predictions at or above the threshold. Leave the rest unresolved for the next step.

01 / START WITH THE SMALL MODEL
ONE MORE THING, DOWNSTREAM

Even “defer”
has side effects.

A classification attempt should not make an unchanged product look newly edited.

I kept deferred attempts from changing the ordinary update timestamp, avoiding an unnecessary trip through re-embedding.

See how Oyster uses those categories