Inspiration

Competitors rarely announce their next move, but they leave signals: a burst of job posts, a new API endpoint, a pricing change, a wave of customer complaints. Most AI research tools turn those signals into a confident summary without ever checking whether they're wrong. We wanted an agent that behaves like a careful analyst: form a hypothesis, then try to break it before saying anything.

Our design follows Nyaya, classical Indian logic, which required stating the strongest case against your own position (Purva Paksha) before reaching a verdict (Nirnaya). The visual identity comes from the kolam, the South Indian art of connecting a grid of dots into one pattern, which is exactly what PulseGrid does with evidence.

What it does

You name a company, and PulseGrid:

  1. Searches the live web with Tavily (search #1): four agents in parallel cover hiring, product and pricing changes, customer friction, and market news.
  2. Forms one hypothesis with NVIDIA Nemotron: it cites evidence only by ID, so every claim traces back to a real retrieved source.
  3. Argues against itself with Tavily (search #2): Nemotron writes counter-queries, Tavily hunts for contradicting evidence, and Nemotron judges what genuinely weakens the hypothesis. You can see every counter-search it ran.
  4. Computes confidence in Python, not by the LLM: evidence is weighted (official sources count more than forum posts), contradictions pull the score down, and a "Why not higher?" note explains what's missing.
  5. Recommends actions, each tied to the signals it responds to.
  6. Remembers: each scan becomes a baseline, so the next one shows what changed, and every hypothesis goes into a track record.
  7. Alerts your team on Slack when a watched company's evidence changes (on rescans, not real time).

The app runs as a five-screen flow: Investigate → Thinking (a live kolam draws itself as evidence arrives) → Results → Recommended actions, plus Watchlist and Track record pages.

How we built it

  • NVIDIA Nemotron 3 Super (120B) via Nebius Token Factory (OpenAI-compatible API, JSON mode) for three reasoning steps: hypothesis, contradiction judging, and narrative + actions.
  • Tavily for live web search, used twice per investigation: discovery and adversarial counter-search.
  • Python for all scoring, so numbers are deterministic and auditable.
  • Supabase for scan baselines, predictions, the watchlist and an alert log, with Row Level Security on every table.
  • Slack incoming webhooks for alerts, plus a GitHub Action for daily rescans.
  • Streamlit with a custom light folk-art theme, deployed on Streamlit Community Cloud.

Challenges we ran into

  • A silent fallback hid a real bug. Our early model ID was missing its suffix (-a12b), and a demo fallback quietly showed simulated data instead of failing. We changed the app so simulation only runs when explicitly enabled, with a red banner, and real errors are always shown.
  • Making confidence honest. Our first scoring let ten vague job ads outscore two official announcements. We moved all scoring into Python with source weighting, so quality beats quantity.
  • Stopping hallucinated sources. The model may only cite evidence IDs, which Python maps back to real Tavily results; anything else is dropped.
  • Reasoning models and JSON. Nemotron sometimes wrapped its JSON in reasoning text, so we built a parser that extracts the most complete JSON object and retries once.
  • Team and tooling. Two of us pushed to the same repo from different machines and hit a merge conflict hours before the deadline. We learned to back up work in a branch and keep one person pushing.
  • Security before going public. Keys had once been committed, so we rotated every key, enabled RLS on Supabase, and redacted keys from all error messages.

Accomplishments that we're proud of

  • An agent that visibly tries to prove itself wrong, and shows every counter-search it ran.
  • A confidence score you can audit factor by factor.
  • A complete loop: investigate, verify, recommend, remember, and alert.
  • A design with cultural identity, Nyaya logic and the kolam, instead of another dark AI dashboard.

What we learned

Trust comes from showing your work. Sources, counter-evidence and how a score was calculated matter more than a confident paragraph. We also learned that a fallback that hides failures is worse than a visible error.

What's next for PulseGrid AI

  • Real-time monitoring instead of rescans
  • Email digests and more alert channels
  • Side-by-side comparison of several competitors
  • Using the growing track record to calibrate confidence as predictions are confirmed or refuted

Built With

  • claude
  • github-actions
  • nebius
  • nebius-token-factory
  • nvidia-nemotron
  • openai-api
  • postgresql
  • python
  • slack
  • streamlit
  • supabase
  • tavily
Share this project:

Updates

posted an update —

PulseGrid AI is live!

PulseGrid AI is now deployed: https://pulsegrid-ai19.streamlit.app

What’s in this release:

Two Tavily searches per investigation: one to discover signals, one to challenge the hypothesis (Purva Paksha) NVIDIA Nemotron 3 Super on Nebius Token Factory for the hypothesis, contradiction judging and recommended actions Confidence computed in Python from weighted evidence, with a “Why not higher?” explanation “What changed since last scan,” a track record of past hypotheses, and Slack alerts for watched companies A new five-screen flow with a light folk-art design and a live kolam that draws itself as evidence arrives

Next: real-time monitoring, email digests, and comparing several competitors side by side.

Submission history