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.
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