Content recommendation feature using Flutter, Open AI and Supabase

A Flutter app demonstrating how semantic search powered by Open AI and Supabase vector database can be used to build a recommendation engine for movie films.

Flutter recommendation app

Getting Started

Obtain environment variables Head to TMDB API, and Open AI API to create an API key. Then copy supabase/.env.example to supabase/.env and fill in the variables.

TMDB_API_KEY=your_tmdb_api_key
OPEN_AI_API_KEY=your_tmdb_api_key

Set environment variables on Supabase Edge functions

supabase link --project-ref YOUR_PROJECT_REF
supabase secrets set --env-file ./supabase/.env

Install the Flutter dependencies:

cd flutter
dart pub get
cd ..

Setup Supabase project

supabase link --project-ref YOUR_PROJECT_REF
supabase db push

Deploy edge functions

supabase functions deploy

Run the Flutter app

flutter run

Tools used

  • Flutter – Used to create the interface of the app
  • Supabase – Used to store embeddings as well as other movie data in the database
  • Open AI API – Used to convert movie data into embeddings
  • TMDB API – Used to retrieve movie data

GitHub

View Github