<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Chidari Sandeep</title>
    <description>The latest articles on Forem by Chidari Sandeep (@chidari_sandeep_c8e0478a1).</description>
    <link>https://forem.com/chidari_sandeep_c8e0478a1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3913955%2F349afc77-42cc-49e9-8f4b-20861d69c78c.png</url>
      <title>Forem: Chidari Sandeep</title>
      <link>https://forem.com/chidari_sandeep_c8e0478a1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/chidari_sandeep_c8e0478a1"/>
    <language>en</language>
    <item>
      <title>Why I rewrote my 90+ Engine Meta-Search in Rust 🦀</title>
      <dc:creator>Chidari Sandeep</dc:creator>
      <pubDate>Wed, 06 May 2026 10:13:15 +0000</pubDate>
      <link>https://forem.com/chidari_sandeep_c8e0478a1/why-i-rewrote-my-90-engine-meta-search-in-rust-41l5</link>
      <guid>https://forem.com/chidari_sandeep_c8e0478a1/why-i-rewrote-my-90-engine-meta-search-in-rust-41l5</guid>
      <description>&lt;p&gt;Just testing out my automated dev-log pipeline for &lt;strong&gt;SearchWala&lt;/strong&gt;. Moving from Python to Rust dropped my RAM from 512 MB → 38 MB and made cold starts nearly instant. Here's the short version of why and how.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;SearchWala aggregates results from &lt;strong&gt;90+ search engines&lt;/strong&gt; — Google, Bing, DuckDuckGo, Brave, Mojeek, and dozens of niche/academic sources. The original Python stack (FastAPI + asyncio + BeautifulSoup) worked, but:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;RAM hungry&lt;/strong&gt;: Each worker held parsed DOM trees in memory. Under load, a single instance ate ~512 MB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cold start pain&lt;/strong&gt;: On a fresh container, Python import chains + dependency init took 4-6 seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GIL bottleneck&lt;/strong&gt;: True parallelism across 90 engines was faked with async I/O, but CPU-bound parsing still serialized.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Rust Rewrite
&lt;/h2&gt;

&lt;p&gt;I rewrote the core in Rust using &lt;code&gt;tokio&lt;/code&gt; for async, &lt;code&gt;reqwest&lt;/code&gt; for HTTP, and &lt;code&gt;scraper&lt;/code&gt; for HTML parsing. The results:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Python&lt;/th&gt;
&lt;th&gt;Rust&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RAM (idle)&lt;/td&gt;
&lt;td&gt;512 MB&lt;/td&gt;
&lt;td&gt;38 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cold start&lt;/td&gt;
&lt;td&gt;4.2s&lt;/td&gt;
&lt;td&gt;0.3s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;P95 latency (90 engines)&lt;/td&gt;
&lt;td&gt;2.8s&lt;/td&gt;
&lt;td&gt;0.9s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Binary size&lt;/td&gt;
&lt;td&gt;~180 MB (venv)&lt;/td&gt;
&lt;td&gt;12 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The dual-path LLM synthesis pipeline (lite mode for speed, research mode for depth) stayed as a sidecar microservice, but all search orchestration, ranking (BM25 + Reciprocal Rank Fusion), and content extraction now run natively in Rust.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaway
&lt;/h2&gt;

&lt;p&gt;If your I/O-heavy Python service is eating memory and you need predictable latency — Rust with &lt;code&gt;tokio&lt;/code&gt; is the move. Not everything needs a rewrite, but the hot path absolutely does.&lt;/p&gt;

&lt;p&gt;Check out the full source code and drop a star on GitHub: &lt;a href="https://github.com/SandeepAi369/SearchWala" rel="noopener noreferrer"&gt;SearchWala on GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>python</category>
      <category>searchengine</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building a 90+ engine meta-search in Rust [TEST-0x8A7B]</title>
      <dc:creator>Chidari Sandeep</dc:creator>
      <pubDate>Wed, 06 May 2026 08:57:53 +0000</pubDate>
      <link>https://forem.com/chidari_sandeep_c8e0478a1/building-a-90-engine-meta-search-in-rust-test-0x8a7b-2jh5</link>
      <guid>https://forem.com/chidari_sandeep_c8e0478a1/building-a-90-engine-meta-search-in-rust-test-0x8a7b-2jh5</guid>
      <description>&lt;p&gt;Just testing out my automated dev-log pipeline for SearchWala. Moving from Python to Rust dropped my RAM usage significantly.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building a 90+ engine meta-search in Rust</title>
      <dc:creator>Chidari Sandeep</dc:creator>
      <pubDate>Wed, 06 May 2026 08:50:29 +0000</pubDate>
      <link>https://forem.com/chidari_sandeep_c8e0478a1/building-a-90-engine-meta-search-in-rust-199o</link>
      <guid>https://forem.com/chidari_sandeep_c8e0478a1/building-a-90-engine-meta-search-in-rust-199o</guid>
      <description>&lt;p&gt;I just set up an automated dev&lt;/p&gt;

</description>
    </item>
    <item>
      <title>SearchWala: I Built a Blazing-Fast Meta-Search Engine in Rust That Queries 90+ Engines Simultaneously</title>
      <dc:creator>Chidari Sandeep</dc:creator>
      <pubDate>Tue, 05 May 2026 12:10:48 +0000</pubDate>
      <link>https://forem.com/chidari_sandeep_c8e0478a1/searchwala-i-built-a-blazing-fast-meta-search-engine-in-rust-that-queries-90-engines-bo1</link>
      <guid>https://forem.com/chidari_sandeep_c8e0478a1/searchwala-i-built-a-blazing-fast-meta-search-engine-in-rust-that-queries-90-engines-bo1</guid>
      <description>&lt;p&gt;Hey devs! I want to share a project I have been working on called &lt;strong&gt;SearchWala&lt;/strong&gt; (Swift-Search-RS).&lt;/p&gt;

&lt;h2&gt;
  
  
  What is it?
&lt;/h2&gt;

&lt;p&gt;SearchWala is an open-source meta-search engine written in Rust that queries 90+ search engines simultaneously including Google, Bing, DuckDuckGo, Brave, Yandex, Baidu, and many more. It aggregates the results, scrapes the actual content, and can synthesize an AI-powered answer using any LLM provider you bring (Groq, OpenAI, Cerebras, etc).&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;90+ Search Engines&lt;/strong&gt;: Google (15 regional variants), Bing, DuckDuckGo, Brave, Yahoo, Qwant, Mojeek, Startpage, Wikipedia, and 60+ more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dual LLM Pipeline&lt;/strong&gt;: Lite mode (fast BM25-ranked answer) and Research mode (iterative deep analysis across 200+ sources)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-Tier Content Extraction&lt;/strong&gt;: Intelligent article extraction that goes beyond simple scraping&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built in Rust&lt;/strong&gt;: Blazing fast with async Tokio runtime, 24 concurrent scrapers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BYOK (Bring Your Own Key)&lt;/strong&gt;: Works with any OpenAI-compatible LLM provider&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy First&lt;/strong&gt;: No tracking, no ads, self-hostable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Ready&lt;/strong&gt;: Multi-stage build producing a tiny 15MB image&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Scrapes and ranks 420 URLs in under 10 seconds&lt;/li&gt;
&lt;li&gt;BM25 ranking with phrase match bonuses&lt;/li&gt;
&lt;li&gt;Browser fingerprint rotation across 12 profiles to avoid blocks&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/SandeepAi369/Swift-Search-Rs" rel="noopener noreferrer"&gt;https://github.com/SandeepAi369/Swift-Search-Rs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear your feedback! Drop a comment if you have questions.&lt;/p&gt;

</description>
      <category>llm</category>
      <category>opensource</category>
      <category>rust</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
