Yojam: The Intelligent Link Router for macOS Power Users
#Privacy

Yojam: The Intelligent Link Router for macOS Power Users

Tech Essays Reporter
8 min read

Yojam transforms how macOS handles links, providing intelligent routing to specific browsers, profiles, and applications while stripping tracking parameters and offering extensive customization options.

Featured image

Yojam: The Intelligent Link Router for macOS Power Users

In the digital workspace of modern professionals, managing browser profiles and applications has become increasingly complex. The simple act of clicking a link can now trigger a cascade of decisions: Which browser should open it? Which profile within that browser? Should it open in a private window? Should the tracking parameters be stripped? Yojam, a new open-source utility from developer fluffypony, addresses these challenges head-on, creating an intelligent link routing system that puts users back in control of their digital workspace.

The modern computing environment presents a paradox of choice. We maintain separate browser profiles for work and personal use, different applications for different tasks, and increasingly sophisticated workflows that require precise control over how links are handled. The default behavior of macOS—opening links in a predetermined default browser—creates friction in these workflows.

Consider this common scenario: You're logged into your corporate AWS account in Chrome's work profile while browsing personal content in Safari. A colleague sends you a Figma link in Slack. Clicking it opens in Safari, forcing you to manually copy the link, switch to Chrome, navigate to the work profile, and then paste the URL. This simple interaction represents wasted time and cognitive load that accumulates throughout the workday.

Yojam solves this fragmentation by intercepting every link click and routing it according to rules defined by the user. It functions as a universal link router, capable of directing links to specific browsers, browser profiles, or even desktop applications based on domain, source application, URL patterns, or custom regular expressions.

Core Architecture and Processing Pipeline

At its heart, Yojam implements a sophisticated processing pipeline that transforms raw URLs before they reach their destination application. This pipeline consists of several stages:

  1. Global Rewrites: First, Yojam applies URL transformations using regular expressions. This enables users to replace domains or modify URL structures before routing. The application ships with examples for redirecting Twitter to Nitter, Reddit to Old Reddit, and Medium to Scribe, though these are disabled by default.

  2. Tracker Scrubbing: Next, Yojam strips tracking parameters such as utm_source, fbclid, gclid, and over 30 other tracking identifiers. This happens globally or can be configured per-browser, ensuring that websites never receive tracking parameters unless explicitly allowed. Importantly, mailto: links are exempt from this process to preserve email subjects and bodies.

  3. Rule Matching: The clean URL is then evaluated against the user's routing rules in top-to-bottom order. The first matching rule determines the destination. Rules can be based on domain (exact match), domain suffix, URL prefix, URL substring, or regular expressions. They can also be filtered by source application, enabling context-aware routing.

  4. Browser-Specific Rewrites: After determining the target browser, Yojam can apply browser-specific transformations, allowing for additional customization before the URL is opened.

  5. Open or Pick: If a rule matches, the link opens immediately in the specified destination. If no rule matches, Yojam displays a fast picker at the cursor location, allowing the user to make an ad-hoc choice.

Intelligent Activation Modes

Yojam offers three distinct activation modes to accommodate different user preferences:

  • Always Show Picker: Every link triggers the browser picker, providing maximum control at the cost of additional clicks.
  • Hold Shift to Pick: Links route according to rules by default, but holding Shift while clicking forces the picker to appear.
  • Smart + Fallback: Rules fire automatically, and Yojam learns user preferences over time for frequently accessed domains. Unmatched links show the picker.

This flexibility allows users to tailor Yojam to their workflow, whether they prefer maximum automation or maximum control.

Comprehensive Browser and Profile Support

One of Yojam's standout features is its deep integration with modern browsers and their profile systems. It supports Chrome, Firefox, Brave, Edge, Vivaldi, and Opera, with the ability to target specific profiles within each browser. This granular control enables users to maintain separate work and personal browsing contexts without manual intervention.

For browsers that don't natively support profiles, Yojam provides workarounds. Chrome, Brave, Edge, Vivaldi, and Chromium-based browsers all receive profile-specific handling, while Firefox's container system is respected. Safari, lacking formal profiles, can still be configured to open links in private windows when needed.

Privacy by Design

In an era of pervasive tracking, Yojam takes a principled stance on privacy. All processing occurs locally on the user's Mac—no data is sent to external servers, no click tracking occurs, and no URLs are logged remotely. The only network activity consists of optional iCloud sync (using the user's own Apple ID, disabled by default) and update checking via yoj.am (also configurable).

The application's tracker scrubbing functionality goes beyond merely removing known parameters. Users can customize which parameters are stripped, and this stripping can be applied globally or on a per-browser basis. For privacy-conscious users, Yojam effectively functions as a universal privacy enhancer that works across all applications and browsers.

Extensive Input Sources

Yojam doesn't limit itself to traditional link clicks. It intercepts URLs from numerous sources:

  • Direct clicks in any app that opens HTTP/HTTPS URLs
  • Finder double-clicks on .html, .xhtml, .webloc, .inetloc, and .url files
  • Handoff from other Apple devices
  • AirDrop-transferred .webloc files
  • macOS Share menu via the bundled Share Extension
  • Services menu in Cocoa apps
  • Browser extensions for Safari, Chrome, and Firefox
  • The yojam:// URL scheme for automation

Crucially, every input source passes through the same processing pipeline, ensuring consistent behavior regardless of how a link originates. This comprehensive coverage makes Yojam a truly universal link handler.

Automation and Integration Capabilities

Yojam excels in its integration with macOS automation systems:

  • Shortcuts Integration: Provides "Open URL in Browser" and "Apply URL Rules" intents for use in Shortcuts automations
  • URL Scheme: Registers a yojam:// scheme that accepts parameters for URL, source app, target browser, picker forcing, and private mode opening
  • Custom Applications: Beyond browsers, Yojam can route links to any application with custom launch arguments
  • Menu Bar Integration: Operates solely from the menu bar, avoiding dock clutter and Cmd+Tab interference

These features make Yojam a powerful component in larger automation workflows, enabling sophisticated link handling that adapts to context and user preferences.

Technical Implementation and Extensibility

Built for macOS 14+ using Xcode 16+, Yojam demonstrates thoughtful technical architecture:

  • Modular Design: Separates core functionality from extensions and integrations
  • XcodeGen Project: Uses XcodeGen for project management, enabling clean builds and reproducible environments
  • Extension Support: Includes Share Extension, Safari Web Extension, and native messaging hosts for Chrome and Firefox
  • Settings Management: Comprehensive preferences with five tabs covering general settings, browser configuration, URL pipeline rules, integrations, and advanced options

The application also includes a URL tester that allows users to see exactly how a URL would be processed—showing which rewrites apply, which trackers get stripped, which rule matches, and the final destination. This transparency is invaluable for debugging complex rule sets.

The Developer's Perspective

The creator of Yojam identifies several key differentiators from existing browser picker solutions:

  1. Invisible Operation: Designed to work silently in the background, requiring minimal user interaction
  2. Global Tracker Stripping: Removes tracking parameters before browsers can see them
  3. Profile Support: Treats browser profiles as first-class citizens
  4. Custom CLI Arguments: Allows passing custom arguments when launching applications

These design decisions reflect a deep understanding of power user needs and the subtle friction points that accumulate in daily workflows.

Implications for Digital Workflows

Yojam represents more than just a utility—it embodies a philosophy of intentional computing. By automating the routing of links based on context and user preferences, it reduces cognitive load and enables more efficient workflows. For professionals who maintain multiple browser profiles, use different applications for different tasks, or value privacy, Yojam provides a cohesive solution to link management.

The application's auto-learning feature is particularly noteworthy. By observing which browser a user selects for each domain, Yojam gradually builds intelligent routing that adapts to individual preferences. This creates a system that becomes more useful over time, learning from user behavior to reduce the need for manual intervention.

Comparison with Alternatives

While other browser picker applications exist, Yojam distinguishes itself through several key advantages:

  • Comprehensive Coverage: Handles links from more sources than most alternatives
  • Privacy Focus: Built on a foundation of local processing and no data transmission
  • Profile Support: Deep integration with browser profile systems
  • Extensibility: Rich automation capabilities via URL scheme and Shortcuts integration
  • Transparency: URL tester provides insight into the processing pipeline

Yojam addresses a fundamental problem in modern computing—the fragmentation of link handling across browsers, profiles, and applications. By providing an intelligent, privacy-focused routing system that learns from user behavior, it creates a more cohesive and efficient digital workspace.

For power users, developers, and anyone who maintains multiple browser profiles, Yojam offers a compelling solution that automates routine decisions while preserving manual control when needed. Its thoughtful implementation, extensive customization options, and commitment to privacy make it a standout addition to the macOS utility landscape.

As our digital lives continue to fragment across multiple contexts and applications, tools like Yojam become increasingly valuable—not just as conveniences, but as essential components of intentional, efficient computing. By putting users back in control of their digital workspace, Yojam represents a step toward a more thoughtful approach to technology interaction.

For more information or to download Yojam, visit the GitHub repository. The application is available under a BSD 3-Clause license, with source code and detailed documentation provided for those interested in the implementation details.

Comments

Loading comments...