DEV Community

Jason Wang
Jason Wang

Posted on

I spent 6 months thinking about this problem. Then built the solution in a day.

The Problem

We're drowning in information. News, reports, expert opinions, policy documents — all of it arriving faster than we can process.
Every time I asked an LLM to help me reason through something complex, I'd get one of two responses:

A confident, well-structured answer that was subtly (or not so subtly) wrong
A meandering response that contradicted itself halfway through

I tried multi-agent debate setups. Same problem, just more expensive.
Then I realized: the core issue isn't information overload. It's that cause-and-effect relationships are invisible.
LLMs are great at pattern matching. They're terrible at causal reasoning — and they don't know it.

What I Built

After sitting on this idea for six months, I vibe coded CurioCat in a day using Claude Code.
CurioCat is an open-source causal reasoning engine. Drop in any text — policy analysis, investment thesis, competitive intelligence, industry trends — and it maps out the causal structure, sources evidence for every claim, and quantifies how confident you should actually be in each conclusion.
Not a chatbot. Not a summarizer. A reasoning X-ray.

Graph Demo

How It Works

The pipeline has six stages:

  1. Atomic Claim Decomposition Breaks text into the smallest meaningful units and labels each one: fact, assumption, prediction, or opinion.
  2. Causal Direction Inference Uses embedding-based filtering + LLM judgment to identify which claims drive which outcomes and map the transmission mechanisms.
  3. Adversarial Dual-Search For every causal edge, it searches for both supporting and contradicting evidence simultaneously. No cherry-picking.
  4. Cognitive Bias Detection Flags 8 common reasoning failures: correlation-causation confusion, survivorship bias, anchoring effects, narrative fallacy, and more.
  5. Iterative Evidence Expansion Mines evidence to surface facts not mentioned in the original text, iterating until the graph converges.
  6. Noisy-OR Belief Propagation Propagates confidence scores along the DAG in topological order. Zero evidence = zero propagation. No hallucination can sneak through without a paper trail. The output is an interactive causal graph. Click any edge to see the evidence, bias warnings, and strength scores behind it.

Three Design Decisions Worth Explaining

Evidence-Modulated Propagation
Confidence can only flow downstream if there's evidence supporting the edge. An unsupported causal link has zero propagation power — which means hallucinations can't compound through the graph.
Adversarial Evidence
Every edge gets both a supporting search and a contradicting search. Single-source claims get penalized up to 30%. This is the core anti-echo-chamber mechanism.
Scenario Branching
Change the strength of any causal edge, and confidence scores propagate in real time. Lets you ask "what if this assumption is wrong?" and see exactly what breaks downstream.

On Vibe Coding

This idea sat in my head for six months. I kept thinking about the right architecture, the right approach, whether it was even worth building.
Then I just opened Claude Code and started. First line of code to open-source: one day.
I used to think "figure it out before you start" was the right move. Now I think some problems only become clear once you're in them.

App Preview

Try It

CurioCat is open source on GitHub — includes a demo dataset so you can run it without spending any tokens.
👉 https://github.com/coolgenerator/CurioCat

Star it, fork it, open an issue. I'm especially curious about use cases I haven't thought of yet — I've had conversations about geopolitical analysis, investment research, and competitive intelligence, but I suspect there are weirder and more interesting applications out there.

What's the hardest information environment you deal with in your work? Drop it in the comments — genuinely curious.

Top comments (0)