<?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>DEV Community: ALIBI Ghazi</title>
    <description>The latest articles on DEV Community by ALIBI Ghazi (@ghazialibi).</description>
    <link>https://dev.to/ghazialibi</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1078415%2F89474500-aa0b-464a-802d-2db82b4ee880.jpg</url>
      <title>DEV Community: ALIBI Ghazi</title>
      <link>https://dev.to/ghazialibi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ghazialibi"/>
    <language>en</language>
    <item>
      <title>I Built an Open-Source Alternative to Browser Sync — Your Data, Your Server</title>
      <dc:creator>ALIBI Ghazi</dc:creator>
      <pubDate>Sat, 24 Oct 2026 14:27:25 +0000</pubDate>
      <link>https://dev.to/ghazialibi/i-built-an-open-source-alternative-to-browser-sync-your-data-your-server-180p</link>
      <guid>https://dev.to/ghazialibi/i-built-an-open-source-alternative-to-browser-sync-your-data-your-server-180p</guid>
      <description>&lt;p&gt;I wanted to sync my bookmarks, browsing history, and open tabs across devices without depending on Google or another third-party sync service.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;&lt;a href="https://github.com/GhaziAlibi/helixsync" rel="noopener noreferrer"&gt;HelixSync&lt;/a&gt;&lt;/strong&gt; — an open-source, self-hosted solution that puts you in control of your browser data.&lt;/p&gt;

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

&lt;p&gt;HelixSync lets you sync your browsing experience across your devices using a server that you host yourself.&lt;/p&gt;

&lt;p&gt;It works with Helium and Chromium-based browsers, including Chrome, Brave, Edge, and Vivaldi.&lt;/p&gt;

&lt;p&gt;Here's what you can sync:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🔖 &lt;strong&gt;Bookmarks&lt;/strong&gt; — Keep your bookmarks, folders, and changes in sync.&lt;/li&gt;
&lt;li&gt;🕘 &lt;strong&gt;Browsing history&lt;/strong&gt; — Access synced history across connected browsers.&lt;/li&gt;
&lt;li&gt;📑 &lt;strong&gt;Open tabs and windows&lt;/strong&gt; — Pick up where you left off on another device.&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Tab groups&lt;/strong&gt; — Sync group names, colors, and collapsed states.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you're switching between computers or just want the same browsing setup everywhere, HelixSync helps keep everything in sync.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your data stays yours
&lt;/h2&gt;

&lt;p&gt;I wanted a solution where I could control where my browsing data is stored instead of handing it over to a third-party service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HelixSync uses end-to-end encryption.&lt;/strong&gt; Your synced browsing data is encrypted so the server stores ciphertext rather than readable bookmarks and history.&lt;/p&gt;

&lt;p&gt;No Google account. No Microsoft account. No third-party sync service required.&lt;/p&gt;

&lt;p&gt;You can also manage your connected devices through a web dashboard and revoke access whenever you want.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about passwords?
&lt;/h2&gt;

&lt;p&gt;HelixSync intentionally &lt;strong&gt;does not sync passwords&lt;/strong&gt;. It focuses on browser data such as bookmarks, history, tabs, and tab groups.&lt;/p&gt;

&lt;p&gt;For password management, I recommend &lt;strong&gt;&lt;a href="https://github.com/dani-garcia/vaultwarden" rel="noopener noreferrer"&gt;Vaultwarden&lt;/a&gt;&lt;/strong&gt;, a lightweight server compatible with Bitwarden clients that you can host yourself.&lt;/p&gt;

&lt;p&gt;I prefer keeping these responsibilities separate: HelixSync handles browser synchronization, while Vaultwarden handles passwords.&lt;/p&gt;

&lt;p&gt;Together, they can help you build a self-hosted setup without relying on a third-party cloud service for either purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  Easy to get started
&lt;/h2&gt;

&lt;p&gt;You don't need a complicated infrastructure to run HelixSync.&lt;/p&gt;

&lt;p&gt;With Docker Compose, you can get the server, database, and web dashboard running on your own machine or server.&lt;/p&gt;

&lt;p&gt;The basic setup is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deploy HelixSync on your server.&lt;/li&gt;
&lt;li&gt;Create your account and save your recovery code.&lt;/li&gt;
&lt;li&gt;Install the browser extension.&lt;/li&gt;
&lt;li&gt;Connect your browsers to your server.&lt;/li&gt;
&lt;li&gt;Choose which data you want to sync.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once everything is connected, synchronization happens in the background.&lt;/p&gt;

&lt;p&gt;You can also run it behind your own domain with HTTPS and manage your connected devices through the dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for people who value privacy and self-hosting
&lt;/h2&gt;

&lt;p&gt;HelixSync is open source and released under the MIT license.&lt;/p&gt;

&lt;p&gt;The goal is simple: give people a way to sync their browser data without having to depend on someone else's infrastructure.&lt;/p&gt;

&lt;p&gt;If you already run a home server, a VPS, or a collection of self-hosted applications, HelixSync might fit right into your setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try HelixSync
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/GhaziAlibi/helixsync" rel="noopener noreferrer"&gt;https://github.com/GhaziAlibi/helixsync&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 &lt;strong&gt;Chrome Web Store:&lt;/strong&gt; &lt;a href="https://chromewebstore.google.com/detail/helixsync/pkklkldoippchkhpokglpolepbcbjdfk" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/helixsync/pkklkldoippchkhpokglpolepbcbjdfk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear your feedback, ideas, and suggestions. Contributions and bug reports are welcome!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A question for the community:&lt;/strong&gt; Do you prefer using browser-provided sync services, or would you rather host your own? What features would you want from a self-hosted browser sync solution?&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>selfhosted</category>
      <category>privacy</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why I Built an Interactive Sandbox to learn Distributed Systems</title>
      <dc:creator>ALIBI Ghazi</dc:creator>
      <pubDate>Wed, 14 Oct 2026 22:15:42 +0000</pubDate>
      <link>https://dev.to/ghazialibi/why-i-built-an-interactive-sandbox-to-learn-distributed-systems-5g94</link>
      <guid>https://dev.to/ghazialibi/why-i-built-an-interactive-sandbox-to-learn-distributed-systems-5g94</guid>
      <description>&lt;p&gt;When you first start studying system design and distributed systems, almost everything is taught through static boxes and arrows. &lt;/p&gt;

&lt;p&gt;Someone draws a Load Balancer, an App Server, a Redis Cache, and a Database, and says: &lt;em&gt;"Put a cache in front of the database to handle read traffic, and add retries for fault tolerance."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;On paper, it makes total sense. In practice, systems behave in weird, non-linear ways under load:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What happens when your 92% cache hit rate drops for 30 seconds?&lt;/li&gt;
&lt;li&gt;What happens when a caller times out and retries, while the downstream service keeps processing the abandoned request anyway?&lt;/li&gt;
&lt;li&gt;How quickly do queues explode once traffic crosses steady-state capacity?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I started diving deeper into caching, replication, message queues, and fault tolerance, I realized I couldn't really internalize these concepts just by reading about them. I needed to experiment with them.&lt;/p&gt;

&lt;p&gt;That's why I started building &lt;strong&gt;&lt;a href="https://shardcraft.dev/" rel="noopener noreferrer"&gt;ShardCraft&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Turning Theory into Interactive Labs
&lt;/h2&gt;

&lt;p&gt;My goal with ShardCraft is to take complex engineering concepts and turn them into interactive simulations where you can actually see how systems behave under load, failure, and growth.&lt;/p&gt;

&lt;p&gt;Even building the simplified mathematical models for the site has taught me a ton—having to think through Poisson request arrivals, exponential service-time tails, retry backoff/jitter, and the difference between async slot-freeing vs. thread-per-request blocking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning in Public (Mistakes Included)
&lt;/h2&gt;

&lt;p&gt;I'm definitely not claiming to be a distributed systems expert. I'm building this to learn, ask questions, test my assumptions, and share what I discover along the way. &lt;/p&gt;

&lt;p&gt;Through this series and on the site, I'll be sharing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Deep-dive explanations&lt;/strong&gt; into how real systems scale and fail&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive labs&lt;/strong&gt; where you can break architectures in your browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Corrections &amp;amp; iterations&lt;/strong&gt;—the things I modeled wrong at first before figuring them out&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Come Break Some Systems With Me
&lt;/h2&gt;

&lt;p&gt;Whether you're just starting out with system design or you've been firefighting production incidents for years, I'd love to learn with you (and from you!).&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Explore the guides and interactive labs here:&lt;/strong&gt; &lt;a href="https://shardcraft.dev/" rel="noopener noreferrer"&gt;shardcraft.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you take a look at the simulation notes or labs, let me know what you think—or drop a comment below on what distributed systems topic you'd love to see simulated next!&lt;/p&gt;

</description>
      <category>distributedsystems</category>
      <category>systemdesign</category>
      <category>webdev</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
