Project Info
This project did not submit a demo video on Devpost.
🌍
Inspiration
Over 52% of U.S. adults get news from social media, where misinformation spreads rapidly (Pew Research). Political content today is shaped by polarization, AI-generated misinformation, and narrative framing. Most tools try to declare what’s “true” or “false.” TruthLens reveals narrative structure instead. We quantify: Cross-source semantic agreement Narrative divergence Emotional intensity Source diversity 🧠 What It Does Paste a headline or URL and TruthLens: Scrapes parallel coverage across publishers Generates 768-dimensional semantic embeddings Clusters articles using Elasticsearch kNN Computes a transparent confidence score Visualizes narrative groups and bias distribution The dashboard includes: ⚙️ How We Built It 1️⃣ Bright Data SERP scraping Article HTML extraction Parallel coverage retrieval 2️⃣ Jina Embeddings (v3) 768-dimensional vectors Semantic representation of full article text 3️⃣ Elasticsearch (Elastic Cloud) dense_vector storage kNN vector search Similarity scoring Greedy clustering Metric aggregation 4️⃣ Deterministic Scoring Fully transparent. No opaque LLM reasoning. 🚧 Challenges Choosing the right vector similarity threshold Handling inconsistent article HTML structures Designing a neutral, defensible scoring formula Avoiding political labeling while preserving usefulness 🏆 Accomplishments Built a full ingest → embed → index → cluster → score → visualize pipeline Deep integration with Elasticsearch vector search Real-time parallel media coverage analysis Transparent, reproducible scoring system Production-ready dashboard UI 📚 What We Learned Vector search is powerful for narrative detection Agreement across independent sources is measurable Emotional intensity often correlates with divergence Deterministic AI builds trust 🚀 What’s Next 🌐 World heatmap of coverage origins 📈 Historical divergence tracking 🔔 Narrative shift detection 🧩 Chrome extension overlay 🔧 Full Technology List Frontend Next.js (App Router) React Tailwind CSS Lucide Icons Backend Next.js API Routes TypeScript Search & Storage Elasticsearch (Elastic Cloud) dense_vector kNN search Vector similarity scoring Index mappings Google Cloud Aggregations Embeddings Jina Embeddings v3 (768 dimensions) Data Acquisition Bright Data API SERP API Web Scraper API Analysis & Scoring Custom sentiment analysis logic Greedy threshold clustering algorithm Deterministic confidence scoring formula Elastic Cloud
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
No commits on this project resolved to a GitHub account.
Technology
- CSSIn code
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Node.jsClaimed
5 of 6 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- CursorCommits
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
156 KB
Source files
25
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
rajabrehan/truthlens_treehacks
39 files · 468 KB · @ b80c2b3
Structure
Interface
13 files · 33%Screens, components and styles rendered to the user.
API & routing
1 file · 3%Request entry points: routes, handlers and controllers.
Application logic
8 files · 21%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript92%
- Markdown7%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
truthlens/package.json
npm · 17- @elastic/elasticsearch
- @modelcontextprotocol/sdk
- clsx
- lucide-react
- next
- react
- react-dom
- react-simple-maps
- recharts
- +8 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.