Deep Dive was inspired by a familiar problem: curiosity is rarely linear. We search, ask an LLM a question, save an article, return to an idea days later—and lose the connections between those moments. Deep Dive is a privacy-first research memory that turns intentionally saved searches, chats, notes, and pages into explainable threads, then suggests the next reading or question worth pursuing. What I learned Building Deep Dive made clear that the hard part is not simply recommending content—it is earning trust. People need to understand why a theme appeared, what activity informed a recommendation, what data leaves their device, and how to undo it. That led to an evidence-first design: every thread can reveal its source signals, recommendations explain their relevance, and users can save, skip, reflect on, or delete their local history. How I built it Deep Dive is a local-first static web app built with HTML, CSS, and JavaScript. Activity, notebook entries, saved reading, reflections, and feedback are stored in browser localStorage; lightweight keyword-based clustering identifies recurring threads across signals. When a user requests reading, the app generates a compact topic query for Crossref, ranks returned work against active themes and feedback, and links directly to the underlying source. The interface was designed as a “trail of thought” field notebook rather than a generic dashboard: a timeline of traces, evidence-backed thread cards, a relationship map, a notebook, a weekly briefing, an ask-your-trail interface, and an exportable Markdown research story. It was deployed on Vercel with a first-run privacy onboarding flow, responsive layouts, accessibility metadata, and an optional browser quick-save extension. Challenges The main challenge was balancing useful personalization with privacy. Capturing everything automatically would make recommendations richer, but it would undermine the trust the product depends on. Deep Dive therefore uses explicit user-added activity and keeps raw information in the browser by default. A second challenge was making recommendations feel intellectually useful rather than algorithmically generic. The solution was to make the system explainable: Deep Dive shows the signals behind a thread, gives users control through save/skip feedback, and treats reflection as part of the recommendation loop.

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