I’m looking to add a recommendation engine that delivers the most relevant real-estate listings to every visitor on my Laravel + React (Inertia) marketplace. The goal is clear: increase engagement and relevance of suggested listings for both authenticated and unauthenticated users. Learning Objectives The model must learn and infer preferences from the following data sources: Browsing behavior: Pages viewed, dwell time, and scroll depth. Search activity: Locations, price ranges, and keyword patterns. User engagement: Favorited listings, views, and other explicit interest signals. User profiles (authenticated): Demographic and behavioral attributes stored in existing accounts. Session-based signals (unauthenticated): Short-term interactions tracked via cookies, device fingerprints, or temporary session IDs. (Future iterations may incorporate feedback loops and explicit ratings once a feedback framework is implemented.) Project Scope 1. Data Pipeline Develop ETL jobs to collect, clean, and anonymize interaction data from both logged-in and guest sessions. Implement logic to assign a temporary unique session ID to unauthenticated users to enable cross-page behavioral tracking. Output structured datasets (e.g., Parquet or CSV) optimized for training and incremental updates. Ensure GDPR / privacy compliance and robust anonymization for non-registered users. 2. Recommendation Model Implement a hybrid recommendation system combining: Collaborative filtering for logged-in users with sufficient history. Content- or session-based ranking for unauthenticated users or cold starts. Optimize for CTR and listing diversity, mitigating over-repetition or “filter bubble” effects. Support periodic retraining, incremental updates, and model version control. 3. Service Layer Build a lightweight REST or GraphQL API to serve ranked recommendations asynchronously to the Laravel backend. The API should: Accept both user_id (for authenticated users) and session_id (for guests). Return a ranked array of listing IDs with relevance or confidence scores. Include caching and response time optimization (<300ms). 4. Validation & Evaluation Provide offline metrics (MAP@K, NDCG, precision/recall at K) and propose an A/B testing plan for live rollout. Demonstrate measurable improvement over baseline models (e.g., popularity or recent listings). Deliver Jupyter/Colab notebooks or equivalent reports explaining the evaluation process. 5. Deployment & Integration Handoff Supply a Dockerfile or build script enabling independent deployment of the microservice. Provide an integration guide detailing: API endpoint specs and authentication methods. Expected request/response payloads and rate limits. Retraining and monitoring procedures for production environments. Handling Authenticated vs. Unauthenticated Users User Type Tracking Method Recommendation Strategy Notes Authenticated user_id + event logs Collaborative filtering or hybrid model Uses historical + profile data Unauthenticated session_id (cookie/fingerprint) Session-based content recommendations Uses recent browsing/search patterns Both user types contribute to aggregate behavioral data used for retraining. Helpful Context The main site is already live. This recommendation microservice will run independently, connected later through API calls. Infrastructure includes AWS and GitLab CI/CD, but alternate tooling can be proposed. Next Steps If you’re interested, please provide: Examples of prior recommender system projects (esp. hybrid or session-based). A brief outline of your technical approach for dual-user handling. An estimated timeline and milestone breakdown.