Inspiration
Your browser remembers pages. ThreadBack remembers intentions.
I built ThreadBack AI because normal browser history is great at telling us where we went, but terrible at telling us what we were actually trying to accomplish.
While working on projects, research, comparisons, or submissions, I often end up with many tabs spread across different websites. Some are directly related, some are temporary one-off lookups, and some belong to older tasks I may return to later. Traditional tab managers mostly save URLs or groups, but they do not continuously understand the underlying purpose behind the browsing activity.
That led to ThreadBack AI: a local AI-powered browser intent manager that treats tabs as evidence of larger ongoing tasks.
What it does
ThreadBack AI observes privacy-safe browser metadata and uses a bundled local semantic model to organize browsing into persistent intent threads.
Instead of creating a permanent task for every page, uncertain one-off browsing can remain latent. If more semantically related pages appear, ThreadBack can promote them into a real task.
It can also continuously reconsider existing tasks. If two independently created workflows later turn out to represent the same user purpose, ThreadBack can reconcile and merge them automatically.
ThreadBack supports:
- Page-to-task semantic assignment
- Task-to-task semantic reconciliation
- Automatic merging of duplicate workflows
- Conservative splitting of workflows that have diverged
- Latent one-off browsing and automatic latent expiry
- Automatic archival of stale tasks
- Reactivation of older tasks when related browsing returns
- Workflow renaming as the intent becomes clearer
- Timeline, graph, and “Why?” inspection
- Manual merge and split controls
- Action history and Undo
- One-click Resume Task to restore relevant browsing context
How I built it
ThreadBack is built as a Manifest V3 extension for Chromium-based browsers.
Its semantic engine uses Xenova/bge-small-en-v1.5 INT8, bundled directly with the extension. Browsing metadata is converted into local semantic embeddings, which are then compared against existing task and latent-intent representations.
The system maintains bounded semantic context for each task using representative page embeddings and workflow-level semantic representations.
A Continuous Intent Manager then handles actions such as attaching pages, promoting latent intents, reconciling task-to-task similarity, merging duplicate workflows, splitting divergent workflows, archiving inactive tasks, and reactivating older tasks.
All semantic inference runs locally on-device.
There is:
- No remote AI API
- No backend
- No telemetry
- No API key required
ThreadBack stores state locally using chrome.storage.local.
Because Manifest V3 service workers can stop and restart unexpectedly, I also implemented durable pending-event recovery and persisted fair reconciliation scheduling so browsing events are not lost and older tasks continue to be reconsidered after worker restarts.
Challenges I ran into
The biggest challenge was realizing that semantic browser organization is much harder than simply matching page titles.
Two pages from completely different websites can belong to the same task, while two pages with similar wording can represent completely different intentions.
Another major challenge was Manifest V3 service-worker behavior. During real-browser testing, I found that older tasks could stop being reconsidered after a worker restart because part of the reconciliation scheduling state existed only in memory.
I fixed this by adding persisted fair revisit scheduling and bounded follow-up reconciliation.
I also had to carefully balance false merges and false splits. Instead of forcing every page into an existing task, ThreadBack supports uncertainty by allowing ambiguous browsing to remain latent until more context appears.
Real-world testing was especially important because synthetic tests alone did not reveal every failure mode.
Accomplishments that I'm proud of
I am most proud that ThreadBack evolved from a simple tab-grouping idea into a continuous local intent manager.
The final system operates semantically at both:
- Page → Task
- Task → Task
levels.
Other accomplishments include:
- Fully local BGE semantic inference
- No remote AI dependency
- No telemetry
- Automatic task reconciliation
- Latent one-off browsing instead of dashboard clutter
- Persistent task memory across sessions
- Manifest V3 worker-recovery handling
- Zero lost or duplicated events in tested worker-recovery scenarios
- Real Chromium end-to-end testing
- Explainable and manually correctable organization
What I learned
I learned that building an AI product is not only about selecting a capable model.
A semantic model can understand relationships between pieces of information, but the surrounding architecture determines whether that understanding turns into reliable behavior.
While building ThreadBack, I learned about semantic embeddings, cosine similarity, latent clustering, workflow-level representations, uncertainty handling, Manifest V3 lifecycle behavior, browser storage, worker recovery, regression testing, automated browser testing, and CI-based release workflows.
Most importantly, I learned how much real-world testing matters when building semantic systems.
What's next for ThreadBack AI
Future versions could improve handling of very ambiguous or acronym-heavy research and larger workflows.
I would also like to explore:
- Better semantic splitting for larger tasks
- More efficient long-term intent memory
- Optional encrypted cross-device synchronization
- User-controlled retention policies
- Better task summaries and next-step suggestions
- Broader Chromium-browser testing
- Performance optimization for lower-end devices
The long-term goal is simple:
Make browsers remember goals, not just URLs.
Built With
- alarms
- api
- bge-small-en-v1.5
- css
- extensions
- github
- html
- javascript
- manifest
- node.js
- onnx
- playwright
- storage
- tabs
- transformers.js
- typescript
- v3
- vitest
- webassembly
Log in or sign up for Devpost to join the conversation.