Commerce discovery and recommendations
Local service discovery, where relevance is half semantics and half geography. Semantic search, a collaborative filtering recommender and a notification engine that has to earn its place on someone's lock screen.
The problem
- Sector
- Local commerce
- Retrieval
- Semantic + geographic
- ML
- Collaborative filtering
- Role
- Search, ML, notifications
A perfect semantic match forty kilometres away is a worse result than a decent one on the next street. Local discovery is one of the few search problems where a hard constraint outranks relevance, and treating distance as just another ranking signal produces results people quietly stop trusting.
Underneath sits the harder question of what to show someone who has not searched for anything yet, which is where collaborative filtering and demand signals do the work.
Architecture
Decisions worth defending
Geography constrains, it does not compete
Distance is applied as a filter before relevance scoring rather than blended into it. Otherwise a strong semantic match will eventually outrank a nearby one, and the user learns the results cannot be trusted.
Autocomplete needs a fallback path
Suggestions are the most-hit surface in the product and the least tolerant of latency. When the primary path is slow or empty it degrades to a cheaper source rather than returning nothing, because an empty dropdown reads as a broken app.
Notifications are audited or they are spam
Scheduling, delivery status and per-recipient history are recorded, so frequency can be enforced and failures diagnosed. An unaudited notification engine becomes an uninstall driver within a month.
Stack
Search
- Semantic retrieval
- Geographic filtering
- Autocomplete
- Search analytics
ML
- Collaborative filtering
- Demand tracking
- Popularity models
- Ranking
Messaging
- LLM message generation
- Scheduling engine
- Push delivery
- Broadcast campaigns
Platform
- Python, FastAPI
- Firebase
- Service registry
- Event calendar