DEV Community

Cover image for I Built an AI-Powered Website Monitor — Here's How It Works
KaracaTR
KaracaTR

Posted on

I Built an AI-Powered Website Monitor — Here's How It Works

Hey folks! 👋

I've been working on PulseWatch — 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.

The Problem

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.

The Solution: AI-Powered Selection

PulseWatch uses GPT-4o to analyze web pages and suggest what to monitor. Instead of writing CSS selectors manually, you can:

  1. Point and click — Take a screenshot, click on the element you want to track
  2. Drag to select — Draw a box around a region on the page
  3. AI suggestions — Let GPT-4o analyze the page and recommend what to monitor
  4. 40+ templates — Pre-built selectors for popular sites like Amazon, eBay, GitHub, and more

Tech Stack

Here's what powers PulseWatch under the hood:

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

How Change Detection Works

The monitoring flow is straightforward:

  1. User adds a URL and selects an element (via AI, visual selector, or template)
  2. PulseWatch captures a screenshot and extracts the element content on a schedule
  3. When content changes, it generates an AI summary of what changed
  4. Notifications fire across all configured channels

The AI summary is a game-changer — instead of just saying "something changed," PulseWatch tells you what changed in plain language.

Multi-Channel Notifications

One of the most requested features was flexible notifications. PulseWatch supports:

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

REST API for Developers

As a developer, I wanted PulseWatch to be API-first. The REST API lets you:

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
Enter fullscreen mode Exit fullscreen mode

Authenticate with an API key (X-API-Key header) and build your own integrations. Full docs at pulsewatch.watch/docs/api.

Chrome Extension

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.

Available on the Chrome Web Store.

Internationalization

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

What's Next

I'm currently working on:

  • Public status pages for monitored sites
  • Weekly digest emails
  • Webhook retry mechanism
  • Onboarding flow improvements

Try It Out

PulseWatch has a free tier (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.

🔗 Website: pulsewatch.watch
📱 Chrome Extension: Chrome Web Store
📖 API Docs: pulsewatch.watch/docs/api
🐙 GitHub: https://github.com/KaracaTR/pulsewatch-website-monitoring
📺 Demo Video: YouTube
🏹 Product Hunt: Product Hunt

I'd love to hear your feedback! What features would you find most useful? Drop a comment below 👇

Top comments (0)