CompetitorPulse

The "Why"

We are four builders (one CS, three Tech Management) who spend entirely too much time watching founders ship. We noticed a fatal flaw: founders are obsessed with their codebase, but completely blind to their market. Why? Because competitive analysis is soul-crushing grunt work. It’s 20 stale browser tabs, a Notion doc nobody updates, and pure anxiety when a competitor launches a feature you didn't see coming.

Founders don't have the headcount for a strategy team. So, this weekend, we built them one in silicon.


The Engine (What It Does)

CompetitorPulse is an AI-powered competitive intelligence platform that monitors your competitors 24/7 and turns raw public signals into personalized, actionable strategic insights.

You tell it who you are and who your competitors are. It does everything else.

  • Ingestion Engine — scrapes competitor websites every 6 hours, detects changes using MD5 content diffing, and extracts structured signals (pricing changes, feature launches, hiring moves, funding rounds, partnerships) using Claude Sonnet

  • 7-Agent Intelligence Pipeline — a multi-agent system powered by NVIDIA Nemotron 70B that classifies signals, generates strategic insights, red-teams every conclusion, predicts competitor moves, verifies evidence, detects contradictions, and quality-gates the final output

  • Personalized Weekly Digest — not just "Competitor X changed their pricing." It's "Competitor X raised pricing by 40%, which opens a direct gap in the SMB market you're already targeting. Here's what to do this week."

  • Real-time Dashboard — signal timeline, competitor radar, threat scoring, and charts, all live via Supabase Realtime


The Architecture (How We Built It)

We divided into four parallel streams and wired them together via Next.js 16 Server Actions and Supabase Edge Functions.

Infrastructure: Next.js 16 App Router (Turbopack), Vercel Serverless.

Data & Auth: Supabase PostgreSQL with strict Row Level Security (RLS) policies.

Ingestion: Cheerio + native fetch + MD5 hashing.

Inference: Claude Sonnet (Extraction) + Nemotron 70B via OpenRouter (Reasoning).

The UI: Tailwind, shadcn/ui, Recharts, and a custom Three.js WebGL cybernetic grid shader because we wanted it to look like a terminal from The Matrix.


The 7-Agent Nemotron Pipeline

This is our crown jewel. We didn't just ask an LLM to "summarize the news." We built a mathematical, parallel reasoning flow. Every LLM call is traced to a JSONL log with duration and token counts.

$$\text{Signals} \xrightarrow{\text{1. Classifier}} \xrightarrow{\text{2. Strategist}} \begin{bmatrix} \text{3. Red Team} \ \text{4. Predictor} \ \text{5. Verifier} \ \text{6. Conflict Resolver} \end{bmatrix} \xrightarrow{\text{7. Quality Judge}} \text{Digest}$$

Agent Role
Signal Classifier Categorizes signals: offensive move, defensive move, market expansion, internal shift, ecosystem play
Competitive Strategist Generates what happened, strategic impact, impact on your product, recommended action, urgency
Red Team Agent Challenges every insight — counter-arguments, blind spots, alternative interpretations. Verdict: upheld / challenged / overturned
Scenario Predictor Predicts competitor's next moves with confidence scores and preemptive actions
Signal Verifier Checks if insights are grounded in actual evidence. Flags speculation
Contradiction Detector Finds conflicts between insights, flags severity, recommends resolution
Quality Judge Final gate — scores specificity, actionability, evidence strength. Assigns letter grade A–D

Agents 3–6 run in parallel. Every LLM call is traced to a JSONL log with call ID, duration, and token count.

We're also proud that the full loop — sign up → onboard → add competitors → signals populate → generate digest → read personalized insights — works end to end.


Challenges We Ran Into

  1. The DOM is Garbage: The internet is not built to be parsed. Feeding raw competitor websites to Claude resulted in it drowning in cookie banners and React hydration scripts. Building a robust Cheerio middleware to extract only the semantic body text before the MD5 diff was a brutal, humbling experience.

  2. Agent Drift: Getting 7 different agents to maintain a shared context without repeating themselves or blindly agreeing with one another required intense system prompt engineering. Forcing the Quality Judge to actually fail bad insights instead of rubber-stamping them took hours of tuning.

  3. The 2 AM Merge: Four people building in parallel means API contracts break. Integrating the Cheerio output schemas with the Nemotron input requirements while resolving TypeScript drifts late Saturday night was our crucible.


The Moat (What's Next)

Any hackathon team can build a web scraper. Our moat is memory. The architecture is already built for this to become a real product.

  • More sources — Twitter/X monitoring, GitHub activity tracking, LinkedIn hiring signals, Product Hunt launches
  • Nia (Nozomio) context indexing — persistent competitive memory that gets smarter the longer you use it, creating a data flywheel no competitor can replicate overnight
  • Slack + email delivery — the digest finds founders, not the other way around
  • Team plans — shared dashboards, collaborative action items, digest sharing

The longer a founder uses CompetitorPulse, the smarter the vector graph gets about their specific competitive landscape. The system learns what threats actually matter to them. That is a data flywheel competitors cannot replicate overnight.

Pricing model:

  • Free — up to 2 competitors
  • $19/mo — unlimited competitors + weekly digests

- $79/mo — team dashboards, Slack integration, shared digests

Built by Saloni, Shreyam, Chirag, and Tansin with no sleep, a lot of laughs, and genuine belief that founders deserve better tooling.

Built With

  • cheerio
  • claude-sonnet-(anthropic)
  • next.js
  • nvidia-nemotron-70b
  • openrouter
  • postgresql
  • radix-ui
  • recharts
  • resend
  • shadcn/ui
  • supabase
  • tailwind-css
  • three.js
  • typescript
  • vercel
Share this project:

Updates

Submission history