Project Info

DeepDive

Devpost

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 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

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.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • AnthropicIn code
  • CSSIn code
  • ExpressIn code
  • Google GeminiIn code
  • HTMLIn code
  • JavaScriptIn code
  • Node.jsClaimed

6 of 7 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

No AI coding agent signals were found in this repository.

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

154 KB

Source files

13

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars