Notes from production
Mostly about the gap between what a user types and what a database can answer. Search intent, recommendation scoring, and the event-driven plumbing that has to stay correct when the same person holds two roles at once.
Which number is the price?
A retailer types "kids shoes 7 number 400gm 500 rs tak". There are four numbers in that query and exactly one of them is money. Building a query parser for Hindi and Hinglish search, and why I treat the model as a compiler rather than a chatbot.
Read →Four signals, one score
A pure embedding recommender gives you beautiful, useless results: ten products that are semantically identical to the one already in the cart. Why similarity is the wrong objective on its own, and how blending it with co-occurrence, category and attribute signals fixes it.
Read →Who gets told what
Every notification started as an if next to the code that caused it.
Replacing that with a rules engine, the recipient type that deliberately resolves to
nobody, and a duplicate-message bug that only showed up when one person held two roles.