An advanced AI-powered meme search engine that allows users to find memes using both text and image queries. By leveraging LanceDB as a high-performance vector database and Roboflow's CLIP model for embedding generation, the platform delivers fast and accurate meme retrieval. The frontend is built using React.js and Tailwind CSS, ensuring a seamless and responsive user experience.
✅ Multimodal Search -- Search memes using either text descriptions or image queries.
✅ Vectorized Meme Database -- Utilizes LanceDB to store and retrieve embeddings efficiently.
✅ Roboflow CLIP Model -- Uses CLIP embeddings for high-accuracy semantic search.
✅ Optimized Frontend -- Built with React.js and styled with Tailwind CSS for smooth user interactions.
✅ Instant Retrieval -- Returns top 25 most relevant memes in real time.
✅ Fast & Scalable -- Efficient storage and indexing enable rapid meme discovery.
- Meme images are embedded using the Roboflow CLIP model.
- Text descriptions are converted into vector embeddings for similarity matching.
- Both image and text embeddings are stored in LanceDB.
- Text Query: Converts text input into a vector and searches the database.
- Image Query: Converts an uploaded image into a vector and retrieves the closest matches.
- The top 25 results are returned based on similarity scores.
- The frontend renders the retrieved memes in a responsive grid.
- Users can download memes directly from the interface.
- Node.js v20+
- NPM or Yarn
- LanceDB installed locally
git clone <repository-url> cd multimodal-meme-search npm install
add the following in .env file
OPENAI_API_KEY = '
LANCEDB_URI = 'database'
LANCEDB_TABLE_NAME = 'table'
LANCEDB_TABLE_NAME_TEXT = 'table_text'
RF_API_KEY = ''
npm run server
npm run dev
npm start
http://localhost:5173
To add your own meme dataset:
- Place your meme images in the
public/images/
directory. memes dataset - place a labels.csv file under
src/server/dataset/
directory. memes dataset - Run the embedding script to update the database.
- Restart the server to apply changes.
🚀 More Meme Sources -- Add support for meme scraping from online sources.
📸 User-Generated Memes -- Allow users to upload and tag memes.
🔍 Advanced Filters -- Filter by meme categories, themes, or trends.
🌐 Deploy to Cloud -- Deploy on Vercel, AWS, or DigitalOcean for global accessibility.