search and/or read your saved and liked bluesky posts
wails go svelte sqlite desktop bluesky
Go 39.6%
Svelte 26.9%
TypeScript 17.2%
NSIS 9.4%
JavaScript 5.7%
CSS 0.8%
HTML 0.2%
Other 0.2%
11 1 0

Clone this repository

https://tangled.org/desertthunder.dev/skybidi https://tangled.org/did:plc:xg2vq45muivyy3xwatcehspu/skybidi
git@tangled.org:desertthunder.dev/skybidi git@tangled.org:did:plc:xg2vq45muivyy3xwatcehspu/skybidi

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

bsky-browser#

A desktop app for searching your Bluesky bookmarks and likes.

I made this to stop having to CTRL/CMD+F and infinite scroll through my saved and liked posts.

What It Does#

  • Authenticates with Bluesky using loopback OAuth.
  • Stores session state, tokens, and DPoP metadata in a shared SQLite database.
  • Indexes bookmarks and likes into a local FTS5-backed search index.
  • Lets you browse recent indexed posts or search by text.
  • Renders rich-text facets for links, mentions, and hashtags.
  • Includes desktop-side refresh progress events and a frontend log viewer.

Screenshots#

login screen showing the Bluesky handle field, authentication button, and dark desktop styling

filtered results

main search view showing indexed post count, search bar, source filter, and results table after a successful refresh

results table row with rendered rich-text facets such as links, mentions, and hashtags inside post text

bottom progress bar and log viewer during an active indexing run with info, warn, and error lines visible

Usage#

  1. Launch the app.
  2. Enter your Bluesky handle and complete OAuth in the browser.
  3. Click Refresh to index bookmarks and likes.
  4. Use the search box to run FTS queries, or leave it empty to browse recent posts.
  5. Filter results by All, Saved, or Liked.
  6. Click a row to open the original post on bsky.app.

Keyboard Shortcuts#

  • Cmd+K or Ctrl+K: focus the search input
  • Cmd+R or Ctrl+R: refresh indexed data
  • Cmd+L or Ctrl+L: toggle the log viewer

Project#

Requirements#

Install#

git clone <your-repo-url>
cd bsky-browser-gui
pnpm --dir frontend install

If you prefer task, the same setup is available through:

task init

Development#

Start the desktop app with hot reload:

wails dev

Or:

task dev

Useful checks:

go test ./...
pnpm --dir frontend check
OAuth and Local Data
  • OAuth callback URL: http://127.0.0.1:8787/callback
  • Default database path: ~/.config/bsky-browser/bsky-browser.db
  • Default log directory: ~/.config/bsky-browser/logs/

You can override paths with:

  • BSKY_BROWSER_DATA
  • BSKY_BROWSER_LOG
  • XDG_CONFIG_HOME
Project Structure
Notes
  • Session state is persisted so token refreshes and DPoP nonce updates survive app restarts.
  • Empty searches intentionally return recent posts instead of sending an invalid FTS wildcard query.

Production Build#

Create a macOS app bundle:

wails build

Verified output:

build/bin/bsky-browser-gui.app

Equivalent task:

task build