Chrome Extension

Visualize Your Browsing Paths

Journey Tracker captures your research sessions as interactive branching trees. See how tabs spawn new tabs, tag important findings with colors, add notes, extract page data, and export everything as a shareable HTML file.

Chrome Extension Manifest V3 Stimulus Tailwind CSS
Journey Tracker tree visualization showing branching browsing paths

Everything You Need to Track Research

Tree Visualization

See your browsing journey as an interactive branching tree. Main paths flow vertically while new tabs branch horizontally, showing exactly how your research evolved.

Multiple Journeys

Create separate journeys for different research sessions. Switch between them, rename for organization, and keep your investigations cleanly separated.

Site Favicons

Instantly identify sites with their favicon displayed next to each step. Visual landmarks help you scan your journey and spot familiar domains.

Color Tagging

Mark important steps with 6 colors: red, orange, yellow, green, blue, or purple. Tagged steps stand out in the tree and carry their colors into exports.

Notes & Markdown

Add rich notes to any step using Markdown. Support for bold, italic, code, links, lists, and blockquotes. Notes appear inline and export with your journey.

Time Tracking

Every step records its timestamp. See total journey duration, pause tracking during breaks, and resume when you're ready. Multi-day journeys supported.

Content Extraction

Automatically extract structured data from pages using CSS selectors. Configure custom extractors for Jira tickets, GitHub issues, or any site you research.

HTML Export

Export your entire journey as a standalone HTML file. Includes the full tree, all notes, colors, extracted data, and clickable links. No dependencies required.

Privacy First

All data stays local in your browser. No external servers, no tracking, no analytics. Your browsing history remains completely private on your device.

Getting Started

1

Install the Extension

Visit the Chrome Web Store and click "Add to Chrome". The Journey Tracker icon will appear in your toolbar.

2

Start Browsing

Journey Tracker automatically records your navigation. Open links in new tabs (Ctrl+Click or right-click) to create branches in your journey tree.

3

View Your Journey

Click the toolbar icon for a quick popup view, or right-click and select "Open in side panel" for a persistent view while you browse.

4

Tag, Note, and Export

Hover over any step to add color tags or notes. When you're done, click Export to save your journey as a standalone HTML file.

User Manual

Deep dive into every feature of Journey Tracker.

Tree Navigation

Your journey displays as a branching tree where each step represents a page visit. The main path flows vertically, and new tabs branch horizontally to the right.

Viewing Modes

  • Popup: Click the toolbar icon for a quick, compact view of your journey.
  • Side Panel: Right-click the icon and choose "Open in side panel" for a persistent view that stays open while you browse.

Click Behaviors

  • Click a step: Switch to that tab. If the tab was closed, it reopens in a new tab.
  • Ctrl/Cmd+Click: Always open the step in a new tab, even if it's already open.

Tab Rehydration

After restarting your browser, Journey Tracker remembers your journey. When you click a step, it searches your open tabs by URL and reconnects automatically. If the tab isn't open, it opens fresh.

Site Favicons

Each step in your journey displays the site's favicon next to the page title. These visual markers help you quickly scan your journey and identify familiar domains at a glance.

How It Works

  • Favicons are fetched automatically when a page is recorded
  • If a site doesn't have a favicon, a default icon is shown
  • Favicons appear in both the popup and side panel views
  • Exported journeys include favicons for offline viewing

Multiple Journeys

Keep your research sessions organized by creating separate journeys. Each journey maintains its own tree, notes, and tags.

Managing Journeys

  • Create: Click the dropdown at the top and select "New Journey" to start fresh
  • Switch: Use the dropdown to switch between existing journeys
  • Rename: Click the pencil icon next to the journey name to give it a descriptive title
  • Delete: Remove a journey entirely (with confirmation to prevent accidents)

Journeys are named automatically by date and time. Rename them to something meaningful like "API Documentation Research" or "Bug Investigation #1234".

Journey dropdown showing multiple journeys

Color Tagging

Mark important steps with colors to highlight key findings, categorize pages, or create visual landmarks in your journey.

Available Colors

Red Orange Yellow Green Blue Purple

How to Tag

  1. Hover over any step in the tree
  2. Click the tag icon that appears
  3. Select a color from the picker
  4. Click the same color again to remove it

Tags persist across sessions and are included when you export your journey.

Color tagging interface showing color picker options

Notes & Markdown

Add rich notes to any step using Markdown formatting. Notes appear inline in the tree and are included in exports.

How to Add Notes

  1. Hover over any step in the tree
  2. Click the pencil icon that appears
  3. Type your note using Markdown
  4. Press Ctrl+Enter or click outside to save

Supported Markdown

**bold**bold

*italic*italic

`code`code

[link](url) → clickable link

- item → bullet list

1. item → numbered list

> quote → blockquote

Time & Duration Tracking

Every step records its timestamp. The stats bar shows your total journey duration, which updates in real-time.

Timestamps

  • Short format shows time only (e.g., "2:34 PM")
  • Hover over the timestamp for the full date and time
  • Useful for multi-day research sessions

Pause & Resume

Click the pause button in the bottom bar to stop tracking. The timer freezes and unrelated browsing won't be recorded. Click again to resume from where you left off.

Stats Bar

The stats bar displays step count, unique domain count, and total duration. Toggle visibility in the side panel settings if you prefer a cleaner view.

Removing Steps

Made a wrong turn? Remove unwanted steps from your journey to keep it clean and focused.

How to Remove

  1. Hover over the step you want to remove
  2. Click the X icon on the far right
  3. The step is immediately removed and stats update

Note: Removing a step doesn't affect its child branches. Children become orphaned and appear at the root level.

Drag-and-Drop Reordering

Rearrange steps in your journey by dragging them to new positions. Perfect for organizing your research into a logical flow.

How to Reorder

  1. Click and hold the node dot (the circle on the left side of any step)
  2. Drag the step to your desired position
  3. Release to drop it in place

Reordering Rules

  • Same depth only: Steps can only be reordered among siblings at the same depth level
  • Automatic numbering: Position numbers recalculate automatically after reordering
  • Preserves hierarchy: Child branches move with their parent step

This is useful when you want to present your research in a different order than you actually browsed, or when organizing steps for export.

Tracking Modes

Control how Journey Tracker captures your browsing with three tracking modes, accessible from the side panel settings.

Track All

Records every page you visit automatically. The default mode for comprehensive journey tracking.

Allowlist Only

Only records pages matching your configured domain rules. Perfect for focused research on specific sites.

Manual Only

No automatic tracking. Only pages you explicitly add with the + button are recorded. Maximum control.

Manual Page Addition

Regardless of your tracking mode, click the + button in the bottom bar to manually add the current page to your journey. This works even while tracking is paused, giving you full control over what gets recorded.

Switch modes anytime from the settings panel. Your existing journey data is preserved when switching.

Content Extraction

Automatically extract structured data from pages using CSS selectors. Configure custom extractors for any site you research regularly.

How It Works

  • Extracted fields appear below the step title in your journey tree
  • Click the chevron to expand or collapse extracted data
  • Collapsed state persists across sessions—your preferences are remembered
  • Data is searchable—find steps by extracted field values

Re-extract Data

When viewing a step whose tab is still open, a refresh icon appears. Click it to re-extract the page data—useful when the page content has changed (e.g., a Jira ticket status was updated). The new data replaces the old.

JSON Configuration Schema

Extractors are defined as JSON objects. Access the editor from the side panel settings under "Domain Rules" → "Edit Rules JSON".

{
  "id": "unique-identifier",
  "name": "Display Name",
  "domain": "*.example.com",
  "pathPattern": "/path/*",
  "extract": true,
  "fields": [
    { "label": "Field Name", "selector": "CSS selector" }
  ]
}

Schema Reference

Field Type Required Description
id string Yes Unique identifier for this extractor
name string Yes Display name shown in the extension settings
domain string Yes Domain pattern. Supports * wildcard (e.g., *.atlassian.net)
pathPattern string Yes URL path pattern. Supports * wildcard (e.g., /browse/*)
extract boolean No Enable/disable extraction. Defaults to true if fields are defined
fields array Yes Array of field definitions to extract
fields[].label string Yes Display label for the extracted field
fields[].selector string Yes CSS selector to target the element. Uses document.querySelector()

Wildcard Patterns

Both domain and pathPattern support the * wildcard, which matches any characters.

Domain Examples
  • *.atlassian.net matches mycompany.atlassian.net, test.atlassian.net
  • github.com matches exactly github.com
  • portal*.example.com matches portal-us.example.com, portal2.example.com
Path Examples
  • /browse/* matches /browse/TICKET-123, /browse/PROJ-456
  • /*/issues/* matches /owner/repo/issues/123
  • /* or * matches any path

Example Extractors

GitHub Issues

{
  "id": "github-issues",
  "name": "GitHub Issues",
  "domain": "github.com",
  "pathPattern": "/*/issues/*",
  "extract": true,
  "fields": [
    { "label": "Title", "selector": ".js-issue-title" },
    { "label": "Author", "selector": ".author" },
    { "label": "State", "selector": ".State" }
  ]
}

Jira Tickets

{
  "id": "jira-ticket",
  "name": "Jira Ticket",
  "domain": "*.atlassian.net",
  "pathPattern": "/browse/*",
  "extract": true,
  "fields": [
    { "label": "Status", "selector": "[data-testid='issue.views.issue-base.foundation.status.status-field-wrapper']" },
    { "label": "Assignee", "selector": "[data-testid='issue.views.field.user.assignee']" },
    { "label": "Priority", "selector": "[data-testid='issue.views.field.priority']" }
  ]
}

Amazon Products

{
  "id": "amazon-products",
  "name": "Amazon Products",
  "domain": "*.amazon.com",
  "pathPattern": "/*/dp/*",
  "extract": true,
  "fields": [
    { "label": "Product", "selector": "#productTitle" },
    { "label": "Price", "selector": ".a-price-whole" },
    { "label": "Rating", "selector": "#acrPopover" }
  ]
}

Finding CSS Selectors

  1. Open Chrome DevTools (F12 or right-click → Inspect)
  2. Use the element selector tool (cursor icon) to click on the data you want
  3. In the Elements panel, right-click the highlighted element
  4. Choose "Copy" → "Copy selector" for a CSS selector
  5. Alternatively, look for unique id, class, or data-* attributes

Tip: Prefer data-testid or id attributes over class names, as they're less likely to change.

Extracted Jira ticket data showing status, title, and assignee fields

Export Your Journey

Export your entire journey as a standalone HTML file that opens in any browser. No external dependencies, no internet required.

What's Included

  • Complete tree visualization with all branches
  • All notes rendered with Markdown formatting
  • Color tags displayed on tagged steps
  • Extracted data from content extractors
  • Timestamps for every step
  • Journey duration and statistics
  • Clickable links to original pages (open in new tab)
  • Self-contained CSS styling

How to Export

  1. Open the popup or side panel
  2. Click the Export button in the bottom action bar
  3. Choose where to save the HTML file
  4. File is named journey-YYYY-MM-DD.html

Exports are perfect for sharing research with colleagues, archiving investigations, or reviewing your browsing patterns later.

Your Data Stays Local

Journey Tracker stores all data locally in your browser. Nothing is sent to external servers—your browsing history stays completely private.

Local Storage Only

All journeys, notes, and settings are stored in Chrome's local storage on your device.

No Tracking

No analytics, no telemetry, no data collection. We don't know what you browse.

Read our full Privacy Policy for complete details.

Ready to Track?

Start Mapping Your Research

Install Journey Tracker and never lose track of your browsing again. Free and open source.

Install from Chrome Web Store

Privacy Policy