Inspiration
A few of us are originally from developing countries where corruption is high. Politicians weaponise the media to push an agenda, fear-monger, and polarise society through emotive and/or exaggerated language. We wanted to create a tool that makes fact-checking quick, accessible and reliable - it helps users understand the credibility of what they see online and promotes healthier conversations.
What it does
Clearframe ingests news queries, fetches diverse articles, runs per-article bias/credibility analysis, summarises findings in plain language (Grandma Mode), and displays metrics in a compact UI. It tracks API/LLM calls, latency, cost, tokens, and errors via LangSmith-aligned tracing.
How we built it
Backend: Flask API + a deterministic bias pipeline with observability helpers. Frontend: React/TS + Tailwind (FactCheckInput/Result) with Grandma Mode styling. Tracing/metrics: spans tagged with mode/tools/models, rolling up cost/tokens/errors for dashboards. Tests cover consistency/load/manual bias checks.
Challenges we ran into
Keeping outputs deterministic for consistency tests; fitting rich metrics into a compact UI without wasted space; aligning LangSmith metadata (cost/tokens/error_type) across tools and LLM calls; handling occasional long latencies and empty search results gracefully.
Accomplishments that we're proud of
End-to-end visibility (spans, errors, cost, tokens) surfaced in both LangSmith and the UI; clear, compact bias summaries with Grandma Mode; robust bias heuristics with aggregate stats; reduced UI sprawl in the metrics card while keeping quick-glance bars.
What we learned
Observability needs consistent tagging/metadata from the start; compact UI wins require aggressive spacing tweaks; deterministic pipelines simplify trust and testing; users value plain-language summaries alongside detailed metrics.
What's next for Clear Frame
Add richer charts (sparklines/trends) in the metrics strip; collect/show feedback scores; tighter LangSmith saved views per mode/environment; optional audio “read aloud” for summaries; more resilient search fallbacks and faster latencies.
Built With
- cli
- fastapi
- flask
- holisticai
- javascript
- langchain
- langgraph
- langsmith
- python
- react
- tailwind
- valyu
- vite
Log in or sign up for Devpost to join the conversation.