# Creating a Movie Recommender

**URL:** <https://community.wandb.ai/t/creating-a-movie-recommender/190>\
**Category:** Show the Community!\
**Created:** [August 24, 2021, 2:47pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190 "2021-08-24T14:47:43Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![edwinq](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@edwinq](https://community.wandb.ai/u/edwinq)\
**Post date:** [October 6, 2021, 7:28pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/21 "2021-10-06T19:28:32Z")

</div>

Hi @ravimashru and team, not sure if I am late to the party but this seems like a very cool project. I’d love to be involved.

---

<div class="post-metadata">

**Author:** ![edwinq](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@edwinq](https://community.wandb.ai/u/edwinq)\
**Post date:** [October 8, 2021, 12:47am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/22 "2021-10-08T00:47:45Z")

</div>

@ravimashru@bhutanisanyam1 Is there another call scheduled?

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 8, 2021, 1:57am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/23 "2021-10-08T01:57:04Z")

</div>

Hey @edwinq… Welcome to the community! 🙂

> [@edwinq](#):
>
> not sure if I am late to the party but this seems like a very cool project. I’d love to be involved.

You’re not late at all. We’ve just had one call so far and then I guess we got busy with other things. We’d love to have you on board.

> [@edwinq](#):
>
> Is there another call scheduled?

I was planning to resume working on this over the weekend, but I haven’t scheduled a call yet.

I’m not sure what timezone you’re in. Does Saturday 2:00 p.m. GMT work for you?

@kurianbenoy-aot @vrc0503 will you be joining as well?

---

<div class="post-metadata">

**Author:** ![edwinq](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@edwinq](https://community.wandb.ai/u/edwinq)\
**Post date:** [October 8, 2021, 4:57pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/24 "2021-10-08T16:57:13Z")

</div>

Sure, I’m in EST so I should be free for about an hour or so then. Still meeting here :

Video call link: [https://meet.google.com/xtv-cgir-kbs](https://meet.google.com/xtv-cgir-kbs) ?

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 9, 2021, 5:43am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/25 "2021-10-09T05:43:33Z")

</div>

Awesome!

I think that’s the old one. I’ve set up a new meeting [here](https://calendar.google.com/event?action=TEMPLATE&tmeid=M3Q4ajRrNG5jNzYxZ2hmOHY0aWswdHM3ajEgbWFzaHJ1LnJhdmlAbQ&tmsrc=mashru.ravi%40gmail.com).

---

<div class="post-metadata">

**Author:** ![hello34](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/hello34/32/289_2.png) [@hello34](https://community.wandb.ai/u/hello34)\
**Post date:** [October 9, 2021, 5:55am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/26 "2021-10-09T05:55:04Z")

</div>

It would also love to join the meeting. I am still excited to work on this project. @ravimashru, I am not able to find the meeting link you shared

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 9, 2021, 6:45am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/27 "2021-10-09T06:45:24Z")

</div>

Oh, that’s strange. That was a link to a calendar invite. If that’s not working then here’s a link to the call directly: [https://meet.google.com/heu-heqi-grq](https://meet.google.com/heu-heqi-grq)

---

<div class="post-metadata">

**Author:** ![bhutanisanyam1](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/bhutanisanyam1/32/18_2.png) [@bhutanisanyam1](https://community.wandb.ai/u/bhutanisanyam1)\
**Post date:** [October 10, 2021, 5:04am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/28 "2021-10-10T05:04:21Z")

</div>

After fighting the errors for over 12 hours, I decided to [submit a bug](https://github.com/NVIDIA-Merlin/NVTabular/issues/1175). 😓

---

<div class="post-metadata">

**Author:** ![edwinq](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@edwinq](https://community.wandb.ai/u/edwinq)\
**Post date:** [October 13, 2021, 1:00am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/29 "2021-10-13T01:00:45Z")

</div>

Apologies, I was not able to attend the last call, are there any action items that we can get started on?

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 13, 2021, 11:12am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/30 "2021-10-13T11:12:17Z")

</div>

No worries @edwinq! Here’s a summary of what we did:

1. We created the [fast-recsys](https://github.com/fast-recsys) org on GitHub to store everything we work on. I can add you to the org as well if you give me your GitHub username.

2. We created skeleton repositories for the UI (using VueJS) and the backend API server (using FastAPI).

3. We also started looking into [NVIDIA Merlin](https://developer.nvidia.com/nvidia-merlin) since it has really cool tools for feature engineering (NVTabular), training (HugeCTR) and even an inference server (Triton). However, we pretty much hit a roadblack with installing the required dependencies when trying out the [examples](https://github.com/NVIDIA-Merlin/Merlin/tree/main/examples) and @bhutanisanyam1 created the GitHub issue he mentions above.

We’re currently experimenting with two approaches:

1. Creating an API server to serve the model trained using fastai.

2. Use the NVIDIA Merlin ecosystem to train and deploy the recommendation system.

Here’s a few things we can start doing:

1. Create a web UI that a user can use to rate movies they have already watched (some inspiration: [Book Recommender: Collaborative Filtering, Shiny | Kaggle](https://www.kaggle.com/philippsp/book-recommender-collaborative-filtering-shiny)) and view recommendations.

2. Convert the contents of [this blog post](https://ravimashru.dev/blog/2021-08-24-movie-recommender-part-2/) into Python files and create REST API endpoints that we can use from the UI.

3. The maintainers of NVTabular have responded to the [issue](https://github.com/NVIDIA-Merlin/NVTabular/issues/1175) that Sanyam created. We can try to set up an environment with the required dependencies like they recommend and try to run the [example notebooks](https://github.com/NVIDIA-Merlin/Merlin/tree/main/examples) (they already have notebooks that use the MovieLens25 dataset that we also plan to use 🙂)

Apart from this, I don’t think we have any other planned/concrete action items. We’re just planning to learn and figuring things out as we go!

We’ve planned to meet again at the same time this Saturday as well ([Calendar invite](https://calendar.google.com/event?action=TEMPLATE&tmeid=M2QyaXQ2dWozMnRodWwxa2hta2w3MmRqNmEgYXY0NWhqbTBxcWNsbHQ5am4xNmFmbDRmamdAZw&tmsrc=av45hjm0qqcllt9jn16afl4fjg%40group.calendar.google.com)). We’d love to see you there if you can make it. 🙂

---

<div class="post-metadata">

**Author:** ![edwinq](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@edwinq](https://community.wandb.ai/u/edwinq)\
**Post date:** [October 13, 2021, 5:20pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/31 "2021-10-13T17:20:23Z")

</div>

> [@ravimashru](#):
>
> ned to meet again at the same time t

that sounds awesome @ravimashru . My github username is halloffame0793, that would be great if you could add me to the org. And yes I am planning on attending on Saturday.

---

<div class="post-metadata">

**Author:** ![talha\_darrxscale](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/talha_darrxscale/32/364_2.png) [@talha\_darrxscale](https://community.wandb.ai/u/talha_darrxscale)\
**Post date:** [October 13, 2021, 5:36pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/32 "2021-10-13T17:36:23Z")

</div>

hey @ravimashru, I’m developing a Fashion Recommender System, I have created object detection models using yolov4, done image classification using FastiAI, I don’t know how to make a web app and create an API of it. i would love to join , it is my need though, kindly add me to your project.i want to learn.

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 14, 2021, 3:21am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/33 "2021-10-14T03:21:53Z")

</div>

Hey @talha_darrxscale… welcome the community!

I just read [your project description](https://community.wandb.ai/t/creating-a-fashion-recommender-system/965) and it looks very interesting! I see you plan to use VueJS for your UI and Django for your backend so there is some similarity there.

Please feel free to join us in our next call ([Calendar invite](https://calendar.google.com/event?action=TEMPLATE&tmeid=M2QyaXQ2dWozMnRodWwxa2hta2w3MmRqNmEgYXY0NWhqbTBxcWNsbHQ5am4xNmFmbDRmamdAZw&tmsrc=av45hjm0qqcllt9jn16afl4fjg%40group.calendar.google.com)). We’d be delighted if anything we do turns out to be useful for your project. 🙂

---

<div class="post-metadata">

**Author:** ![talha\_darrxscale](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/talha_darrxscale/32/364_2.png) [@talha\_darrxscale](https://community.wandb.ai/u/talha_darrxscale)\
**Post date:** [October 14, 2021, 4:26am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/34 "2021-10-14T04:26:07Z")

</div>

Thanks for your invitation hope it would help me .

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 16, 2021, 7:20pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/35 "2021-10-16T19:20:23Z")

</div>

Here’s a summary of what we did today

## NVTabular and Merlin

Ran the first two [example notebooks on movielens](https://github.com/NVIDIA-Merlin/NVTabular/tree/main/examples/getting-started-movielens) without any errors by replacing `cuDF` with `pandas`.

Installed PyTorch from `pip` instead of `conda` to get most of the third notebook to run. The last cell (actually training the model) fails with the following error:

```auto
RuntimeError: merge_sort: failed to synchronize: cudaErrorIllegalAddress: an illegal memory access was encountered

```

This needs to be looked into further.

## Frontend

The VueJS frontend was set up using `tailwind` and `vuetify`.

## Backend

Data from the MovieLens25 dataset was added to the repository.

A few more backend APIs were created - to fetch random movies for the user to rate.

Action item for @ravimashru: create endpoint to fetch details of a single movie from the [OMDB API](http://www.omdbapi.com/).

---

<div class="post-metadata">

**Author:** ![edwinq](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@edwinq](https://community.wandb.ai/u/edwinq)\
**Post date:** [October 16, 2021, 7:28pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/36 "2021-10-16T19:28:10Z")

</div>

> [@ravimashru](#):
>
> more backend APIs were created - to fetch random movies for the user to rate.
> 
> Action item for @ravimashru: create endpoint to fetch details of a single movie from the

Ahh, I was just getting ready to join but must have gotten the timezones mixed up :frowning : (  
Great work though!

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 17, 2021, 11:37am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/37 "2021-10-17T11:37:16Z")

</div>

Ah… If I had a dollar for everytime I got the timezone for a meeting wrong I’d give Jeff Bezos a real run for his money. 😃

Hopefully we’ll catch you next saturday. 🙂

Until then we’ll be working on this asynchronously. Feel free to reach out to me if you want to try out anything and have any questions.

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 18, 2021, 2:07pm UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/39 "2021-10-18T14:07:01Z")

</div>

FYI: Since we’ve got quite a few people interested in this topic, I’ve created a Discord channel to allow us to have more free-flowing conversations without spamming this thread. Feel free to join if you’re interested: [mashruravi's server](https://discord.gg/8Zrp6PAj).

I will update this thread from time to time, especially after any calls/coding sessions. 🙂

---

<div class="post-metadata">

**Author:** ![bhutanisanyam1](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/bhutanisanyam1/32/18_2.png) [@bhutanisanyam1](https://community.wandb.ai/u/bhutanisanyam1)\
**Post date:** [October 19, 2021, 7:30am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/40 "2021-10-19T07:30:38Z")

</div>

@ravimashru We really want to create our discourse as the goto place for such discussions.

Is there any feature you find missing on discourse? I can look into integrations or even upgrading our plan if it helps 🙂

---

<div class="post-metadata">

**Author:** ![ravimashru](https://sea2.discourse-cdn.com/flex020/user_avatar/community.wandb.ai/ravimashru/32/116_2.png) [@ravimashru](https://community.wandb.ai/u/ravimashru)\
**Post date:** [October 19, 2021, 10:32am UTC](https://community.wandb.ai/t/creating-a-movie-recommender/190/41 "2021-10-19T10:32:33Z")

</div>

@edwinq and I were just talking about having more frequent day-to-day conversations on Discord so that we don’t spam this thread.

But keeping all discussions in one place makes sense as well. We’ll continue using this thread for all communication. 👍

[Previous page](https://community.wandb.ai/t/creating-a-movie-recommender/190.md?page=1)

[Next page](https://community.wandb.ai/t/creating-a-movie-recommender/190.md?page=3)
