Skills Applied
Scale
Personal project, built with a teammate in 3 hours for the HEC Paris x Lovable Hackathon.
Scope
Developed the core Chrome Extension with a companion web app, a product strategy (MVP features, target audience, monetization), and a 5-slide pitch deck.
01 · The Problem
Fake news are a resource problem.
The Challenge
Social media platforms and partisan media outlets have structurally incentivized engagement over accuracy, making emotionally charged, misleading, or outright false content the most viral. The average user has no fast, frictionless way to verify what they're reading in the moment. As a result, disinformation spreads faster than correction, and polarization deepens because people live in sealed epistemic bubbles.
Insight
Fact-checking websites exist, but they require the user to leave the page, search manually, and already be skeptical enough to bother. Most people aren't. Prism collapses the context-switching cost to zero by integrating its analysis into the user's reading experience.
02 · Approach
The Product
Features at a Glance
Prism gives any user a one-click, context-aware pop-up on top of any webpage that surfaces source quality signals, credible counter-evidence, and a verifiability score, all without leaving the page.
Verifiability Score
Every article and X post is assigned a 0–100 score with a category label and a one-sentence explanation of the rating.
Source Verification
Runs live web searches via the Brave Search API to surface real supporting and opposing sources, labeled and linked directly in the extension.
Neutral Summary
Generates a concise, editorially neutral summary of the page content in under 40 words.
Challenge Argument
An on-demand, second AI pass that steel-mans the strongest opposing perspective, backed by sourced evidence.
Share Report
One-click export of the full analysis (score, summary, sources, counterargument) as a formatted, print- and share-ready PDF report.
My Approach
- Specified Pain Point: Based on the initial insight, I refined the problem statement and researched the market and competing tools.
- Define MVP Features: Defined and prioritized product features for the MVP based on complexity and user value, in a compact Product Requirement Document (PRD).
- Lo-Fi Prototype: Developed wireframes in Figma to outline core product layout, UX/UI, and user flow.
- Iterative Development: Executed the iterative software development process, implementing the defined MVP features in sprints based on priority, using VS Code and Claude Code for development and GitHub for version control.
- Testing & Refining: Tested the software for AI content quality, functionality, and UX. Refined the backend to improve latency and analysis speed.
- Consolidate: Consolidated research findings and the state of the MVP into a 5-slide pitch deck.
The Architecture
Click through to see how a single Prism analysis moves through the system.
Trigger
User clicks the Prism icon on any webpage, opening the Side Panel.
manifest.json · popup.html
Extract
The content script pulls the visible page text (≤4000 chars), with special handling for X/Twitter.
content.js
Request
The extension sends the page content to Supabase, authenticated with a public, safe-to-embed key.
popup.js · background.js
Proxy to Claude
Supabase swaps in the real Anthropic key server-side and forwards the request to Claude.
supabase/functions/claude-proxy/index.ts
Claude Searches
Claude decides it needs to verify a claim and requests a web search instead of answering outright.
supabase/functions/claude-proxy/index.ts
Proxy to Brave
Supabase relays the query to Brave Search, injecting its own server-side secret key.
supabase/functions/brave-search/index.ts
Results Return
Search results flow back to Claude, which can repeat steps 5 and 6 per claim.
supabase/functions/brave-search/index.ts · supabase/functions/claude-proxy/index.ts
Verdict
Claude returns one structured result: claims, a 0 to 100 score, labeled sources, a summary.
supabase/functions/claude-proxy/index.ts · background.js
Render
The Side Panel displays the score gauge, claims, and sources.
popup.js · popup.html
03 · What I Achieved
Outcomes After
3 Hours
- Built a fully integrated Chrome extension with a structured Claude + Brave Search API pipeline, producing real, shareable news assessments.
- Sized a 210M-person market opportunity of English-speaking, desktop social-media readers. Even at just 1% penetration of that SAM, that's 2.1M potential users.
The Pitch Deck
04 · Retrospective
Ways to Improve
- Introduce a clear evaluation scorecard visible to users to improve rating transparency and strengthen trust.
- Specify credible verification sources and restrict untrustworthy ones, feeding these specifications to the model to raise analysis quality.
- Rework the API call, LLM instructions, and templates to significantly improve current latency.