<?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: Web Ziper</title>
    <description>The latest articles on DEV Community by Web Ziper (@web_ziper_87147f352ad9ee5).</description>
    <link>https://dev.to/web_ziper_87147f352ad9ee5</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%2F3743381%2Fd6d9dc61-6c73-4249-99c6-bbf2638c27f4.png</url>
      <title>DEV Community: Web Ziper</title>
      <link>https://dev.to/web_ziper_87147f352ad9ee5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/web_ziper_87147f352ad9ee5"/>
    <language>en</language>
    <item>
      <title>How I built a Mobile Price Tracker (Salert) using Bubble.io and Node.js Microservices</title>
      <dc:creator>Web Ziper</dc:creator>
      <pubDate>Sat, 31 Jan 2026 07:36:30 +0000</pubDate>
      <link>https://dev.to/web_ziper_87147f352ad9ee5/how-i-built-a-mobile-price-tracker-salert-using-bubbleio-and-nodejs-microservices-51n1</link>
      <guid>https://dev.to/web_ziper_87147f352ad9ee5/how-i-built-a-mobile-price-tracker-salert-using-bubbleio-and-nodejs-microservices-51n1</guid>
      <description>&lt;p&gt;Most developers think you have to choose: either go full No-Code (and hit limits fast) or write Full Code (and spend months building the UI).&lt;/p&gt;

&lt;p&gt;I chose neither. Or rather, I chose both.&lt;/p&gt;

&lt;p&gt;I recently launched &lt;a href="https://salert.app" rel="noopener noreferrer"&gt;Salert&lt;/a&gt;, the first mobile price tracking application for the Moldovan market (monitoring sites like Darwin, Enter, and the massive classifieds board 999.md). The app tracks thousands of products, sends price drop alerts, and visualizes history charts.&lt;/p&gt;

&lt;p&gt;Here is how I built it using a hybrid architecture that leverages the speed of Bubble.io for the frontend and the raw power of Node.js for the backend logic.&lt;/p&gt;

&lt;p&gt;The Challenge &lt;br&gt;
The e-commerce landscape in Moldova is fragmented. We don't have Amazon. We have 30+ different online stores, each with different HTML structures, anti-bot protections, and dynamic rendering (SPAs).&lt;/p&gt;

&lt;p&gt;Building a scraper is "easy". Building a system that tracks thousands of products daily without crashing or getting blocked is hard.&lt;/p&gt;

&lt;p&gt;My requirements were:&lt;/p&gt;

&lt;p&gt;Fast UI iteration: I wanted a native-feeling mobile app without writing React Native from scratch.&lt;/p&gt;

&lt;p&gt;Complex Logic: I needed headless browsers (Puppeteer/Playwright) to render JavaScript-heavy sites. Bubble can't do this natively.&lt;/p&gt;

&lt;p&gt;Scalability: The system needed to handle concurrent scraping jobs.&lt;/p&gt;

&lt;p&gt;The Architecture &lt;br&gt;
I treated Bubble not just as a frontend, but as my "Command Center", while offloading the heavy lifting to a custom Node.js cluster.&lt;/p&gt;

</description>
      <category>bubble</category>
      <category>webscraping</category>
      <category>n8n</category>
    </item>
  </channel>
</rss>
