https://github.com/robinsalehjan/pop-choice
🎬 A movie recommendation app that uses AI-powered semantic search to suggest films based on your preferences. Built with OpenAI embeddings, Cloudflare Workers, and Supabase vector search.
https://github.com/robinsalehjan/pop-choice
cloudflare-ai-gateway cloudflare-pages cloudflare-workers openai-api pgvector postgresql
Last synced: 4 months ago
JSON representation
🎬 A movie recommendation app that uses AI-powered semantic search to suggest films based on your preferences. Built with OpenAI embeddings, Cloudflare Workers, and Supabase vector search.
- Host: GitHub
- URL: https://github.com/robinsalehjan/pop-choice
- Owner: robinsalehjan
- Created: 2024-11-22T10:48:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-24T14:13:38.000Z (7 months ago)
- Last Synced: 2025-10-24T16:11:44.523Z (7 months ago)
- Topics: cloudflare-ai-gateway, cloudflare-pages, cloudflare-workers, openai-api, pgvector, postgresql
- Language: TypeScript
- Homepage: https://pop-choice.pages.dev
- Size: 1010 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PopChoice
This repository is a movie recommendation system demonstrating the integration between CloudFlare Workers, CloudFlare AI Gateway, CloudFlare Pages, Supabase/PostgreSQL with PGVector extension, and OpenAI API for semantic search capabilities.
## Architecture
The application consists of three main components:
- A frontend web application built with vanilla JavaScript
- An OpenAI embedding worker for generating vector embeddings
- A Supabase/PostgreSQL worker for performing vector similarity search
- A scheduled worker that performs a health check query towards Postgresql once every day; to avoid the project
begin suspended in Supabase.
### Key Features
- Vector embeddings generation using OpenAI's text-embedding-ada-002 model
- Vector similarity search using PostgreSQL with PGVector extension
- Scheduled ingestion of movie data using CloudFlare Workers
- CORS-enabled API endpoints for cross-origin requests