Inspiration
Every B2B SaaS team is flying blind on their competitors. By the time you hear that HubSpot cut its prices 25% or Attio shipped an AI agent, your own customers already know — and your sales team is the last to find out. The status quo is someone manually checking a dozen pricing pages and changelogs every week, which means it never actually happens.
We didn't want another dashboard you have to remember to open. We wanted an analyst that messages you first — one that does the boring monitoring work autonomously and only interrupts a human when a change is genuinely worth interrupting them. That framing ("alert only when it matters") became the soul of the whole project.
What it does
PulseWatch AI is an autonomous competitor-intelligence agent. It watches your competitors' pricing, changelogs, and hiring pages around the clock and turns raw web changes into decisions:
Detects — on a loop, it reads the live web for every competitor on your watchlist. Scores — Gemini rates each change $0$–$100$ on how much it actually matters, using a calibrated rubric so a price cut scores 90 (urgent) while a routine hire scores 44 (informational). Alerts — only changes above the threshold fire a real WhatsApp message to your phone. Out of four detected changes, exactly one is worth your attention — and that's the only one that pings you. Explains — every alert is a Change Card: what changed · why it matters · what to do next, written in analyst-grade prose. Answers — an Ask Analyst chat grounds Gemini in your tracked competitors plus a live web search, citing every source. You can also have it brief you by voice. Extends — the same cascade engine traces a supplier disruption (e.g. a TSMC earthquake) downstream through components → products → regions to a dollar figure of revenue at risk. Monetizes — it publishes its findings to a Markdown feed and sells premium reports to other agents over an x402 HTTP-402 paywall — agents pay, humans never touch checkout. The signature visual is the Market Pulse Radar: competitor nodes pulse red, amber, or green by severity as the agent sweeps.
How we built it
The stack is Next.js 14 (App Router) + TypeScript + Tailwind, with every integration behind an adapter that has a zero-key local fallback — so the app runs fully offline and degrades gracefully on stage.
We used 10 sponsor/partner tools, each load-bearing:
Tavily — live web search + extraction for monitoring and the analyst chat. Google DeepMind / Gemini — the single reasoning brain: scoring, Change Cards, and chat (gemini-2.5-flash, strict JSON output). ClickHouse — snapshot store and diff engine, with an in-memory fallback seeded so a real change fires on first scan. Twilio — the visible "real action": a WhatsApp alert delivered to a live phone. ElevenLabs — voice briefings and a real-time voice analyst. Senso — the context layer: every detected event is recorded as knowledge and retrieved before the next loop. Prometheux — the supply-chain cascade graph reasoning. x402 — agent-native monetization via HTTP 402 payment requirements. To ship fast, we split the build across 10 parallel Cursor agents with strictly disjoint file ownership and a locked "spine" (shared types, the page shell, and adapter signatures none of them could touch). Claude owned the hardest, highest-judgment piece — the scan pipeline — and wrote self-contained prompts for the rest. The result compiled from day one with zero merge collisions.
A core design principle was demo determinism: we seed prior snapshots that deliberately differ from the curated "current" content for a handful of scripted URLs, so a real diff always fires live — while live Tavily still runs against every other page. Genuine integration, bulletproof demo.
Challenges we ran into
wilio couldn't reach a UK phone. On a trial account, US long-code → UK mobile is blocked (error 21612), and alphanumeric sender IDs are blocked too (21267). After confirming it was a routing wall, not a geo-permission one, we pivoted to the Twilio WhatsApp Sandbox — free, international, and it delivered end-to-end to a real phone. Gemini's model was deprecated. gemini-2.0-flash now 404s; we moved to gemini-2.5-flash and discovered the API key format only authenticates via query param, not a Bearer header. Scoring inflation. Early on, Gemini rated everything 80–95 — all red, no signal. We wrote a detailed calibration rubric ("$80+$ is rare, ~1 in 5") that produced a meaningful spread. ElevenLabs free-tier voices. The default "Rachel" library voice returns paid_plan_required; we switched to a premade voice that works on the free tier. A hydration mismatch on the supply-chain page — the server rendered a date as Jun 26, 01:00 PM while the browser's locale rendered 26 Jun, 13:00. We pinned the locale to fix it. Stale env caching — Next.js cached .env.local, so freshly added keys silently stayed in mock mode until we fully killed every dev-server process.
Accomplishments that we're proud of
A genuinely autonomous loop — detect → score → store → alert → publish → monetize — that runs on its own and produces a real WhatsApp message to a real phone. 10 sponsor integrations that all do real work, not logo-spam, each with a graceful fallback. An AI that shows restraint: out of every batch of changes, it stays quiet on the noise and speaks up once. That's the hardest and most valuable behavior. Shipping a polished, multi-page product — radar, Change Cards, analyst chat, voice, supply-chain cascade, x402 paywall — in a single hackathon window via a 10-agent parallel build with zero collisions.
What we learned
Context engineering is the product. A calibrated scoring rubric and a tight "why it matters" prompt mattered far more than model choice. Restraint is a feature you have to engineer. Trial-account reality breaks the happy path. The most time went not into AI but into the unglamorous plumbing — phone routing, key formats, env caching, hydration. Disjoint ownership makes parallelism actually work. Locking the shared spine and giving each agent its own files let ten builders move at once without stepping on each other. Fallbacks aren't optional for a live demo. Every adapter degrading gracefully is what let us demo with confidence regardless of network or rate limits.
What's next for Pulse Watch AI
Self-expanding watchlists — let the agent discover new competitors from the web instead of a seeded list. Richer sources — social, job boards, funding announcements, and product-review sites beyond pricing/changelog/careers. Tighter feedback loop — let users mark an alert as useful or noise, and feed that back into the scoring rubric so it calibrates to each team. Team delivery — Slack/email digests, role-based routing, and a shared timeline. Real agent commerce — move the x402 paywall from demo mode to live USDC settlement on Base, so PulseWatch genuinely earns by selling intelligence to other agents.
Built With
- nextjs
Log in or sign up for Devpost to join the conversation.