Record important decisions, the context, the reasoning, and the outcome. Search back through your decision history. The tool that makes 'why did I decide that?' answerable a year later.
Every operation in Decisionlog is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/decisions — list all decisions with optional search and filter query parametersPOST /api/decisions — create a new decision recordGET /api/decisions/{id} — retrieve a single decision by IDPUT /api/decisions/{id} — update an existing decisionDELETE /api/decisions/{id} — remove a decisionGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringRunning a decision log should not require a Kubernetes cluster, a managed database, and a DevOps team to keep it running. Decisionlog is one file. Download it, run it, point your browser at it. That is the entire setup.
A non-profit with no DevOps budget downloads the Decisionlog binary, sets two environment variables, and runs it on the same Linux box that handles their email. It has been running for three months without intervention. When they need to update, they download the new binary and restart the process.
Deploy Decisionlog as a systemd service, a Docker container, or a bare process behind tmux. It reads two environment variables: PORT and DATA_DIR. Everything else is self-contained. The /api/health endpoint returns the service status and decisions count, which you can wire into your existing monitoring stack.
GET /api/decisions — List all decisions. Supports ?q=keyword for search and ?status=value for filteringPOST /api/decisions — Create a new decision. Send JSON with at least titleGET /api/decisions/{id} — Fetch one decision by IDPUT /api/decisions/{id} — Update fields on an existing decisionDELETE /api/decisions/{id} — Remove a decisionGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted decision log. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool decisionlog
PORT=9900 ./decisionlog
http://localhost:9900
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 DECISIONLOG_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./decisionlog
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.