How atharvs7/veritasai-v2 works
VeritasAI verifies submitted articles, URLs, text, or files at the claim level: it extracts and gates claims, gathers evidence, evaluates signals, and returns an explainable verdict. The React client also exposes authentication, history, analytics, dataset, community feed, and trending-claim views. The README documents the verification stages and product capabilities; source excerpts and the index show selected wiring, but not every backend call or UI data flow, so unsampled relationships are omitted.
Main entry points: analyze.py Analysis route · api.js API client · trending_cron.py Trending analysis job · DetectPage.jsx Analysis page
Components 34
Web client
- Application routes
src/App.jsx - Analysis page
src/pages/DetectPage.jsx - Article input
src/components/ArticleInput.jsx - Verdict display
src/components/ResultCard.jsx - API client
src/lib/api.js
Claim verification
- Analysis route
backend/routes/analyze.py - Input normalization
backend/lib/input_handler.py - File extraction
backend/lib/file_parser.py - Claim extraction
backend/lib/claim_extractor.py - Check-worthiness gate
backend/lib/ml_model.py - Evidence retrieval
backend/lib/evidence_retriever.py - Source credibility
backend/lib/source_credibility.py - Evidence reasoning
backend/lib/evidence_reasoner.py - Language signals
backend/lib/heuristics.py - Verdict ensemble
backend/lib/ensemble_verdict_v2.py - Decision explanation
backend/lib/explainability_formatter.py
Evidence and persistence
- Result cache
backend/lib/cache.py - Public data store
backend/lib/supabase_client.py - Feed persistence
backend/lib/feed_manager.py
Accounts and controls
- Auth state
src/context/AuthContext.jsx - Authentication routes
backend/routes/auth.py - JWT authentication
backend/lib/auth.py - Daily quota
backend/lib/daily_quota.py - Rate limiting
backend/lib/limiter.py
Community and analytics
- Analytics dashboard
src/pages/DashboardPage.jsx - Community feed
src/pages/FeedPage.jsx - Dataset browser
src/pages/DatasetPage.jsx - Private history
src/pages/HistoryPage.jsx - Trending analysis job
backend/jobs/trending_cron.py - Statistics route
backend/routes/stats.py - Feed route
backend/routes/feed.py - Dataset route
backend/routes/dataset.py - Trending route
backend/routes/trending.py
Other components
- User
Connections 35
- User → Application routes: uses
src/App.jsx - Application routes → Analysis page: routes to
src/App.jsx - Analysis page → Article input: renders
src/pages/DetectPage.jsx - Analysis page → API client: requests analysis
src/pages/DetectPage.jsx - API client → Analysis route: calls API
src/lib/api.js - Analysis route → Input normalization: normalizes input
backend/routes/analyze.py - Input normalization → File extraction: extracts URL text
backend/lib/input_handler.py - Analysis route → Claim extraction: extracts claims
README.md - Analysis route → Check-worthiness gate: gates claims
backend/routes/analyze.py - Analysis route → Evidence retrieval: retrieves evidence
README.md - Evidence retrieval → Result cache: caches searches
backend/lib/evidence_retriever.py - Analysis route → Source credibility: scores sources
README.md - Analysis route → Evidence reasoning: reasons over evidence
README.md - Analysis route → Language signals: evaluates signals
README.md - Analysis route → Verdict ensemble: aggregates verdict
README.md - Analysis route → Decision explanation: formats explanation
README.md - Analysis route → Verdict display: returns verdict
- Auth state → API client: sends auth requests
src/context/AuthContext.jsx - API client → Authentication routes: calls API
src/lib/api.js - Authentication routes → JWT authentication: uses auth
backend/routes/auth.py - Analysis route → Daily quota: checks quota
backend/routes/analyze.py - Analysis route → Rate limiting: applies limits
backend/routes/analyze.py - Analysis route → Feed persistence: stores analysis
backend/routes/analyze.py - Feed persistence → Public data store: writes feed data
backend/lib/feed_manager.py - Trending analysis job → Analysis route: runs pipeline
backend/jobs/trending_cron.py - Trending analysis job → Feed persistence: stores results
backend/jobs/trending_cron.py - Trending analysis job → Public data store: checks recent items
backend/jobs/trending_cron.py - Analytics dashboard → API client: requests stats
src/pages/DashboardPage.jsx - API client → Statistics route: calls API
src/lib/api.js - Community feed → API client: requests feed
src/pages/FeedPage.jsx - API client → Feed route: calls API
src/lib/api.js - Dataset browser → API client: requests dataset
src/pages/DatasetPage.jsx - API client → Dataset route: calls API
src/lib/api.js - Private history → API client: requests history
src/pages/HistoryPage.jsx - API client → Trending route: calls API
src/lib/api.js