Write your release, log which journalists you contacted, track responses, manage follow-ups. PR agencies charge thousands for this workflow.
Every operation in Broadside is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/press_releases — list all press_releases with optional search and filter query parametersPOST /api/press_releases — create a new pressrelease recordGET /api/press_releases/{id} — retrieve a single pressrelease by IDPUT /api/press_releases/{id} — update an existing pressreleaseDELETE /api/press_releases/{id} — remove a pressreleaseGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringRunning a press release tracker should not require a Kubernetes cluster, a managed database, and a DevOps team to keep it running. Broadside is one file. Download it, run it, point your browser at it. That is the entire setup.
Install Broadside with the one-line shell script or download the binary directly from GitHub. Run it, open /ui, and start creating press releases. The SQLite database lives in a single file under the data directory. To migrate to a new server, copy the binary and the data directory. That is the entire migration procedure.
A freelance consultant keeps Broadside running on a home server. Client press releases stay on local disk, which simplifies the privacy section of every contract. The search endpoint powers a custom dashboard built with a static site generator. Total infrastructure cost: the electricity to run a Raspberry Pi.
GET /api/press_releases — List all press releases. Supports ?q=keyword for search and ?status=value for filteringPOST /api/press_releases — Create a new pressrelease. Send JSON with at least titleGET /api/press_releases/{id} — Fetch one pressrelease by IDPUT /api/press_releases/{id} — Update fields on an existing pressreleaseDELETE /api/press_releases/{id} — Remove a pressreleaseGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted press release tracker. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool broadside
PORT=10060 ./broadside
http://localhost:10060
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export BROADSIDE_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./broadside
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.