Inspiration
We’re drowning in tabs that shout headlines without context. The spark came from those midnight doomscrolls where we wished for a calm, trustworthy co‑pilot to cut through noise, surface what matters, and warn us when content felt dubious. DeepDive was born to make critical reading as effortless as streaming a playlist.
What it does
DeepDive is a Chrome companion that lands in the corner of any article or YouTube video. One click delivers: A focused summary and key claims. A credibility check that weighs source, author, and tone. A persistent memory of what you’ve already read so it can surface related content later. A chat interface that answers questions grounded in the source—no hallucinated facts.
How we built it
The frontend is a Manifest V3 extension: contentScript.js injects the sidebar UI, background.js brokers messages to the backend, and injectUI.css keeps the experience lightweight and unobtrusive. The backend is an Express server that orchestrates multiple LLMs: Gemini 2.5 Flash handles fast summarization and topic extraction. Claude 3.5 Sonnet performs deeper credibility reasoning and interactive chat. A Letta-hosted memory agent stores article embeddings so we can retrieve related reading later. Under the hood we approximate token limits with a simple cap ( T \leq \frac{\text{chars}}{4} ) to stay within API quotas, cache results by URL hash, and keep in-memory conversations for responsive chat.
Challenges we ran into
LLM juggling: Balancing Gemini’s speed with Claude’s rigor required fallback logic, JSON parsing guards, and careful prompt design. Credibility sourcing: Getting Claude to cite author research consistently meant iterating on prompt structure and mapping [1]-style references back to usable URLs in the UI. Extension UX: Making the floating entry point draggable without accidental clicks took a custom pointer-state handler. Memory sync: Aligning local in-memory storage with the Letta agent’s persistent memory introduced async race conditions that we resolved with defensive checks.
Accomplishments that we’re proud of
A seamless sidebar that feels native across wildly different sites. Robust caching and fallback paths so users rarely feel latency. A credibility experience that goes beyond color badges by surfacing transparent reasoning. Tight integration with Letta to keep a personalized knowledge graph of past reads.
What we learned
Prompt architecture matters as much as model choice; small wording tweaks unlocked reliable JSON and grounded citations. Chrome extension ergonomics are equal parts CSS finesse and DOM diplomacy—especially when injecting UI into unpredictable pages. Multi-model orchestration benefits from defensive programming: Promise.allSettled, structured logging, and graceful degradation keep the product resilient.
What’s next for DeepDive
Expand memory with embeddings persisted in a real datastore so cross-session insights survive restarts. Add collaborative notes so teams can annotate and share credibility scores. Introduce automatic fact spot-checking against trusted datasets. Ship production-ready icons, a settings panel, and polished onboarding to turn DeepDive into a daily reading habit.

Log in or sign up for Devpost to join the conversation.