Vivek.portfolio

Recommendation Systems / Full-Stack

Context-Aware Cross-Domain Recommendation System

The BFIT recommendation system implements practical cross-domain recommendation flows without claiming a neural recommender. It connects dashboard summaries, search, food recommendations, content recommendations, feedback APIs, fallback data, validation scripts, rate limiting, and safe error handling.

Working local full-stack prototype with optional MongoDB and local JSON fallback storage.

JavaScript React Node.js Express MongoDB Mongoose Vite REST APIs

Architecture

System view

Cross-domain recommendation system flow User context connects food, fitness, and media domains through candidate generation, scoring, recommendations, and feedback-driven ranking adjustment. User context goals, history, signals Connected domains Food Fitness Media Candidates fallback-aware Scoring heuristic/adaptive Recommendation explainable output Feedback adjusts future ranking
Conceptual diagram linking food, fitness, and media recommendation domains through feedback-aware ranking. Source: venkatavivekp-debug/recommendation-system-model

Evidence

Measured outcomes and constraints

Project metrics are kept close to their original context and paired with limitations where needed.

Recommendation domains

3

Food, fitness, and media are connected in the public README.

GitHub

Feedback actions

5

Selected, save, helpful, ignored, and not interested are documented by the repo/spec.

GitHub

Storage modes

MongoDB or local JSON

The README documents local file storage when MongoDB is not configured.

GitHub

Workflow

How the system is organized

The workflow shows the main technical pieces and how they connect.

  1. User context

    Goal, activity, location/search intent, history, and lightweight cross-domain signals.

  2. Candidate generation

    Food, restaurant/search, fitness, and media candidates are gathered through modular services.

  3. Scoring

    Rule-based and heuristic scoring adjusts rankings with interaction history.

  4. Recommendation

    The API returns ranked, explainable outputs for the frontend dashboard and recommendation views.

  5. Feedback loop

    Selected, saved, helpful, ignored, and not-interested events modify future food recommendations.

Problem

User decisions around nutrition, activity, and media can influence each other, but many simple recommendation systems treat each domain in isolation.

The project explores a practical, explainable cross-domain system without overstating it as a trained deep-neural recommender.

Context / Data

The system works across food, fitness, and media domains, with local/fallback data, optional MongoDB persistence, and stored feedback history.

The repository is explicitly framed as a lightweight adaptive logic system rather than a heavy ML training pipeline.

What I Built

Built a Node.js/Express API for dashboard summaries, search, recommendations, feedback ingestion, validation, and fallback behavior.

Built a React frontend for recommendation views, dashboard feedback, and cross-domain user workflows.

Used small scoring and prediction helpers as heuristics inspired by recommender-systems literature, not as complete implementations of neural or bandit research models.

Architecture

Backend modules separate controllers, services, models, routes, middleware, utilities, validation, and scripts.

The frontend is a Vite/React application that calls recommendation and feedback APIs.

MongoDB is supported through Mongoose, while local JSON storage provides a reliable fallback when MongoDB is not configured.

Evaluation / Results

The README documents backend API tests covering dashboard, search, recommendations, feedback, invalid input, malformed JSON, script-like text, oversized text, missing auth, and rate limiting.

Adaptive validation scripts generate validation-user outputs to inspect before-and-after recommendation behavior.

Evaluation is framed around explainability, feedback response, reliability, and fallback behavior rather than benchmarked model accuracy.

Technical Lessons

Recommendation systems need observable feedback loops and reliable failure behavior, not only ranking formulas.

Cross-domain mappings are easier to trust when explanations, validation, safe errors, and fallback data are first-class system behaviors.

Being precise about model class strengthens credibility: this is a practical heuristic recommender, not a neural recommender.

Limitations

The repository explicitly states that it is not a neural recommender or full research-model training pipeline.

MongoDB is optional, and local file storage is used as a fallback when it is not configured.

The public README notes no automated frontend UI tests.