DEV Community

Cover image for How I Built a SaaS in a Weekend That Replaces Google Alerts
Marcos Placona
Marcos Placona

Posted on

How I Built a SaaS in a Weekend That Replaces Google Alerts

Google Alerts has been broken for years. It misses most mentions, delivers them days late, and gives you zero context about what was said. I know because I tracked it. Out of 10 real mentions of my brand in a week, Google Alerts caught 2.

The paid alternatives (Mention, Brand24) start at $99+/mo and are built for enterprise marketing teams. There's nothing in between for indie founders, freelancers, or small businesses.

So I built MentionDrop. Real-time web mention monitoring with AI summaries, for $29/mo. Here's how I did it in a weekend.

The Problem I Kept Running Into

Someone trashed one of my products on a niche forum. I found out two weeks later when a friend sent me the link. Google Alerts never picked it up. By then, the thread had 40+ replies, and the narrative was set.

That was the last straw. I needed something that actually monitored the web in real-time and told me what was being said, not just that a keyword appeared on a page somewhere.

The Stack

I optimized for speed-to-launch. Every tool in the stack was chosen because I could go from zero to working in minutes, not days.

Layer Tool Why
Frontend Next.js (App Router) Fast to ship, great DX
UI shadcn/ui + Tailwind Beautiful components without designing from scratch
Auth Clerk 5 minutes to add login, social auth, user management
Database Supabase (Postgres) Free tier is generous, instant API, real-time subscriptions
Payments Stripe Checkout, billing portal, webhooks out of the box
AI Gemini Flash-Lite Cheap, fast, good enough for summarization
Email Resend + React Email Developer-friendly transactional email
Worker hosting Railway $2/mo for a background process
Frontend hosting Vercel Free tier for Next.js

Total infrastructure cost: under $5/mo to start. That matters when you're validating an idea.

How It Works (High Level)

The architecture is two processes:

  1. Next.js app on Vercel - the landing page, dashboard, and API routes
  2. Background worker on Railway - connects to a real-time data source, matches keywords, runs AI analysis, and stores results

When a user adds a keyword, the worker picks it up within seconds and starts monitoring. When a match is found, the AI processes it, and the user is notified via their preferred channel (email, Slack, or webhook).

The dashboard streams mentions in real-time via Supabase's real-time subscriptions, so you see new mentions appear without refreshing.

The Hardest Problem: Noise

Matching a keyword against web content sounds simple until you realize how noisy it is. One of the first companies to sign up was Box. "Box" matches every page that mentions a cardboard box. "Apple" matches every recipe blog. "Circle" matches geometry tutorials.

This is the problem Google Alerts has and has never solved. They dump everything on you and call it a day.

I spent most of my time on this problem. The solution involves multiple layers of filtering:

  • Keyword-level rules that understand short generic terms need stricter matching than longer, more specific ones
  • AI-powered relevance scoring that understands context. "Is this page about Box, the cloud storage company, or a shipping box?" The AI decides.
  • User-provided context - you can tell MentionDrop "Box is a cloud storage company, competitor to Dropbox," and it uses that to make better decisions

The result: irrelevant matches get filtered out before they ever reach you. When you get an alert, it's because something actually matters.

Each mention comes with:

  • A plain-English summary (even if the source is in another language)
  • Sentiment analysis (positive/neutral/negative)
  • A suggested action (respond, share, monitor, or ignore)

Lessons From Building in a Weekend

Clerk saved me hours. Auth is one of those things that seems simple but has a million edge cases. Clerk handles login, signup, OAuth, user management, and webhooks. I had the auth working in under 10 minutes.

Supabase real-time is magic for dashboards. Instead of polling for new mentions, I use Supabase's real-time subscriptions. When the worker stores a new mention, it appears on the dashboard instantly. Zero extra code on the frontend beyond subscribing to the table.

Railway is perfect for background workers. I needed a long-running process that stays connected to a data stream 24/7. Railway runs it for $2/mo. No Docker config, no Kubernetes, just npx tsx src/worker/consumer.ts.

Start with fewer features. The dashboard has filtering by keyword, sentiment, date range, and live streaming. I could have launched with just an email digest and a simple list page. Ship the minimum, then iterate.

Resend + React Email is the way. I write email templates in JSX with proper TypeScript props. No more wrestling with HTML email tables. The developer experience is a night-and-day difference compared to other email services.

The Numbers

  • Build time: 1 weekend (with AI assistance for code generation)
  • Infrastructure cost: ~$5/mo
  • Pricing: Free (1 keyword), $29/mo (5 keywords), $59/mo (20 keywords)
  • Tests: 100+ passing

What's Next

I'm working on improving the AI accuracy for multi-language mentions and adding more alert delivery options. The core product is solid, and I'm getting real users finding real mentions that Google Alerts would have missed.

Try It

If you've ever been frustrated by Google Alerts missing mentions of your brand, product, or name, give MentionDrop a try. Free tier, 1 keyword, no credit card needed.

mentiondrop.com

Happy to answer any questions about the build process, stack choices, or business decisions in the comments.

Top comments (0)