I built Meepo – a smarter search engine for a local (South African) fashion and homeware store.<p>I have no affiliation with said store. I built this for myself, because I was frustrated at how difficult it was to find what I wanted with the existing search engine + I was curious how well CLIP (a relatively new AI technique with open source code and models) would work here.<p>I think it works quite well! It's much more forgiving than the original search engine. I don't have to guess what exactly they decided to label a particular item. But what I like even more is that it works quite well for abstract things like "colourful shoes".<p>Here's the full stack:<p>- Hardware: Deployed on a 2CPU 4GB RAM VPS w/ docker<p>- Storage: SQLite + object storage (for images)<p>- Search: CLIP text/image neural networks + faiss similarity search index<p>- Pipeline: Python scripts + cron<p>- Web: Django serving HTML/Tailwind/daisyUI<p>- IDE: Developed in notebooks w/ nbdev (I'm trying to develop all of my software in Jupyter notebooks - a separate discussion)<p>I tried to keep the implementation as simple as possible and I'm happy with the result! It took ~2 weeks to build and has been running seamlessly without my input for a few weeks now. I'm more familiar with ML than web so very happy with that timeline.
Great work! Instead of faiss, you could use a standalone vector search engine like Qdrant <a href="https://github.com/qdrant/qdrant" rel="nofollow">https://github.com/qdrant/qdrant</a> It would bring some advantages like, for example, filtering support.