neonwatty/meme-search

The open source Meme Search Engine and Finder. Free and built to self-host locally with Python, Ruby, and Docker.

What it solves

Meme Search is a self-hosted search engine designed to organize and retrieve memes from a local library. It solves the problem of finding specific images in large collections by using AI to index memes based on their visual content and text, allowing for both semantic (vector) and keyword searches.

How it works

The system uses a combination of image-to-text models to generate descriptions of memes. These descriptions are then stored as vector embeddings in a PostgreSQL database with the pgvector extension, enabling fast semantic search.

Users can choose between local inference using a bundled Python service with models like Florence-2, SmolVLM, or Moondream2, or an external OpenAI-compatible vision API. The application provides a web interface for uploading, tagging, and managing memes, and includes a read-only Search API for third-party integrations.

Who it’s for

It is intended for users who maintain large personal meme collections and want a private, self-hosted way to index and search them without relying on on-cloud services.

Highlights

  • Flexible AI Models: Supports multiple open-source vision-language models (VLM) of varying sizes for local description generation.
  • Cros-Modality Search: Combines keyword search and vector-based semantic search for high precision.
  • Self-Hosted Privacy: Processing can be performed entirely locally, keeping embeddings and search local.
  • Integration Ready: Includes a token-authenticated Search API, a Python CLI, and an experimental browser extension.
  • Organizational Tools: Features bulk description generation, manual editing, tagging, and directory rescanning to detect new files.

Related

  • Project
  • Project
  • Project
  • Project
  • Project