meme-search
Meme Search is an open-source semantic search engine for indexing and retrieving memes based on image content and text. Built with Ruby, Python, and Docker, it runs entirely on self-hosted infrastructure with local AI models for image-to-text extraction and vector embeddings.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | neonwatty/meme-search |
| Owner | neonwatty |
| Primary language | Ruby |
| License | Apache-2.0 — OSI-approved |
| Stars | 690 |
| Forks | 27 |
| Open issues | 3 |
| Latest release | v2.2.0 (2026-05-31) |
| Last updated | 2026-07-07 |
| Source | https://github.com/neonwatty/meme-search |
What meme-search is
Rails 8 backend with PostgreSQL + pgvector for semantic search, offering multiple vision-language models (Florence-2, SmolVLM, Moondream2) for local image captioning, and Solid Queue for async job processing. Drag-and-drop upload, tagging, filtering, and keyword/vector search modes supported.
Get the meme-search source
Clone the repository and explore it locally.
git clone https://github.com/neonwatty/meme-search.gitcd meme-search# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Provision persistent storage for PostgreSQL data, model downloads, and uploaded images; Docker Compose bind-mounts documented but may need pre-creation on some platforms (e.g., Synology).
- Choose image-to-text model based on hardware constraints: Florence-2-base (~250M params) for balanced systems, Moondream2-INT8 for CPU-only/memory-limited setups, Moondream2 (~2B params) for best accuracy.
- Plan for initial model download and embedding generation overhead; time-to-first-generation not specified in README—benchmark before production indexing.
- Leverage Solid Queue for non-blocking bulk description generation and directory rescans to avoid blocking the UI during large library updates.
- Test OpenAI-compatible vision API integration if using external models for descriptions while keeping embeddings and search local.
When to avoid it — and what to weigh
- High-Throughput Production Search — Project maturity (v2.2.0, ~18 months old) and small community (690 stars, 27 forks) suggest limited production hardening and scaling validation.
- Managed Cloud-Only Deployment — Designed for self-hosted local deployment; no managed SaaS offering or first-class cloud vendor support documented.
- Minimal DevOps/Infrastructure Expertise — Requires Docker Compose, PostgreSQL with pgvector, model management, and Python/Ruby environment understanding; not a zero-config solution.
- Low-Resource Environments — Model downloads and inference (even with INT8 quantization) demand non-trivial CPU/RAM; smallest models still require 1.5–2GB memory.
License & commercial use
Apache License 2.0 (Apache-2.0). Permissive OSI-approved license allowing commercial use, modification, and distribution with standard Apache conditions (attribution, license notice retention, no liability/warranty).
Apache-2.0 permits commercial use including in proprietary products. However, verify compliance with any optional external dependencies (e.g., third-party vision model licenses). No proprietary restrictions noted in the GitHub data; review dependencies in package managers for secondary licensing constraints.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
Local processing default mitigates data exfiltration risk compared to cloud-based search. PostgreSQL and Rails best practices should be applied (network isolation, connection pooling, input validation). No explicit security audit, vulnerability disclosure policy, or hardening guide documented. Drag-and-drop upload accepts JPG/PNG/WEBP without published file validation details—assess upload path permissions and virus scanning needs for sensitive environments. Supports OpenAI-compatible APIs for optional external vision models; assess token/credential management when using external APIs.
Alternatives to consider
Weaviate / Milvus
Managed vector databases with native ML/search pipelines; more production-hardened and scalable, but require additional infrastructure and lack domain-specific meme UI.
Elasticsearch + Custom ML Pipeline
More mature ecosystem, proven at scale, extensive documentation; requires custom integration of vision models and semantic search logic.
Perplexity / ChatGPT (Cloud-based Search)
Zero infrastructure burden and advanced multimodal models; trades privacy, per-query costs, and vendor lock-in for convenience.
Build on meme-search with DEV.co software developers
Devco's AI and custom software teams can help you deploy, customize, and scale Meme Search or design a similar semantic search solution for your image library.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
meme-search FAQ
Can I use this without Docker?
Does this send images to the cloud?
What hardware do I need?
How many memes can I index?
Software developers & web developers for hire
Need help beyond evaluating meme-search? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and vector databases integrations — and maintain them long-term.
Ready to Build a Self-Hosted Meme Search System?
Devco's AI and custom software teams can help you deploy, customize, and scale Meme Search or design a similar semantic search solution for your image library.