🧠 Inspiration
Financial misinformation spreads quickly—on social media, in casual conversations, or even among news outlets. We often hear claims like "The Fed will cut rates next month" or "TSMC stock will skyrocket after the election," but it's difficult to know whether to trust them.
We wanted to build a lightweight tool that empowers anyone—even non-experts—to quickly verify the credibility of financial claims using real-time web-sourced analysis.
💡 What it does
FinCheck is a simple yet powerful tool that lets users input or choose trending financial claims and instantly get:
- A verdict (
True,False,Inconclusive, etc.) - A confidence score from 0–100%
- Supporting and opposing arguments
- A short summary
- Clickable source links
Everything is presented in a clean UI with loading feedback and dynamic example generation.
🔧 How we built it
- Frontend: Built with Gradio Blocks to create a fast, interactive UI
- Fact-checking: Powered by the
sonar-promodel from Perplexity via their OpenAI-compatible API - Trending claim generation: Powered by [
sonar] to quickly generate 5 recent financial claims via prompting - API integration: Managed via the
openaiPython SDK with.envsecret handling - JSON parsing & validation: We added a robust pipeline to extract, sanitize, and parse response content
🧱 Challenges we ran into
- Non-standard JSON output: Even with clear prompts, the model sometimes returned responses with markdown code blocks or introductory text. We implemented smart content cleaning logic to extract valid JSON before parsing.
- Inconsistent verdict-confidence pairs: We encountered results like
Mostly Truewith only8% confidence. This led us to rewrite our prompt logic to enforce alignment between verdict label and score. - Latency trade-offs: To improve speed, we used
sonarfor generating trending examples while keepingsonar-profor high-quality fact-checking.
🏆 Accomplishments that we're proud of
- Built a fully working, clean, and demo-ready prototype
- Created a structured UX that balances power and simplicity
- Designed a dynamic prompt strategy to reduce hallucination and contradiction
- Empowered non-financial users to evaluate claim credibility without needing deep domain knowledge
📚 What we learned
- Perplexity's Sonar models can be incredibly useful for real-time, source-grounded analysis
- Good prompt engineering is critical to guide LLMs toward structured, useful, and consistent responses
- It’s possible to go from an idea to a polished demo when leveraging strong foundation models + Gradio
🚀 What's next for FinCheck
- Add auto-refreshing trending claims from real news sources using Firecrawl or Perplexity Search API
- Improve result interpretability with color-coded verdict bars and optional follow-up questions like “Why?”
- Deploy on Hugging Face Spaces or Streamlit Cloud for public use
- Explore adding multi-language support and daily report digest
Built With
- gradio
- python
- sonar
- sonar-pro
Log in or sign up for Devpost to join the conversation.