Get Started

Set up Blast in a few minutes. You'll need an editor plugin, the blastd daemon, and an API token.

1

Install an editor plugin

Blast supports multiple editors. Pick yours and install the plugin — it sends activity to the local daemon over a unix socket.

-- lazy.nvim
{
  "taigrr/blast.nvim",
  event = "VeryLazy",
  opts = {
    -- If overriding socket_path, use vim.fn.expand() for ~
    -- socket_path = vim.fn.expand("~/.local/share/blastd/blastd.sock"),
  },
}
2

Install the daemon

blastd runs in the background, collecting activity from your editor and syncing it to the server every 10 minutes. Download a prebuilt binary from the releases page, or install with Go.

# Option 1: Download a prebuilt binary
# Visit the releases page and grab the archive for your OS/arch,
# e.g. blastd_0.1.7_linux_amd64.tar.gz, then:
tar xzf blastd_*.tar.gz
sudo mv blastd /usr/local/bin/

# Debian/Ubuntu users can install the .deb directly:
# sudo dpkg -i blastd_*_amd64.deb

# Option 2: Install with Go (requires Go 1.21+)
go install github.com/taigrr/blastd@latest
3

Create an API token

Generate a token in Settings and add it to the blastd config file.

# ~/.config/blastd/config.toml
server_url = "https://www.nvimblast.com"
auth_token  = "blast_..."
4

Start coding

Open your editor and your activity will appear on the leaderboard within 10 minutes. The plugin automatically launches blastd in the background.

Why a separate daemon?

Blast uses a local daemon instead of baking server logic into each editor plugin. Here's why.

Cross-editor support

Any editor can send events to the same unix socket. Neovim, Emacs, and future integrations all work through a single daemon — no per-editor server logic needed.

Multi-session aware

Multiple editor instances write to the same daemon simultaneously. Open ten Neovim splits and an Emacs frame — blastd tracks them all.

Offline-first

All activity is cached locally on disk. blastd works without internet and syncs when connectivity returns. Nothing is lost.

Privacy by design

Your machine only contacts the server every 10 minutes in a single batch — not per keystroke. Activity is aggregated locally before syncing, so granular timing never leaves your machine.

Outlives your editor

Closing your editor doesn't lose unsent data. The daemon keeps running and syncs on schedule. Crash recovery is built in — data is on disk, not just in memory.

Your data, your disk

A full local copy of your activity data lives on your machine. You can inspect, export, or delete it anytime. Config is a single TOML file.

Lightweight

A single static binary with no runtime dependencies. Negligible CPU and memory usage — it just listens on a unix socket and wakes up periodically to sync.