I'm Joshua, a teen from Kerala, India.
I built Kairos because I was frustrated that every AI I tested hallucinated on live events. During today's T20 World Cup Final, ChatGPT named the wrong player. Copilot named a different wrong player. Both confidently. Neither had live data.
Kairos solves this differently. Instead of sending raw search results to the LLM and hoping, it runs a verification pass first — cross-checking titles across RSS, DuckDuckGo, and NewsAPI, scoring each result by how many independent sources confirm it, then sorting by confidence before the LLM ever sees the context.
The architecture:
1. Pronoun resolution from ChromaDB conversation history (no API call) 2. Domain classification (6 domains) 3. Query expansion — 1 query becomes 4 targeted searches, pure Python, zero extra API calls 4. Parallel async fetch with timeouts 5. Cross-verification scoring 6. Dynamic thinking budget (0 for sports scores, up to 10k for complex analysis, hard capped) 7. 250 word output limit
Total codebase: ~90KB Model: Gemini 2.5 Flash Cache: ChromaDB Cost: $0
Benchmark on today's T20 Final: Kairos 43/50, Gemini 40/50, Perplexity 38/50, Copilot 26/50, ChatGPT 19/50
ChatGPT and Copilot both hallucinated player names with full confidence. Kairos cited 15 live sources.
GitHub: https://github.com/joshuaveliyath/kairos
Happy to answer technical questions.