<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: marcoshernanz</title><link>https://news.ycombinator.com/user?id=marcoshernanz</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 01:34:11 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=marcoshernanz" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by marcoshernanz in "ChatVault – Local-first semantic search for WhatsApp (Rust and WASM)"]]></title><description><![CDATA[
<p>Hi HN,<p>I built ChatVault because I was frustrated with WhatsApp's native search. It relies on exact keyword matching, which makes finding old messages ("where was that sushi place?") impossible if you don't remember the exact phrasing.<p>I wanted semantic search, but I wasn't willing to upload my chat history to a cloud vector database or an LLM API.<p>So I built a strictly local-first search engine using Rust compiled to WebAssembly.<p>The Architecture:
1. Inference: It runs a quantized BERT model (all-MiniLM-L6-v2) directly in the browser using Candle (Hugging Face's Rust ML framework). No ONNX runtime, just pure Rust Wasm.
2. Vector Store: I implemented a custom in-memory vector store in Rust. It performs normalization on insertion, allowing for fast dot-product similarity searches.
3. Performance: To prevent blocking the main thread during indexing (computing embeddings for thousands of messages), the Wasm module runs inside a Web Worker. 4. The UI (Next.js 16) stays responsive at 60fps.
Search: I implemented a hybrid scoring algorithm: (Vector_Score * 0.5) + (Keyword_Score * 0.5) to balance semantic meaning with exact matches.<p>The app works 100% offline once the model weights (~90MB) are cached.<p>Live Demo: <a href="https://chat-vault-mh.vercel.app/" rel="nofollow">https://chat-vault-mh.vercel.app/</a><p>I'm a student looking to get deeper into systems programming/Rust. I'd love feedback on the memory management between JS and Wasm, as passing strings back and forth was the biggest bottleneck I encountered.</p>
]]></description><pubDate>Mon, 19 Jan 2026 22:47:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46685622</link><dc:creator>marcoshernanz</dc:creator><comments>https://news.ycombinator.com/item?id=46685622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46685622</guid></item><item><title><![CDATA[ChatVault – Local-first semantic search for WhatsApp (Rust and WASM)]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/marcoshernanz/ChatVault">https://github.com/marcoshernanz/ChatVault</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46685602">https://news.ycombinator.com/item?id=46685602</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 19 Jan 2026 22:46:07 +0000</pubDate><link>https://github.com/marcoshernanz/ChatVault</link><dc:creator>marcoshernanz</dc:creator><comments>https://news.ycombinator.com/item?id=46685602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46685602</guid></item><item><title><![CDATA[Cogniba – N-Back Training for Brain Performance]]></title><description><![CDATA[
<p>LAUNCH DAY!!!<p>I started building this startup 2 years ago. My first idea was targeting schools, since kids are the ones who get the biggest benefit out of brain training. However, I struggled to see get any traction.<p>1 year later, I decided to recreate the product and target it towards Brain Training enthusiasts and people on Self Improvement.<p>After 1 year and a lot of headaches and fun, the product is finally in a state where anyone can use it to train their brain.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43076272">https://news.ycombinator.com/item?id=43076272</a></p>
<p>Points: 8</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 17 Feb 2025 07:45:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=43076272</link><dc:creator>marcoshernanz</dc:creator><comments>https://news.ycombinator.com/item?id=43076272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43076272</guid></item></channel></rss>