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:
- Searches the live web with Tavily (search #1): four agents in parallel cover hiring, product and pricing changes, customer friction, and market news.
- Forms one hypothesis with NVIDIA Nemotron: it cites evidence only by ID, so every claim traces back to a real retrieved source.
- 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.
- 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.
- Recommends actions, each tied to the signals it responds to.
- Remembers: each scan becomes a baseline, so the next one shows what changed, and every hypothesis goes into a track record.
- 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

