Skip to content

Selected work / yDirect

yDirect

Save once, reuse in seconds: a snippet and prompt manager in Chrome’s side panel.

Role
Solo
Status
v1.3.3 · 8 Sep 2026 · Chrome Web Store
License
Source private · docs CC BY 4.0
Stack
Chrome MV3 · JavaScript · Firebase Auth · Firestore · Cloud Functions · Node 22

The problem

The same replies, prompts and templates get retyped every day. Kept in scattered notes, they are slow to find and easy to lose.

Constraints

  • Websites can’t be trusted to host the UI. The app lives in Chrome’s own side panel, outside the page’s DOM and policies. An earlier injected iframe could be blocked by strict sites.

  • Every permission has to earn its place. Eight Chrome permissions plus one backend origin, each with a published reason.

  • No remote code. Everything that runs ships in the reviewed package.

Architecture

  1. 01 · Code

    Side panel

    browser-owned

  2. 02 · Data

    Local storage

    per account

  3. 03 · Code

    Copy

    clipboard · no network

  4. 04 · Code

    Google sign-in

    offscreen document

  5. 05 · Code

    Firebase Auth

    session

  6. 06 · Code

    Cloud Functions

    validates every request

  7. 07 · Data

    Firestore

    backups · shared folders

Copying never needs the network. Backup and sharing do, and the server validates every one of those requests.

Decisions

A native side panel, not an injected iframe.

Chose
Chrome’s side panel, which the browser owns.
Over
An iframe injected into the page, which restrictive sites could block.
Cost
It needs Chrome 116 or later.

Google sign-in without the identity permission.

Chose
A short-lived offscreen document and a hosted callback complete the flow.
Over
Requesting the identity permission.
Gain
One fewer permission to justify to users and to store review.

The backend is the authorisation boundary.

Chose
Every backup and sharing request is validated on the server. UI state is never treated as a security control.
Over
Checks that live in the extension’s interface.

Outcome

  • Published on the Chrome Web Store; four releases from 1.3.0 to 1.3.3 (8 September 2026).
  • Free, with no paid features.
  • The source is private; the public repository carries the product docs, privacy explainer and changelog.

What I’d change next

A smoother first run and a fully keyboard-first side panel, then an accessibility review against current WCAG guidance and faster search for large libraries.