You

The Problem

Short story time! I was researching embodied interfaces for my thesis when I found a paper called Emoto: AI Sidekick. The project caught my attention, so I started looking into the people behind it.

Three of the authors were from CMU, and two of them were from the School of Design. That already felt close to my world, so I kept following the trail. I found that two of them later joined Experiments with Google, then eventually started their own company. Another author moved to Apple as a prototyper. The professor on the paper later moved to Northumbria University, started a lab, and worked on Spooky Technology, a project I recognized because one of its collaborators, Daragh Byrne, was someone I had worked with at CMU.

At that point, I was not just saving a paper anymore. I was finding a small web of people, projects, labs, companies, and overlaps with my own work. If I came across someone from Experiments with Google later, I would want to remember this whole trail, not just the original link.


But for me that’s 12 open tabs, 4 folders deep, and 15 bookmarks to sort through before you even get back to what you were thinking about.

Traditional folder-based bookmarking lists

Validating the Problem

To see if there is a broader pattern with this problem, I surveyed 25 people across 3 CMU departments (Architecture, HCI, Design) to collect qualitative insights on how people organize their digital bookmarks.

User study insights visualization showing the breakdown of bookmarking behaviors and pain points
User study insights visualization showing the breakdown of bookmarking behaviors and pain points

The insight

Bookmarking systems break when the list gets too long. People either stop using them or forget where things were saved. Sharing adds more friction, pushing people into tools like Are.na, OneTab, or Notion and splitting the workflow across too many places.

So, here are two gaps:

☝️ High cognitive load

Overwhelming organizational choices at the point of saving.

✌️ Fragmented context

No preservation of relationships between related bookmarks.

Outcome

Shipped Product

Dot Threads launched on Chrome Web Store in September 2024 and has been actively maintained through January 2026. Currently at version 1.3.3 with 10 active users.

Chrome Web Store listing
What users said

The design is very effective and intuitive once the user gets used to it.

It’s visually clear and thoughtfully crafted, with a strong focus on making bookmarking more engaging and intuitive. The idea of using thumbnails and interactive elements adds personalization to the experience.

Before User Feedback

The first interface proved the core idea of Dot Threads: saved links could live as connected dots instead of a flat bookmark list.

First interface design proving the core concept

Refining the Product

User feedback helped define the supporting structure around the map, splitting the interface into Dots for the active save and Trails for navigating relationships.

Refined interface showing Notes, Trails, and World View

User Feedback

Spatial connections opportunity

Project Demo

A walkthrough of the live product experience, highlighting core flows and the spatial browsing interactions.

Finding the dots

Conversational AI Research Assistant

To see if there is a broader pattern with this problem, I got to survey 25 people across 3 CMU departments (Architecture, HCI, Design) using an AI conversational research assistant for these sessions—letting people describe their actual bookmarking behavior instead of forcing multiple-choice answers.

Conversational AI research assistant chat interface

MEMEX as Framework

Drawing from Vannevar Bush’s 1945 essay As We May Think , I used MEMEX as a framework because of its overlap with bookmarking, hyperlinks, and associative trails, then extended it into a spatial system for saving and revisiting links.

Approach Part 1
Approach Part 2
Initial sketches and concept mapping
Figma prototype explorations

Prototyping the Parallels

Entering

How to capture links without breaking browsing flow? Right-click context menu integration—save any link instantly from the browser’s native menu.

Right click menu flow
Entering annotations
Entering interaction: Right-click context menu annotations and flow

Web of info

How to show relationships spatially? Canvas layout where proximity indicates relatedness. Clicking any node reorganizes the view around it—making that node the “hero” of its own neighborhood.

Canvas layout flow
Web of info annotations
Web of info interaction: Canvas layout relationships and flow

Cataloguing

How to preserve context when saving? Tag input and connection suggestions appear immediately during save, capturing why something mattered before the moment passes.

Tag input flow
Cataloguing annotations
Cataloguing interaction: Tag input and connection flow

Browsing

How to navigate without hierarchies? Direct exploration—click a node to see its connections, hover to preview, zoom to adjust detail level.

Direct exploration flow
Browsing annotations
Browsing interaction: Direct exploration flow

Sharing

How to export threads without cloud dependency? Local export as portable files—threads package as self-contained data that can be shared directly.

Local export flow
Sharing annotations
Sharing interaction: Local export and import flow

Core Components of the Product

Core components of the Dot Threads interface

Technical Architecture

Technical architecture diagram

Chrome extension stores data locally using browser storage API. Web application reads this data through message bridge and visualizes using D3.js force-directed graph. Development mode includes local filesystem persistence. When extension not installed, app loads static demo data. Microlink API handles screenshot generation.

View source on GitHub