[HN Gopher] Hachi: An Image Search Engine
       ___________________________________________________________________
        
       Hachi: An Image Search Engine
        
       Author : warangal
       Score  : 113 points
       Date   : 2025-11-29 13:56 UTC (9 hours ago)
        
 (HTM) web link (eagledot.xyz)
 (TXT) w3m dump (eagledot.xyz)
        
       | spacecadet wrote:
       | You can hack together an image search with a 500k VLM and a tiny
       | embedding model that works surprisingly well. I built a tool like
       | this 2 years ago that I can throw a hard drive at and any and all
       | image files are processed and searchable locally, including video
       | frames.
        
       | pbronez wrote:
       | Interesting project, very dense post. I like the idea of a
       | genuine personal search engine. You'd think that Windows and
       | MacOS would do this well, but they really don't.
       | 
       | Project GitHub is here https://github.com/eagledot/hachi
        
         | pbronez wrote:
         | Reminds me of Danswer, actually. That's an LLM-powered personal
         | search engine. Looks like they're making an enterprise play
         | now.
         | 
         | https://danswer-website.vercel.app
        
         | TheTaytay wrote:
         | I have also been surprised that personal search engines are not
         | a solved problem. "We" have actually known how to do decent
         | search for a long time, including across images and the entire
         | freaking internet for over two decades, but it's not simple or
         | commonplace to get a good semantic search interface for your
         | own files, local or remote.
         | 
         | Chrome currently offers a semantic search across your browser
         | history, but it's buried. The major photo services allow for
         | search across your photos. Windows and Mac have indexed keyword
         | search across files, but the interface feels primitive.
         | 
         | I increasingly want a private search index across my browsing
         | history, my photos, my notes/files, my voice recordings, GitHub
         | projects, etc.
         | 
         | I thought a paid personalizable search engine like Kagi would
         | be a good place to get/build a personalized internet search
         | index on my browser history, but they don't really offer the
         | tools for that scale.
         | 
         | There are some enterprise search engines trying to solve this
         | for orgs, so maybe I should be looking there?
         | 
         | I'm glad to see projects like Hachi, and am curious what others
         | are doing or reaching for.
        
           | mikepurvis wrote:
           | "Windows and Mac have indexed keyword search across files,
           | but the interface feels primitive."
           | 
           | The functionality is further obscured when (at least on
           | windows) the local files results are intermingled with
           | results from afar, which I guess are Bing.
        
             | clearleaf wrote:
             | For me it just doesn't work at all. I don't know why but
             | every windows instance I've used since Win7 has not been
             | able to find files even with the exact filename supplied. I
             | don't disable the indexer. I can see it using CPU and disk
             | resources but it just doesn't find anything relevant when I
             | search. When I instead use Search Everything on Windows it
             | works perfectly.
        
           | salawat wrote:
           | No money to be made in making your life easier in that way,
           | therefore no KPI is generated for it's implementation.
        
             | attila-lendvai wrote:
             | plus that would also mean less incentives to upload
             | personal data to their servers...
        
         | jjice wrote:
         | I don't know about macOS, but I've found Spotlight awesome
         | since switching to an iPhone last year. The only issue I have
         | is that some apps that I would really like to search don't
         | index their data with it.
        
       | underlipton wrote:
       | I've been hoping to see something like this, as finding or
       | rediscovering images that I've archived has been a painful
       | process for some years now.
       | 
       | Still, I've come to the conclusion that search alone - especially
       | LLM-based search - isn't enough for these applications, because
       | of its volatility. Human spatial localization relies on object
       | permanence, so there needs to be some amount of durability baked
       | into at least some of the functions of any application that
       | involves us storing and retrieving desired objects and data.
       | 
       | I don't know precisely what that looks like, but I do know that,
       | for example, whenever YouTube refreshes a recommended video list,
       | I miss the days when those lists were largely fixed for days or
       | weeks.
       | 
       |  _> My try has been to expose multiple (if not all) attributes
       | for a resource directly to user and then letting user recursively
       | refine query to get to desired result._
       | 
       | I do really like this part, though. I'd rather photos get tagged
       | with as many (possibly erroneous) attributes as possible, and let
       | me carve out what I'm really looking for, rather than missing the
       | one I wanted because the system mistook a seesaw for a teeter-
       | totter or something.
        
       | warangal wrote:
       | Hi, Author here!
       | 
       | I have been working on this project for quite some time now. Even
       | though for such search engines, basic ideas remain the same i.e
       | extracting meta-data or semantic info, and providing an interface
       | to query it. Lots of effort have gone into making those modules
       | performant while keeping dependencies minimal. Current version is
       | down to only 3 dependencies i.e numpy, markupsafe, ftfy and a
       | python installation with no hard dependence on any version. A lot
       | of code is written from scratch including a meta-indexing engine
       | and minimal vector database. Being able to index any personal
       | data from multiple devices or service without duplicating has
       | been the main them of the project so far!
       | 
       | We (My friend) have already tested it on around 180gb of Pexels
       | dataset and upto 500k of flickr 10M dataset. Machine learning
       | models are powered by a framework completely written in Nim
       | (which is currently not open-source) and has ONEDNN as only
       | dependency (which has to be do away to make it run on ARM
       | machines!)
       | 
       | I have been mainly looking for feedback to improve upon some
       | rough edges, but it has been worthwhile to work upon this project
       | and includes code written in assembly to html !
        
       | thefourthchime wrote:
       | As a serial DIYer, I respect the engineering depth here,
       | especially the custom vector index, but I disagree on the self-
       | hosted ML approach. The innovation in embeddings is just too fast
       | to keep up with locally without constant refactoring. You can
       | actually see the trade-off in the "girl drinking water" example
       | where one result is a clear hallucination.
        
         | warangal wrote:
         | Currently (Semantic) ML model is the weakest (minorly fine-
         | tuned) ViT B/32 variant, and more like acting as a placeholder
         | i.e very easy to swap with a desired model. (DINO models have
         | been pretty great, being trained on much cleaner and larger
         | Dataset, CLIP was one of first of Image-text type models !).
         | 
         | For point about "girl drinking water", "girl" is the
         | person/tagged name , "drinking water" is just re-ranking all of
         | "girl"s photos ! (Rather than finding all photos of a (generic)
         | girl drinking water) .
         | 
         | I have been more focussed on making indexing pipeline more
         | peformant by reducing copies, speeding up bottleneck portions
         | by writing in Nim. Fusion of semantic features with meta-data
         | is more interesting and challenging part, in comparison to
         | choosing an embedding model !
        
       | love2read wrote:
       | Could this be used to make something like same.energy?
        
       ___________________________________________________________________
       (page generated 2025-11-29 23:00 UTC)