I'd Cap That
Inspiration
I was talking to someone who was confidently, relentlessly wrong. Three claims in a row all said with total certainty and none of them true. We've all been this boat before. What's the alternative? Pull out your phone, chatGPT three things, and come back to a conversation that's already moved on? It's just easier to let it go.
But voice AI is really good today. WIth live transcription being so fast and cheap I saw an oppurtunity not to let it go.
Fact-checkers exist, but they're built for journalists and they work on articles. Meeting tools exist, but they hand you notes after the fact. Neither one tells you something is false while the person is still talking.
Neither one has a cap index.
What it does
It transcribes live, works out which sentences are actual claims, checks them against real web pages, and marks the exact words:
NO CAP · ABSOLUTE CAP · SOME CAP · COULD BE CAP · WORD SALAD
Four seconds from the end of your sentence to a verdict with a real source under it. Running tally at the top, so you watch someone's cap index climb in real time. It can run in a browser, and installs on a phone as an app.
Things I've thrown at it:
- "Mount Everest is nine thousand metres" → ABSOLUTE CAP
- "Notion costs eight dollars a seat" → ABSOLUTE CAP, actually $20
- "Snowflake is the best database in the world" → WORD SALAD
- "Usain Bolt ran 9.58" → NO CAP
- "How's it going?" → ignored, costs nothing
The buzzword one is my favourite. It doesn't argue with it. It just refuses to take it seriously.
And the reason it works socially is that the screen says it and you don't have to. You're not the guy fact-checking his friends any more. You just point at a phone.
How I built it
- Deepgram for live speech, streamed as raw audio so it works on a phone
- Claude twice: once to find the claim and work out who "they" refers to, once to weigh the evidence and return a verdict
- Firecrawl to search and read real pages
- Moss as memory, every page it reads gets indexed, so a related claim comes back in 15ms with no search at all
- Small talk gets thrown out in plain Python
Challenges I ran into
A funny bug while testing is when I said "fifty seconds." It treated that as a claim, found a restaurant in Lisbon called Fifty Seconds, found a real page saying a lift there takes exactly fifty seconds, verified the quote, and returned a confident NO CAP. Every step worked. The answer was nonsense however. Nothing had asked whether the evidence was about the same thing as the claim.
Accomplishments I am proud of
The coolest part to me is that it holds the conversation context. Say "we're moving onto Notion", then two sentences later "they raised at a ten billion valuation", and it knows who "they" is (Notion in this case).
What I learned
A fact-checker that's confidently wrong is worse than no fact-checker at all. One bad verdict and nobody trusts the good ones.
Almost every hard problem was not in the shape of "can it find the answer" but "can it tell when it hasn't". Being precise about when to shut up matters more than being clever here.
What's next for I'd Cap That
Speaker separation, so it knows who said what and the cap index becomes a leaderboard.
And a mode that checks against your own documents instead of the open web, same engine, pointed at a contract or a pitch deck.
Built With
- audioworklet
- claude
- cloudfare
- css
- deepgram
- fastapi
- firecrawl
- git
- html
- httpx
- javascript
- moss
- nova-3
- pwa
- pydantic
- pytest
- python
- render
- service-worker
- uvicorn
- web-audio-api
- webrtc
- websockets
Log in or sign up for Devpost to join the conversation.