# BugBoard > The kanban bug tracker for freelancers, indie hackers and solo devs. One call in your code and the crash is already a card - deduplicated, counted, escalated. BugBoard is a bug tracker for freelancers, indie hackers and solo devs - plus the small teams they grow into. It merges two tools that were always halves of the same job: a bug tracker and a project board. An SDK reports a bug, and it arrives as a card on a kanban board - already deduplicated, escalated if it spikes, and ready for someone to pick up. There is exactly one public ingestion endpoint, `POST /api/v1/tasks`; everything else is built on top of it. It is deliberately not an enterprise tool: no SSO, no audit trails, no compliance reporting. Every plan ships the full product, and paid plans buy room for more projects and teammates rather than unlocking features. Every documentation page below is also available as raw markdown by appending `.md` to its URL. ## Documentation ### Get Started - [Introduction](https://bugboard.dev/docs/get-started/introduction.md): How BugBoard turns runtime errors into cards on the board you already work from — one public ingestion endpoint, and two ways to reach it: an official SDK or a plain HTTP POST. - [Quickstart](https://bugboard.dev/docs/get-started/quickstart.md): Send your first error card in a few minutes: create a project API key, install an SDK, and report a crash with a single call. ### Installation - [Choosing a key type](https://bugboard.dev/docs/installation/choosing-a-key.md): Publishable keys (bb_pub_…) for browsers and mobile apps, secret keys (a bbk_… key id plus a bb_sec_… signing secret) for servers. How each authenticates, which to use where, and why every key is revocable on its own. - [Install an SDK](https://bugboard.dev/docs/installation/install.md): Install the BugBoard SDK for JavaScript/TypeScript and PHP. Each adds a background queue, retries with backoff, and shutdown flushing, so reporting never blocks your app. ### Authentication & API Keys - [Authentication](https://bugboard.dev/docs/authentication/overview.md): Authenticate every request to POST /api/v1/tasks with a bearer token (publishable keys, bb_pub_…) or an HMAC signature (secret keys: a bbk_… key id plus a bb_sec_… signing secret) — and how to choose between them. ### SDKs - [SDK overview](https://bugboard.dev/docs/sdks.md): The official BugBoard SDKs for JavaScript/TypeScript and PHP — plus a dependency-free, single-file option for any other language. - [JavaScript / TypeScript](https://bugboard.dev/docs/sdks/javascript.md): Report errors to BugBoard from Node 20+, browsers and edge runtimes. No dependencies, built on the platform fetch, with opt-in payload encryption. - [PHP](https://bugboard.dev/docs/sdks/php.md): Report errors to BugBoard from PHP 8.2+ with any PSR-18 HTTP client. Install, configure one shared client, then call it from your exception handler — with first-class Laravel and Symfony integrations. ### Framework Guides - [Framework guides](https://bugboard.dev/docs/frameworks.md): Framework-by-framework installation and usage guides for the BugBoard SDKs — Laravel, Symfony, plain PHP, Express, NestJS, Next.js, Nuxt, SvelteKit, Remix, Vite SPAs and serverless runtimes. - [Laravel](https://bugboard.dev/docs/frameworks/laravel.md): Install and use BugBoard in Laravel: auto-discovery, the facade, delivery in the terminating phase, config publishing, reporting unhandled exceptions and failed queue jobs, and testing with a fake transport. - [Symfony](https://bugboard.dev/docs/frameworks/symfony.md): Install and use BugBoard in Symfony: the bundle, YAML configuration, autowiring the client, the kernel.terminate listener that keeps reporting off the request path, Messenger failures and a Monolog handler. - [Plain PHP](https://bugboard.dev/docs/frameworks/plain-php.md): Use BugBoard from vanilla PHP, Slim, CodeIgniter, CakePHP or WordPress: one shared client, array-based configuration, keeping delivery off the request path under PHP-FPM, workers, and a global exception handler. - [Express, Fastify, Koa](https://bugboard.dev/docs/frameworks/node.md): Use BugBoard in a long-running Node server — Express, Fastify or Koa: one shared client with a secret key, error-handler integration, process-level handlers, and flushing on SIGTERM. - [NestJS](https://bugboard.dev/docs/frameworks/nestjs.md): Use BugBoard in NestJS: register the client as an injectable global provider, report from an exception filter, and flush with the OnApplicationShutdown lifecycle hook. - [Next.js](https://bugboard.dev/docs/frameworks/nextjs.md): Use BugBoard in Next.js: separate server and client modules guarded by server-only, flushing in route handlers and server actions, error.tsx and global-error.tsx boundaries, and the instrumentation.ts onRequestError hook. - [Nuxt](https://bugboard.dev/docs/frameworks/nuxt.md): Use BugBoard in Nuxt: runtimeConfig splits the publishable and secret keys, a client plugin hooks vue:error, and a Nitro server plugin reports and flushes for every deployment target. - [SvelteKit](https://bugboard.dev/docs/frameworks/sveltekit.md): Use BugBoard in SvelteKit: $env/static/private and $env/static/public enforce the key split at build time, and hooks.server.ts and hooks.client.ts map straight onto the SDK. - [Remix / React Router](https://bugboard.dev/docs/frameworks/remix.md): Use BugBoard in Remix and React Router: a .server module with the secret key, handleError in entry.server, filtering aborted requests, and an ErrorBoundary for client-side reports. - [Vite SPA](https://bugboard.dev/docs/frameworks/vite-spa.md): Use BugBoard in a Vite SPA — React, Vue or Svelte: a publishable key, global window error handlers, a React error boundary, and tuning the queue for a browser that can error in a loop. - [Serverless & edge](https://bugboard.dev/docs/frameworks/serverless.md): Use BugBoard on AWS Lambda, Vercel Edge, Cloudflare Workers and Deno Deploy: why the queue never drains itself, where to await the flush, waitUntil, and tuning timeouts for pay-per-millisecond runtimes. ### API Reference - [API Reference](https://bugboard.dev/docs/api-reference.md): The canonical contract for the BugBoard ingestion API: request shape, severity methods, authentication, retries, and the design rules every SDK implements. ### Security - [Encrypted Transport](https://bugboard.dev/docs/security/encryption.md): Seal error payloads with your project public key before they leave your server, so the body stays opaque in DevTools, at proxies, and in logs. ### Custom Implementation - [Custom Implementation](https://bugboard.dev/docs/custom-implementation.md): Copy one self-contained file into your app and report errors against the same endpoint the official SDKs use. All 16 severity methods, nothing to install. ### Reference - [Error Codes](https://bugboard.dev/docs/error-codes.md): Every status the BugBoard API returns, what each one means, and the JSON body shape to expect — including the field-level map sent with validation errors. - [Rate Limits & Quotas](https://bugboard.dev/docs/rate-limits.md): Two independent limits: a per-project, per-minute burst cap that returns 429, and a per-account event quota that silently drops reports once exhausted. ## Blog - [Two tabs, one job: why error tracking belongs on your board](https://bugboard.dev/blog/two-tabs-one-job): For years I ran an error tracker in one tab and a project board in the other, and moved bugs between them by hand. When you are the whole engineering department, that copy-paste is the bug. ## Changelog - [Encrypted transport, project pausing, and a faster board](https://bugboard.dev/changelog/2026-07-encrypted-transport): Payload encryption with X25519 sealed boxes, reversible project pausing on downgrade, and a board that no longer stutters at a few thousand cards. ## Optional - [BugBoard pricing](https://bugboard.dev/pricing): plans, limits and what each tier includes. - [Features](https://bugboard.dev/features): what the product does, in full. - [Full documentation as one file](https://bugboard.dev/llms-full.txt): every page above, concatenated. ## FAQ ### Who is BugBoard for? Freelancers, indie hackers and solo devs - plus the small teams they grow into. If you ship your own apps or a handful of client projects and you do not want to run a heavyweight error tracker beside a heavyweight project board, this is built for you. If you are a large engineering org that needs SSO, audit trails and compliance reporting, BugBoard is deliberately not that tool, and it is not trying to become one. ### Is BugBoard an error tracker or a task board? Both, and that is the whole point. Most error trackers give you a feed of exceptions and stop there - you still copy the ones that matter into a separate task board by hand. BugBoard removes that second tab. A captured bug arrives as a card on your kanban board, already deduplicated, ready to assign, comment on, and drag to Done. Same tool, one job. ### How long does it take to set up? About two minutes. Install the SDK, drop in your project API key, and call bugboard.critical(error) from your error handler. The next bug shows up on your board. ### Which languages and frameworks are supported? There are two official SDKs, for JavaScript/TypeScript and PHP. They are thin wrappers over one plain HTTP JSON endpoint, so any language that can POST can report bugs - the Custom Implementation guide walks through it in a single dependency-free file. ### Is the Hobby plan really free? Yes, 2 projects, full feature set, no credit card and no trial clock. Upgrade when you need more projects or want to invite teammates. It is the default plan for every new account. ### Is my bug data secure in transit? Always over HTTPS. For sensitive payloads you can also turn on encryption per project. The SDK seals each report with an X25519 public key before it leaves the client, so the body stays opaque in the browser network tab, at proxies, and in logs. Only your BugBoard server can decrypt it. Available on every plan, including Hobby.