<?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: KaracaTR</title>
    <description>The latest articles on Forem by KaracaTR (@karacatr).</description>
    <link>https://forem.com/karacatr</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%2F3799071%2F7bb1cd1a-4fee-4afa-a728-d34adc4f83e9.png</url>
      <title>Forem: KaracaTR</title>
      <link>https://forem.com/karacatr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/karacatr"/>
    <language>en</language>
    <item>
      <title>I Built an AI-Powered Website Monitor — Here's How It Works</title>
      <dc:creator>KaracaTR</dc:creator>
      <pubDate>Sun, 01 Mar 2026 00:41:25 +0000</pubDate>
      <link>https://forem.com/karacatr/i-built-an-ai-powered-website-monitor-heres-how-it-works-3n2c</link>
      <guid>https://forem.com/karacatr/i-built-an-ai-powered-website-monitor-heres-how-it-works-3n2c</guid>
      <description>&lt;p&gt;Hey folks! 👋&lt;/p&gt;

&lt;p&gt;I've been working on &lt;strong&gt;PulseWatch&lt;/strong&gt; — an AI-powered website monitoring tool that tracks changes on any webpage and sends instant notifications. I wanted to share how I built it and what makes it different from existing solutions.&lt;/p&gt;

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

&lt;p&gt;We all need to track changes on websites sometimes — price drops on Amazon, new job postings, API documentation updates, stock availability, or news articles. The existing tools either require complex CSS selectors or are too expensive for what they offer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: AI-Powered Selection
&lt;/h2&gt;

&lt;p&gt;PulseWatch uses &lt;strong&gt;GPT-4o&lt;/strong&gt; to analyze web pages and suggest what to monitor. Instead of writing CSS selectors manually, you can:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Point and click&lt;/strong&gt; — Take a screenshot, click on the element you want to track&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drag to select&lt;/strong&gt; — Draw a box around a region on the page&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI suggestions&lt;/strong&gt; — Let GPT-4o analyze the page and recommend what to monitor&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;40+ templates&lt;/strong&gt; — Pre-built selectors for popular sites like Amazon, eBay, GitHub, and more&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;p&gt;Here's what powers PulseWatch under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; .NET 8, PostgreSQL, deployed on Railway&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Flutter Web + Mobile (iOS &amp;amp; Android), deployed on Vercel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; OpenAI GPT-4o for element detection, GPT-4o mini for change summaries&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screenshots:&lt;/strong&gt; thum.io API for capturing page screenshots&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notifications:&lt;/strong&gt; Brevo (email), Firebase Cloud Messaging (push), plus Slack, Discord, and webhook integrations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Tracking:&lt;/strong&gt; Sentry for real-time error monitoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Landing Page:&lt;/strong&gt; Next.js with i18n support for 9 languages&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Change Detection Works
&lt;/h2&gt;

&lt;p&gt;The monitoring flow is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User adds a URL and selects an element (via AI, visual selector, or template)&lt;/li&gt;
&lt;li&gt;PulseWatch captures a screenshot and extracts the element content on a schedule&lt;/li&gt;
&lt;li&gt;When content changes, it generates an AI summary of what changed&lt;/li&gt;
&lt;li&gt;Notifications fire across all configured channels&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The AI summary is a game-changer — instead of just saying "something changed," PulseWatch tells you &lt;em&gt;what&lt;/em&gt; changed in plain language.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multi-Channel Notifications
&lt;/h2&gt;

&lt;p&gt;One of the most requested features was flexible notifications. PulseWatch supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Push notifications&lt;/strong&gt; — iOS (APNs) and Web (FCM)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email&lt;/strong&gt; — Detailed change reports via Brevo&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slack&lt;/strong&gt; — Channel-based alerts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord&lt;/strong&gt; — Webhook integration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Webhooks&lt;/strong&gt; — POST requests to any endpoint&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quiet hours&lt;/strong&gt; — Don't disturb during sleep&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  REST API for Developers
&lt;/h2&gt;

&lt;p&gt;As a developer, I wanted PulseWatch to be API-first. The REST API lets you:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET    /api/watches          — List all monitors
POST   /api/watches          — Create a new monitor
GET    /api/watches/:id      — Get monitor details
DELETE /api/watches/:id      — Delete a monitor
GET    /api/history/:id      — Get change history
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Authenticate with an API key (&lt;code&gt;X-API-Key&lt;/code&gt; header) and build your own integrations. Full docs at &lt;a href="https://pulsewatch.watch/docs/api" rel="noopener noreferrer"&gt;pulsewatch.watch/docs/api&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chrome Extension
&lt;/h2&gt;

&lt;p&gt;I also built a Chrome extension that lets you add any website to PulseWatch directly from your browser. Right-click on any page → "Monitor with PulseWatch" → done.&lt;/p&gt;

&lt;p&gt;Available on the &lt;a href="https://chromewebstore.google.com/detail/pulsewatch-website-monito/jdlclldlophdelagkgmccdmjegjocfpn" rel="noopener noreferrer"&gt;Chrome Web Store&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Internationalization
&lt;/h2&gt;

&lt;p&gt;PulseWatch supports &lt;strong&gt;9 languages&lt;/strong&gt;: English, Turkish, German, Spanish, French, Arabic, Japanese, Korean, and Chinese. The landing page, app, and even AI-generated change summaries are all localized.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;I'm currently working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Public status pages for monitored sites&lt;/li&gt;
&lt;li&gt;Weekly digest emails&lt;/li&gt;
&lt;li&gt;Webhook retry mechanism&lt;/li&gt;
&lt;li&gt;Onboarding flow improvements&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;PulseWatch has a &lt;strong&gt;free tier&lt;/strong&gt; (2 monitors, daily checks) so you can try it without commitment. Paid plans start at $8.99/month for more monitors, faster checks, and API access.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://pulsewatch.watch" rel="noopener noreferrer"&gt;pulsewatch.watch&lt;/a&gt;&lt;br&gt;
📱 &lt;strong&gt;Chrome Extension:&lt;/strong&gt; &lt;a href="https://chromewebstore.google.com/detail/pulsewatch-website-monito/jdlclldlophdelagkgmccdmjegjocfpn" rel="noopener noreferrer"&gt;Chrome Web Store&lt;/a&gt;&lt;br&gt;
📖 &lt;strong&gt;API Docs:&lt;/strong&gt; &lt;a href="https://pulsewatch.watch/docs/api" rel="noopener noreferrer"&gt;pulsewatch.watch/docs/api&lt;/a&gt;&lt;br&gt;
🐙 GitHub: &lt;a href="https://github.com/KaracaTR/pulsewatch-website-monitoring" rel="noopener noreferrer"&gt;https://github.com/KaracaTR/pulsewatch-website-monitoring&lt;/a&gt;&lt;br&gt;
📺 &lt;strong&gt;Demo Video:&lt;/strong&gt; &lt;a href="https://youtu.be/2SKgV4QqtNg" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;br&gt;
🏹 &lt;strong&gt;Product Hunt:&lt;/strong&gt; &lt;a href="https://www.producthunt.com/products/pulsewatch-2" rel="noopener noreferrer"&gt;Product Hunt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear your feedback! What features would you find most useful? Drop a comment below 👇&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>saas</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
