Hola‑Dermat: How Qdrant’s ACORN, Perplexity and CrewAI Power Agentic, Zero‑Result‑Proof Personalized Skincare
Table of Contents
- Key Highlights
- Introduction
- Why skincare recommendation systems fail
- Conversational intake and the LLM advantage
- Vector databases and semantic search: capturing meaning, not just keywords
- ACORN: avoiding zero results with intelligent filter relaxation
- Hybrid search: combining semantic breadth with exact precision
- Real‑time context with Perplexity: weather, availability, and trend signals
- Multi‑collection modeling: separating products from user history
- CrewAI: orchestrating tools and decision logic
- Putting it all together: end‑to‑end example
- Interface and interaction design
- Operational considerations and scalability
- Quality, safety, and trust
- Limitations and trade‑offs
- Practical steps to build a similar system
- Production impact and business value
- Future directions and broader applicability
- FAQ
Key Highlights
- Hola‑Dermat combines LLM-driven conversational intake, Qdrant vector search with the ACORN algorithm, Perplexity web retrieval, and CrewAI orchestration to deliver personalized skincare regimens while avoiding the common “zero results” trap.
- The system uses semantic + keyword hybrid search, multi‑collection indexing (products + user history), and dynamic product discovery to stay current with regional availability and environmental conditions.
Introduction
Finding a skincare routine that reliably works for an individual requires more than matching ingredients to skin type. It demands understanding personal history, local environment, product availability, and evolving product formulations. Traditional recommendation engines break down when users supply highly specific constraints: filters compound and eventually return nothing. Hola‑Dermat addresses that failure mode by combining modern building blocks—large language models, vector databases, web retrieval, and agentic orchestration—into a single, production‑grade assistant that crafts morning and evening regimens tailored to each user.
This article examines how Hola‑Dermat solves real problems in personalization and search. It explains the underlying architecture (Qdrant + ACORN, hybrid search, Perplexity, CrewAI), illustrates how the system handles edge cases, and assesses production implications, trade‑offs, and operational considerations. Practical examples show how the assistant adapts to different users and environments. The goal is to offer a clear, implementable blueprint for teams building personalized recommendation systems that must scale beyond brittle filters.
Why skincare recommendation systems fail
Search and recommendation systems typically rely on one of two approaches: rule‑based filtering or collaborative/product similarity. Both have limitations for skincare.
- Rule‑based filters use strict AND logic. A user who needs a hydrating serum, available in India, under $50, and containing hyaluronic acid may end up with zero matches if no product satisfies every constraint. That frustration kills engagement.
- Collaborative and popularity‑based recommendations emphasize what’s widely used, not what’s appropriate for a specific skin condition, microclimate, or history of reactions. They can repeat products a user already disliked.
Real user scenarios highlight the problem. Consider a software engineer in Hyderabad with combination‑dry, slightly acne‑prone skin who spends 18 hours in front of screens. The ideal regimen must account for low sun exposure, high screen time (blue light concerns), local humidity, and products available in local markets. Conventional systems either deliver irrelevant global bestsellers or nothing at all.
The zero results problem is particularly damaging. It signals a system that cannot reconcile nuanced human needs with messy, incomplete product catalogs. Solving it requires two capabilities: semantic understanding of user intent and flexible query execution that tolerates partial matches while preserving relevance.
Conversational intake and the LLM advantage
Rigid forms deter users. Hola‑Dermat replaces multi‑page questionnaires with a natural conversation. A single user message—describing skin type, location, occupation, and symptoms—contains a wealth of structured information. An LLM (in this implementation, Claude Sonnet 4.5) extracts attributes such as skin type, region, screen time, and current product issues.
Why the conversational layer matters:
- It reduces friction. Users describe problems in plain language, producing richer profiles than checkbox forms.
- It captures context. Occupation, routine, and symptoms shape product choice in ways that fixed taxonomies miss.
- It enables clarifying interactions. The assistant asks targeted follow‑ups only when needed, preserving user attention and making recommendations feel tailored rather than templated.
Practical example: A user says “my face wash dries me out but I have breakouts; I work nights in Hyderabad and sit by screens all day.” The LLM pulls out dryness, acne-prone concerns, night shifts (circadian impact), regional climate, and screen exposure—then integrates those attributes into downstream search and filtering.
LLMs provide two other benefits in this flow. First, they help translate natural user descriptions into search queries that reflect product semantics—“hydrates without heaviness” becomes concepts like hyaluronic acid, glycerin, lightweight emollients, and non‑comedogenic formulations. Second, they help craft user‑facing explanations, telling the person why each product fits and how to layer actives safely.
Vector databases and semantic search: capturing meaning, not just keywords
Human language is imprecise. A user who asks for “something light for dry, sensitive skin that helps with dark spots” expects results that include serums containing niacinamide, azelaic acid, or low‑concentration vitamin C—ingredients that address hyperpigmentation without irritating sensitive skin.
Vector databases solve this by converting text into embeddings: high‑dimensional vectors that capture semantic relationships. In this system, product metadata and descriptive text are combined and turned into embeddings; queries are converted the same way. The search then retrieves items close in vector space, surfacing products that align by meaning rather than exact tokens.
Benefits of this approach:
- It handles synonyms and related concepts: “moisturizing” and “hydrating” cluster together.
- It surfaces substitutes: peptides or ceramides can be returned when hyaluronic acid is unavailable but the effect is similar.
- It supports fuzzy, human‑centric queries that traditional keyword indexing misses.
Hola‑Dermat uses Qdrant, an open‑source vector database optimized for production workloads. Product records include name, brand, description, usage (AM/PM/both), ingredient lists (stored as arrays), skin type compatibility tags, regions where sold, and textual concatenation for hybrid search. Embeddings are generally 384 dimensions (common with sentence‑transformer models), and the product text is designed to be maximally searchable.
ACORN: avoiding zero results with intelligent filter relaxation
Vector search handles the “meaning” problem. Filters reintroduce fragility. The standard execution of multiple filters—skin type AND region AND ingredient AND price—frequently produces empty result sets.
Qdrant’s ACORN algorithm (Algorithm for Complex OR‑query Navigation) addresses this by making filter logic flexible. Instead of rigidly demanding all conditions, ACORN understands relationships among constraints and relaxes non‑critical ones when necessary to return useful results.
How ACORN works in practice:
- It recognizes “should” vs “must” semantics. A product available in either India OR neighboring regions can satisfy availability requirements.
- It prioritizes essential constraints (e.g., skin safety for allergies) and relaxes softer ones (e.g., exact price band) when no exact match exists.
- It still maintains relevance by combining relaxed filtering with vector similarity scoring, so results are both semantically meaningful and aligned with user priorities.
Example flow:
- User requests: combination‑dry, available in India, contains hyaluronic acid, AM use, under $50.
- The system first attempts strict filtering; if zero results, ACORN may relax the price constraint to return items slightly above budget or swap hyaluronic acid for alternative humectants with a note to the user.
- Returned products include transparent rationale about which constraints were relaxed and why.
This approach reduces abandonment by eliminating dead ends while preserving user trust through clear explanations.
Hybrid search: combining semantic breadth with exact precision
Semantic search is powerful, but certain queries need exact matches—brand names, specific SPF numbers, or ingredient warnings. Hybrid search marries vector retrieval with keyword/text search so the system can satisfy both intents.
Implementation pattern:
- Perform a semantic (vector) search to fetch products by meaning.
- Run a keyword/text search to capture exact matches and brand queries.
- Combine and deduplicate results, re‑ranking using a hybrid scoring scheme that weights semantic similarity and exact token matches.
Use case distinctions:
- A user saying “La Roche‑Posay SPF 50” expects a precise product; keyword search ensures that appears.
- A user asking for “non‑comedogenic hydrating serum” benefits from semantic search to surface suitable formulations that may not contain exact keywords but meet the intent.
Real symptom: users sometimes search for both brand trust and functional need. Hybrid search ensures neither angle is ignored.
Real‑time context with Perplexity: weather, availability, and trend signals
Product recommendations are time and place sensitive. UV exposure, humidity, and air quality influence whether a user needs stronger SPF, richer moisturizers, or barrier‑repair formulations. Product availability fluctuates by region and vendor; new launches or stockouts change the feasible set of options.
Perplexity is used to bring live web intelligence into Hola‑Dermat. It serves three purposes:
- Environmental data: current temperature, UV index, AQI, and humidity help shape regimen emphasis—more hydration in low humidity, stronger sun protection in high UV.
- Regional product discovery: if the curated product catalog lacks local items, Perplexity searches the web for products available in the user’s region and extracts structured attributes (name, brand, ingredients, price, seller).
- Trend and review signals: recent reviews, reformulations, and discontinuations inform recommendation freshness.
Dynamic discovery flow:
- If Qdrant returns insufficient items, CrewAI asks Perplexity to research local vendors.
- Discovered products are normalized, embedded, and upserted into Qdrant to enrich the catalog.
- The system can notify users that certain suggestions are newly discovered and include source/context (e.g., “Available on Myntra — 4.3★ based on 1,200 reviews”).
This design creates a self‑improving loop: missing items discovered on the web become part of the local database, preventing repeated zero results for subsequent users.
Multi‑collection modeling: separating products from user history
Scalability and privacy require separation of concerns. Hola‑Dermat maintains at least two collections in Qdrant:
- Products collection: product embeddings and metadata for search and retrieval.
- History collection: per‑user interaction vectors capturing recommendations, feedback, ratings, and outcomes.
Reasons for separation:
- Performance: product search needs different index parameters and query patterns than history retrieval. Smaller, focused collections respond faster.
- Data lifecycle: product records are broadly persistent; user histories need retention policies, anonymization, or deletion capabilities for privacy compliance.
- Personalization: embedding user history allows semantic queries against past outcomes. The system answers questions like “what worked for this user before?” by searching their history embeddings.
Usage pattern:
- Before recommending, the agent queries the history collection for previous attempts, intolerances, and ratings.
- Results influence candidate selection: avoid products a user flagged as causing irritation; prefer items similar to past successes.
This combination yields truly incremental personalization. Over time, recommendations converge toward what empirically helps each user, not just what looks suitable on paper.
CrewAI: orchestrating tools and decision logic
Putting the pieces together requires orchestration. CrewAI plays the role of the agent manager, deciding when and how to use each tool (Perplexity, Qdrant product search, history queries, embedding generation) and managing the decision tree that leads to a final regimen.
Key agent responsibilities:
- Task decomposition: break the high‑level goal (“build morning and night regimens”) into subtasks—history check, environment research, product search, ranking, explanation.
- Tool selection: choose Perplexity for fresh web searches and Qdrant for curated catalog queries.
- Autonomous decision making: determine which constraints are essential and which can be relaxed, and when to add newfound products to the database.
- Learning loop: use user feedback to update history collection and refine future decisions.
CrewAI enables the agentic workflow to run with minimal orchestration code. The agent operates like a domain expert that consults specialized tools. The internal backstory provides the agent with domain constraints and safety guards: avoid recommending known allergens, do not mix incompatible active ingredients in the same regimen, and flag potential interactions with topical retinoids.
Putting it all together: end‑to‑end example
Walkthrough for the Hyderabad software engineer:
- Conversational input extracts: combination‑dry, acne‑prone, Hyderabad, high screen time, current wash causing dryness.
- History query: user has tried foaming cleansers and retinol once; found them too harsh.
- Perplexity weather query: low humidity, moderate UV index, AQI elevated some days.
- Product search (Qdrant with ACORN + hybrid search):
- Primary search for hydrating, non‑comedogenic serums available in India.
- If strict filters yield zero, ACORN relaxes price constraint and substitutes similar humectants if hyaluronic acid products are scarce.
- Ranking: combine vector similarity score, recent review signals from Perplexity, price proximity, and past user reactions.
- Output: morning regimen with gentle hydrating cleanser, lightweight hyaluronic serum, antioxidant/niacinamide for dark spots and barrier support, and SPF 50 recommendation. Night regimen suggests a gentle non‑foaming cleanser, targeted acne treatment, and a barrier‑repair moisturizer—plus warnings about mixing certain actives and instructions to patch test.
- History update: the recommendation and rationale are stored with a timestamp and initial user rating placeholder.
The user receives a concise regimen with clear reasons for product choices, and the system logs everything to learn from feedback.
Interface and interaction design
A conversational Streamlit interface provides a clean, interactive front end. Important UX features:
- Progressive profile building: the system only asks for missing critical details, avoiding overwhelming forms.
- Background processing: long retrievals and web searches run asynchronously; the user sees a succinct result when ready.
- Transparent constraint relaxation: when ACORN relaxes filters, the assistant explicitly notes which preferences were softened and asks whether the user prioritizes budget, ingredient, or region over the others.
- Actionable recommendations: each product entry includes why it was chosen, how to layer it, frequency, and when to expect results.
Designing trust into the UI is critical. Users must feel the assistant is making deliberate tradeoffs rather than guessing.
Operational considerations and scalability
Hola‑Dermat’s architecture targets production realities.
Indexing and query performance:
- Vector indexes require tuning for M and ef_construct (HNSW) and batching for efficient upserts.
- ACORN’s intelligent filtering introduces complexity but reduces user churn—worth the extra engineering.
Scaling patterns:
- Separate collections scale differently. Products may reach millions of points; history collections grow with users and require retention and archiving strategies.
- Hybrid search requires balancing semantic retrieval latency with keyword scanning. Caching common queries and precomputed embeddings helps.
Monitoring and metrics:
- Key metrics: zero‑result rate, click‑through rate to product pages, conversion (purchase) rate, reengagement, and user‑reported efficacy.
- A/B testing of constraint relaxation policies helps tune how aggressively ACORN should relax filters.
- Observability: maintain explainability logs indicating which constraints were relaxed and which tools executed.
Cost considerations:
- Embedding generation and LLM calls drive costs. Optimize by caching embeddings for static content (products), batching user history embeddings, and gating LLM calls—use the LLM for parsing and explanation rather than raw search.
Security and privacy:
- Treat user history as protected data. Apply encryption at rest, access controls, and allow user deletion requests.
- Consider on‑device or private model hosting for sensitive markets and regulatory compliance.
Quality, safety, and trust
Recommendation systems can harm as well as help when they miss safety constraints. Hola‑Dermat builds several guardrails:
Ingredient safety:
- Flag known irritants and allergens based on user‑provided intolerance or past feedback.
- Avoid recommending potentially harmful combinations (e.g., high‑concentration retinoids with certain acids) without explicit guidance.
Source quality:
- Perplexity harvests information from the web; the agent evaluates source credibility and favors vendor pages, manufacturer info, and well‑rated retailers over low‑quality forums.
- When data is uncertain, the assistant communicates confidence levels and suggests patch testing or dermatologist consultation.
Bias and inclusivity:
- Ensure product catalogs include regional brands and a diverse set of skin types and tones.
- Avoid training signals that prioritize high‑margin brands over suitability; maintain transparency about sponsored placements if present.
Auditability:
- Store decision logs: why a product was recommended, what constraints were relaxed, and which tools were used. Logs permit post‑hoc audits and debugging.
Limitations and trade‑offs
No system is perfect. Key limitations to acknowledge:
Data quality:
- Product metadata scraped from the web may be incomplete or inaccurate. Ingredient lists can be inconsistent across sources.
- Embeddings depend on the quality of textual descriptions. Sparse descriptions yield weaker semantic matches.
Real‑world ingredient nuance:
- Ingredient lists alone don’t capture formulation concentration or pH, which can determine efficacy and tolerance. The system should indicate uncertainty when concentration is unknown.
Regulatory constraints:
- Medical claims and dermatological advice carry legal risk. The assistant should avoid diagnosing or prescribing; instead, it should recommend evidence‑backed product options and advise professional consultation for severe issues.
Latency:
- Real‑time Perplexity searches increase latency. Use staged responses: give an initial recommendation from the catalog and update it when live search completes.
User expectations:
- Users may treat the assistant as a medical authority. Clear disclaimers and guidance to consult dermatologists for persistent conditions are necessary.
Practical steps to build a similar system
Teams considering a Hola‑Dermat–style build should follow a pragmatic roadmap:
- Collect structured product data: name, brand, ingredients (as lists), usage, skin compatibility, regions, price band, and descriptive text.
- Choose an embedding model and vector DB: start with 384‑dim embeddings and Qdrant for production features like ACORN.
- Build a conversational intake module with an LLM to extract structured attributes and clarify missing pieces.
- Implement hybrid retrieval: semantic vector search plus keyword text search for exact matches.
- Integrate a web retrieval tool (like Perplexity) for fallback discovery, with robust source validation.
- Design a multi‑collection schema: products vs history, with clear retention policies for user data.
- Add agentic orchestration (CrewAI or similar) to coordinate tool usage and handle filter relaxation logic.
- Create clear UX patterns for transparency (show constraints relaxed, why products were chosen).
- Instrument metrics: zero‑result rate, engagement, conversions, post‑recommendation feedback.
- Iterate with user feedback and A/B tests on relaxation policies and ranking heuristics.
Start lean: a small curated catalog and conservative ACORN policies can validate the approach before scaling to dynamic discovery and full agent autonomy.
Production impact and business value
Systems that combine semantic understanding, intelligent filtering, real‑time context, and agent orchestration offer measurable business advantages:
- Reduced zero‑result pages leads directly to higher engagement and fewer abandoned sessions.
- Better personalization fosters long‑term retention and repeat usage.
- Dynamic discovery expands the product set in local markets without manual curation.
- History‑driven personalization increases conversion by avoiding poor matches and surfacing familiar successes.
Operationally, the architecture supports growth: Qdrant’s ACORN and multi‑collection design scale to large product catalogs and huge user histories without reworking core logic.
Future directions and broader applicability
The patterns behind Hola‑Dermat extend beyond skincare. Any domain where personalization depends on complex constraints—nutrition and meal planning, prescription assistive recommendations, fashion with sizing and regional availability, or travel planning—benefits from this architecture.
Potential extensions:
- Image-based skin analysis integrated with the conversational profile for more objective baseline skin conditions.
- Cross‑user learning that clusters users into cohorts for faster cold‑start recommendations while preserving privacy.
- Integration with e‑commerce checkout to measure downstream conversion and close the feedback loop.
Agentic AI will increasingly act as a conductor, coordinating specialized tools and live sources to deliver personalized, contextual outcomes. The technical challenge shifts from building bigger models to designing smarter systems that combine models and indexed knowledge with robust decision policies.
FAQ
Q: What makes Hola‑Dermat different from other skincare recommendation tools? A: Hola‑Dermat couples conversational LLM intake with semantic vector search, ACORN‑based flexible filtering, live web discovery, and agentic orchestration. This combination prevents zero‑result dead ends, adapts to regional availability, and personalizes recommendations using a user’s history and environmental data.
Q: How does ACORN reduce zero results without compromising relevance? A: ACORN understands filter relationships and can relax non‑essential constraints when strict matches are missing. It maintains relevance by combining relaxed filtering with vector similarity scoring, ensuring results still semantically match user intent while avoiding empty result sets.
Q: How does Perplexity improve recommendations? A: Perplexity supplies up‑to‑date environmental metrics (UV, AQI, humidity), real‑time product availability, and trend/review signals. When local products aren’t in the catalog, Perplexity finds candidates that the agent can validate and add to the database.
Q: Is user data private and secure? A: The architecture separates product and user history collections to support tailored retention and privacy controls. Production deployments should implement encryption at rest, strict access controls, logging of access, and user controls for deletion and export to meet regulatory and user expectations.
Q: Can the system recommend prescription products or substitute medical advice? A: No. The system recommends over‑the‑counter products and regimen guidance. It should include disclaimers and advise consulting a dermatologist for persistent, severe, or medically ambiguous conditions.
Q: How does the system handle ingredient concentrations and formulation differences? A: Ingredient lists do not capture concentration or pH. The system notes these limitations and flags recommendations where concentration is unknown. For critical active decisions, it encourages professional consultation or suggests conservative usage.
Q: What operational metrics should teams track? A: Track zero‑result rate, session completion, conversion to purchase, retention, user feedback/rating of regimen efficacy, and time to first recommendation. Also monitor system metrics like query latency, embedding generation costs, and ACORN relaxation frequency.
Q: How does the assistant explain trade‑offs when filters are relaxed? A: The agent explicitly lists which constraints were relaxed (e.g., “No results met all criteria; showing products slightly above your budget and similar humectants to hyaluronic acid”) and asks whether the user prefers to prioritize budget, ingredient, or availability.
Q: Can Hola‑Dermat be extended to other regions and languages? A: Yes. Key prerequisites are localized product data, embeddings and models that handle target languages, and Perplexity/web retrieval tuned to local sources. ACORN and CrewAI logic adapt to different regional catalogs and policies.
Q: Where can I start building a similar system? A: Begin with a clean product schema (ingredients as lists, region availability, usage, descriptive text), adopt a vector DB like Qdrant, set up LLM‑based parsing to extract user attributes, and implement a hybrid semantic/keyword retrieval pipeline. Gradually add web retrieval for discovery and agent orchestration for automated workflows.
If you want help designing the data model, drafting agent tasks, or planning a rollout strategy for a production system, I can provide a step‑by‑step implementation plan tailored to your engineering stack and business constraints.
