Usage Guide

Pinodock โ€” Everything, from your new tab.

Pinodock replaces your new tab with a keyboard-first command centre. This guide covers every feature: the launcher, all 20+ commands, dashboards, plugins, todos, habits, and settings.

๐Ÿš€ Getting started

  1. 1
    Install from the Chrome Web Store. Click "Add to Chrome" on the Pinodock listing. Chrome will confirm the permissions it needs.
  2. 2
    Open a new tab. Pinodock replaces Chrome's default new tab page immediately. You'll see the first-run welcome screen.
  3. 3
    Set your name and theme. The welcome overlay takes 30 seconds. You can skip it and change everything later in Settings.
  4. 4
    Start typing to search. The launcher is always focused on load. Type anything โ€” URLs, commands, bookmarks, tabs โ€” to get started.
โšก
Keyboard shortcut: You can also open Pinodock from any tab using Cmd+E (Mac) or Alt+Space (Windows/Linux) to jump straight to a new tab with focus in the launcher.

โŒจ๏ธ Launcher & commands

The launcher bar is the heart of Pinodock. It works like a command palette โ€” start typing and it searches across bookmarks, open tabs, history, and all built-in commands at once.

Navigation prefixes

> search term
Search your open tabs by title or URL and switch to them instantly โ€” no mouse needed.
= expression
Inline calculator. Supports %, ^, sqrt(), sin(), and all standard operators. Copies result on Enter.
/ command
Activate a built-in slash command. The reference list in Settings โ†’ Reference shows all available commands.
/dl [filename]
Search recent downloads by filename. Press Enter to reveal the file in Finder / Explorer.

AI commands (Gemini Nano)

These commands run entirely on-device using Chrome's built-in Gemini Nano model (Chrome 127+). No API key, no internet, no data sent anywhere.

/ask what is a p-value?
Ask anything. Gemini Nano answers in 1โ€“3 concise sentences, on-device. Falls back to a setup guide if the model isn't installed.
/summarise [paste text]
Produces a TL;DR of any text you paste in. Great for pasting article bodies. Also accepts /summarize.
/translate hello to spanish
Translates text using Gemini Nano first, then falls back to the free MyMemory API. Supports 25+ languages.

Developer & productivity tools

5kg to lbs
Natural-language unit conversion โ€” no slash needed. Weight, length, volume, speed, and temperature (ยฐC / ยฐF / K). Result copies on Enter.
/color #7C5CFF
Full colour inspector: HEX ยท RGB ยท HSL ยท WCAG contrast ratio and grade (AA / AAA). Also accepts rgb(r,g,b). /color alone generates a random hex.
/utm https://site.com google cpc sale
Builds a complete UTM-tagged URL from positional args or source=x medium=y key-value pairs. Copies on Enter.
/uuid
Generates a v4 UUID. Click to copy.
/qr https://...
Generates a QR code inline. Click to download as PNG.
/encode text
Base64-encodes any text. Click to copy.
/decode dGV4dA==
Decodes base64 back to plain text. Click to copy.
/json {"key":"val"}
Pretty-prints a JSON string with 2-space indentation. Click to copy the formatted result.
/time
Shows clocks for New York, London, Dubai, and Tokyo. /time Asia/Seoul shows any IANA timezone.

Quick-action commands

/todo buy oat milk
Adds a new todo instantly. Press Enter โ€” done. No need to open the Todos tab.
/note draft idea here
Appends a line to your Scratch Pad. Useful for capturing thoughts mid-flow.
/habit meditation
Checks in a habit for today by fuzzy-matching its name. Works even from the home screen.
/save https://article.com
Saves a URL to your Reading List for later.
/clip
Opens your clipboard history inline. Shows the last 50 copied items. Click any to re-copy.

URL aliases & shortcuts

Pinodock ships with 40+ built-in aliases: gh โ†’ GitHub, yt โ†’ YouTube, mdn โ†’ MDN docs, npm โ†’ npmjs.com, and many more. Type the alias followed by a space and a search term โ€” e.g. npm react searches npm for React.

Create your own in Settings โ†’ Shortcuts. Use {query} in the URL for substitution โ€” e.g. prefix jira with URL https://yourco.atlassian.net/browse/{query} lets you type jira MAD-1234 to jump straight to that ticket.

โŒจ๏ธ Keyboard shortcuts

Launcher

ActionShortcut
Focus launcherEnter or any key from empty page
Clear launcherEsc
Navigate suggestionsโ†‘ / โ†“
Open selectionEnter
Open in new tabCmd Enter

Navigation tabs

TabShortcut
TodosCmd 1
HabitsCmd 2
UsageCmd 3
SnippetsCmd 4
SettingsCmd 5
Back to homeEsc

Todos

ActionShortcut
Add new todoN (when input focused)
Complete todoSpace on item
Delete todoDel on item

๐Ÿ—‚๏ธ Dashboards

Pinodock supports up to 6 named dashboards. Each dashboard has its own plugin set, layout preset, and widget visibility. Switch between them using the pill buttons at the top of the home screen.

Preset dashboards

  • Work ๐Ÿ’ผ โ€” Google Calendar, Gmail, GitHub, Todoist in a 2-column layout. Quick Links and Scratch Pad on. Pomodoro on.
  • Creator ๐ŸŽฌ โ€” YouTube Studio, Spotify, Reddit. Quote widget on. Quick Links on.
  • Developer โŒจ๏ธ โ€” GitHub, Hacker News, AWS Console, Crypto Prices in compact 3-column. Quick Links and Scratch Pad on.
  • Personal ๐ŸŒฟ โ€” Spotify, Crypto, Reddit in a single spacious column. Quote on. Scratch Pad on.

Adding a custom dashboard

  1. 1
    Click the + button next to the dashboard pills on the home screen.
  2. 2
    Type a name and press Add.
  3. 3
    Go to Settings โ†’ Plugins to enable plugins for the new dashboard.
  4. 4
    The layout preset defaults to Balanced. Change it in Settings โ†’ Dashboard.

Layout presets

  • Compact โ€” 3-column grid. Best for 4+ small widgets (Dev dashboard).
  • Balanced โ€” 2-column grid. Best for most use cases.
  • Spacious โ€” Full-width single column. Best for rich widgets like Calendar or Todoist.

๐Ÿ”Œ Plugins

Plugins add live data widgets to your dashboard. There are two types:

  • Live plugins โ€” call public APIs directly. No auth, no setup. (Hacker News, Crypto Prices, Reddit Feed)
  • Connected plugins โ€” read from a tab you have open in another window. No OAuth, no API keys โ€” just keep the relevant site open. (Spotify, Gmail, Google Calendar, YouTube Studio, AWS Console, GitHub, Todoist)

Enabling a plugin

  1. 1
    Open Settings โ†’ Plugins from the top navigation.
  2. 2
    Click Add on the plugin you want. It will appear as a widget on the active dashboard.
  3. 3
    For connected plugins (Gmail, GitHub, Spotify, etc.), the widget shows a "Grant access" button on first use. Click it โ€” Chrome will show a one-time native permission dialog. This is the only moment Pinodock requests host access for that site.
  4. 4
    After granting, open the relevant service in any Chrome tab (e.g. mail.google.com for Gmail). Return to your new tab โ€” the widget populates within seconds.
๐Ÿ”
Minimal permissions by design. Connected plugin access is optional and only granted when you explicitly click "Grant access." You can revoke it at any time via Chrome's extension permissions page (chrome://extensions).
๐Ÿ”’
Privacy: Connected plugin data is read from your existing browser session, cached for 5 minutes in local storage, and never sent to PencilCard or any server. See the full privacy policy for details.

โšก Custom plugins

Beyond the built-in plugins, you can write any JavaScript snippet that fetches data and returns it as a dashboard widget. Custom plugins run in a sandboxed iframe โ€” they can call fetch() but cannot touch chrome.* APIs, your storage, or your open tabs.

Writing your first plugin

Go to Settings โ†’ Plugins โ†’ Custom (Advanced) and click + Add custom plugin. The editor accepts any async JavaScript. Return either a plain string or a { title, items } object:

// Returns a key-value table widget
const res = await fetch('https://open.er-api.com/v6/latest/USD')
const data = await res.json()
return {
  title: 'FX rates',
  items: [
    { label: 'EUR', value: data.rates.EUR.toFixed(4) },
    { label: 'GBP', value: data.rates.GBP.toFixed(4) },
  ]
}

Return format

  • Plain string โ€” displayed as a single text paragraph in the widget.
  • { title, items: [{label, value}] } โ€” rendered as a labelled table with a title header.
  • { title, text } โ€” title plus a body paragraph.

Useful public APIs (no key needed)

APIWhat it returns
api.coindesk.com/v1/bpi/currentprice.jsonBitcoin price in USD, EUR, GBP
open.er-api.com/v6/latest/USDForeign exchange rates vs USD
ipapi.co/json/Your public IP, city, country, ISP
api.dictionaryapi.dev/api/v2/entries/en/{word}Dictionary definitions
en.wikipedia.org/api/rest_v1/feed/onthisday/events/{m}/{d}Historical events for today
hacker-news.firebaseio.com/v0/topstories.jsonHacker News top story IDs
โš ๏ธ
Only use code you trust. Custom plugins run JavaScript in your browser. They cannot access Pinodock storage or Chrome APIs, but they can make outbound network requests. Do not paste snippets from unknown sources.

For a full gallery of copy-paste examples, see the Custom Plugins section on the Plugins page โ†’

โœ… Todos

The Todos tab is a lightweight task manager with projects, priorities, due dates, and recurring tasks โ€” all stored locally.

Features

  • Projects โ€” group todos into named lists. Create a new project with the + button in the sidebar.
  • Priority flags โ€” High (red), Medium (orange), Low (grey). Set via the flag icon on each todo.
  • Due dates โ€” click the calendar icon on a todo. Overdue items are highlighted automatically.
  • Subtasks โ€” expand a todo to add nested sub-items.
  • Recurring todos โ€” set a task to repeat daily, weekly, or monthly. It resets automatically on completion.
  • Drag to reorder โ€” drag the handle on any todo to change its position.
๐Ÿ’ก
Type #projectname in the todo text to auto-assign it to a project. E.g. "Fix login bug #work" creates the todo in the Work project.

๐Ÿ”ฅ Habit tracker

Track daily habits with a streak-based visual calendar. Every habit shows a heat map of the past 90 days.

Creating a habit

  1. 1
    Open the Habits tab from the top navigation.
  2. 2
    Click + New habit. Give it a name and choose an emoji icon.
  3. 3
    Set the target frequency โ€” daily (default), weekdays only, or a specific number of days per week.
  4. 4
    Check it off each day with a single click.

Reading the calendar

  • Each square is one day. Filled squares = completed. Empty squares = missed.
  • The streak counter shows your current unbroken run and all-time best.
  • Hover any square to see the date and completion note.

๐Ÿ… Pomodoro timer

The Pomodoro widget lives in the bottom-left corner of every new tab and persists across navigation. It survives tab switches and fires a desktop notification when the session ends.

How to use it

  • Click the tomato icon at the bottom-left to expand the timer.
  • Press Start to begin a 25-minute work session.
  • After the session, a 5-minute short break starts automatically.
  • After 4 pomodoros, a 15-minute long break is suggested.

Customisation

Change session durations in Settings โ†’ Productivity. You can set work sessions from 5 to 60 minutes, short breaks from 1 to 15 minutes, and long breaks from 10 to 45 minutes.

๐Ÿ’ก
Enable Focus Mode (/focus or Settings โ†’ Focus Mode) during a Pomodoro to hide the navigation bar and all non-essential widgets โ€” just the timer, the search bar, and your work.

๐Ÿ“‹ Snippets

Snippets are reusable text templates you can paste anywhere with a short trigger name. They're saved in chrome.storage.sync by default so they follow you across devices.

Creating a snippet

  1. 1
    Open the Snippets tab from the navigation bar.
  2. 2
    Click + New snippet. Give it a short trigger name (e.g. sig) and the full body text.
  3. 3
    Save it.

Using a snippet

In the launcher, type /snip sig (replace sig with your trigger name). The snippet body is copied to your clipboard and a confirmation toast appears. Paste it anywhere with Cmd+V.

โš ๏ธ
Sensitive content: Snippets stored in sync mode travel through Google's Chrome sync. If your snippet contains passwords or sensitive info, go to Settings โ†’ Data and switch the snippet storage mode to Local only.

โš™๏ธ Settings reference

Appearance

  • Theme โ€” Dark (default) or Light.
  • Accent colour โ€” eight presets or a custom colour picker.
  • Font size โ€” Small, Medium (default), Large.
  • Layout preset โ€” Compact / Balanced / Spacious for the plugin widget grid.
  • Focus mode โ€” hides all navigation and widgets, leaving only the clock and launcher.
  • Background photo โ€” four source options:
    • Daily โ€” a free landscape from Picsum Photos, changes daily. Use โ†ป New image on the home screen to shuffle.
    • Unsplash โ€” random photo by topic (landscape, space, city, etc.) via the Unsplash API. Requires your free API key from unsplash.com/developers.
    • Custom URL โ€” paste any direct https:// image link.
    • Local file โ€” upload from your device. Compressed to 1280px JPEG and stored only on your machine.
  • Daily quote โ€” toggle the inspirational quote below the launcher.

Dashboard

  • User name โ€” adds a personalised time-of-day greeting above the launcher.
  • Weather widget โ€” shows current conditions in the bottom-right corner. Leave city blank to auto-detect.
  • Timezone โ€” IANA timezone string used for /time and world clock display (e.g. Europe/London).
  • Search history โ€” shows your recent launcher searches when the input is empty.
  • Clipboard history โ€” enable /clip to access your last 50 copied items.
  • Pomodoro work duration โ€” set work session length from 10 to 60 minutes via the slider.

Plugins

  • Enable/disable individual plugins per dashboard from Settings โ†’ Plugins.
  • Subreddit โ€” configure which subreddit the Reddit Feed plugin reads from.
  • Custom plugins โ€” write JavaScript snippets that fetch data and render as dashboard widgets. Code runs in an isolated sandboxed frame with no access to extension APIs.

Data

  • Usage tracking โ€” opt in to track personal productivity metrics (searches, todos, pomodoros). Stored locally, never sent anywhere.
  • Export backup โ€” downloads all Pinodock data (todos, habits, snippets, settings, aliases) as a JSON file.
  • Import backup โ€” restores from a previously exported JSON backup file.
  • Firebase Analytics โ€” opt-in anonymous donation click events only. Disabled by default.

๐Ÿ”’ Privacy & your data

All Pinodock data โ€” todos, habits, clipboard history, plugin cache โ€” lives in your browser's local storage. Nothing is sent to PencilCard's servers because PencilCard has no servers.

  • Uninstalling the extension removes all data automatically.
  • Export your data at any time: Settings โ†’ Data โ†’ Export.
  • Plugin data is cached for 5 minutes then overwritten on next refresh.

Read the full privacy policy โ†’