July 22nd, 2024

Show HN: Chrome didn't have a native vector db so I built one:3

The GitHub URL offers details on `@changesets/cli`, a tool for versioning and publishing code in multi-package or single-package repositories. Find full documentation and common questions for user support.

Read original articleLink Icon
QuestionsCuriosityPraise
Show HN: Chrome didn't have a native vector db so I built one:3

The GitHub URL provided contains information about `@changesets/cli`, a tool designed for versioning and publishing code in multi-package or single-package repositories. The tool's full documentation can be accessed in the repository linked, along with a list of common questions to assist users in getting started.

AI: What people are saying
The comments discuss various aspects of a new tool built on IndexedDB.
  • Many users are impressed with the tool's capabilities and potential for handling large volumes of data in modern browsers.
  • There is confusion and curiosity about the term "chrome native" and whether the tool is specific to Chrome or compatible with other browsers.
  • Some users are interested in the practical applications, such as retaining website content for local searches.
  • Several comments provide additional resources and comparisons to similar projects, highlighting the interest in vector databases and in-browser functionalities.
  • There are critiques about the quality of the documentation, with suggestions for improvement.
Link Icon 15 comments
By @samspenc - 9 months
I haven't played with it yet, but very impressive :) a full vector DB built on top of IndexedDB. That means it should run on all modern browsers, and should be able to handle large volumes of data (at least, proportional to disk space).
By @keepamovin - 9 months
That's a pretty well written bug report: https://github.com/wizenheimer/tinkerbird/issues/5

I hope you get the help you need for that!

By @hoten - 9 months
Is there something that makes this specific to Chrome or is this a web compatible library?
By @solarkraft - 9 months
What the hell does “chrome native” mean? Is it an extension? Who uses it?
By @jwithington - 9 months
So one could retain the contents of every website every visited and then run local, in-browser searches against that content? Is that the idea? This library would serve as the vector DB?
By @KashyapArjun - 9 months
> TinkerBird uses IndexedDB as it's storage layer, which in turn builds upon Blobs and LevelDB storage systems. By using Indexeddb, it benefits from IndexedDB's adoption, stability and familiarity as a native choice for offline first workflows. Super impressive. Looking forward to use it!
By @meiraleal - 9 months
Great project! Thanks for sharing, I'm looking for something like this.

One thing I'm curious about tho is the evolution of the project. Github says the last update in the code was 7 months ago. Is it because it is ready/done?

By @nostrebored - 9 months
Avoiding the server call seems to only be time-efficient if calls to embed are time-efficient. The nice thing about server side inference is that you can use embedding models that can handle web-scale data independent of hardware
By @jwithington - 9 months
So one could retain the contents of every website every visited and then run local, in-browser searches against that content? Is that the idea? This li
By @jamesmcintyre - 9 months
This looks really promising and thanks for sharing! I've actually been looking into this exact type of functionality lately, for anyone else I'm just going to drop some other projects in this area (also if anyone, including OP, want's to chime in on how they compare- i know there's all sorts of trade-offs ie. the similarity algo chosen, one of these relies on wasm, etc):

https://github.com/tantaraio/voy

https://github.com/nitaiaharoni1/vector-storage

https://github.com/danielivanovz/indexed-vector-store

https://github.com/yusufhilmi/client-vector-search

Another area I've looked into briefly is also trying to generate vector embeddings fully in-browser. I know there will likely be tradeoffs with dimensionality / overall accuracy/performance but having a semi-decent way to do this in-browser would be awesome.

This project only runs in node (but there's an issue that talks about how it might be modified to run in-browser):

https://github.com/Anush008/fastembed-js

Looks like transformers.js supports embeddings in-browser:

https://github.com/xenova/transformers.js/releases/tag/2.1.0

https://github.com/pinecone-io/semantic-search-example/blob/...

Also it appears the client-vector-search supports both embeddings & vector indexing

https://github.com/yusufhilmi/client-vector-search

Hope this helps others looking into this stuff!

By @alexliu518 - 9 months
Cool! Keep it up!
By @masherm - 9 months
how would you use this within chrome?
By @oefrha - 9 months
It’s a vector db on top of IndexedDB. I fail to see what’s “Chrome” (or “native”) about it. Is there anything Chrome-specific that prevents it from working in any other modern browser?
By @splitbrain - 9 months
I wish you'd written the introduction in the readme yourself instead of letting a LLM do it for you. "utilizes", "significant challenge facing", "disrupts workflows" and then several repeats of the same information... all tell tale signs.