Zero-bloat bug monitoring for indie builders.
BugBoard is a lightweight bug tracker on a kanban board, built for freelancers, indie hackers and solo devs. One call in your code, and the bug is already a card: deduplicated, counted, escalated when it spikes.
Free Hobby plan2-minute setupNo card required
Drag a card to another column. This is the real board on sample data, and nothing here is saved.
- SDKs
- 2
- severity levels
- 4
- SDK methods
- 16
- min to first card
- ~2
The bug report and the work item are the same thing.
- Step 1, install. Install the client. One package, one import.
- Step 2, keys. Create a key in project settings, paste it into your env.
- Step 3, throw. Your code throws. One call reports it.
- Step 4, caught. It lands as a card - severity, location, owner. Duplicates just bump the count.
- Step 5, pinged. Only new bugs, escalations, and reopens ping you - Slack, Discord, or email.
- Step 6, recap. One package, one board. The bug report and the work item are the same thing.
From an empty project to a caught bug, start to finish.
Drop in the SDK
One import and one call. bugboard.critical(error) reports straight to the board, in JavaScript/TypeScript and PHP.
Bugs become cards
Each unique bug lands on your board with its stack trace, severity and an occurrence counter. Duplicates bump the count instead of making noise.
Triage together
Assign, comment, attach and drag to done. Auto-escalation pushes the loud ones up so they never sit at the bottom.
All of this is on the free plan too
Paid plans buy room for more projects and teammates. They never unlock features, so nothing here sits behind an upgrade.
Bugs arrive as cards, not as a list
Every unique bug lands in To Do carrying its stack trace, severity and occurrence count. Drag it to Done like anything else on the board. Reported bugs and hand-written tasks share the same columns.
PaymentError: charge declined
checkout.ts · just now
Only three things ping you
A new bug, an escalation, or a reopen. Everything else stacks up quietly on the board. Route the three that matter to Slack, Discord or email, tuned per project.
Everyone sees the same board
Cards move on your teammates’ screens the moment they move on yours. No refresh, and no second person picking up what you just started.
Comments and files live on the card
Assign a member, leave a comment, attach the log or the screenshot. Roles are set per project, so a contractor on one board is not on all of them.
Numbers you can act on
Bug volume over time, median time to resolution, and how much of it the SDK caught for you. A tab on the board, not a separate product.
Reports this week · resolution median 6h
Two SDKs, one call
JavaScript/TypeScript and PHP. Swap the log line you were about to write for bugboard.critical(error) and you are reporting.
Your payload
{
"message": "PaymentError: declined",
"user": {
"email": "user@acme.com"
},
"context": {
"card_last4": "4242"
}
}On the wire
{
"encrypted": {
"v": 1,
"alg": "x25519-sealedbox",
"key_id": "bbek_7Qe…",
"ciphertext": "u8F2b1pK…9zR0opaque…Xw=="
}
}Payloads leave the browser already sealed
Bug reports carry whatever your code touched: emails, tokens, order IDs. Turn encryption on per project and BugBoard seals the payload before it leaves the client, then decrypts it on the server to build the card.
- Opt in per project and encrypt only the payloads you choose
- Sealed with X25519 (libsodium sealed box); the public key is safe to embed in client code
- Opaque in the browser network tab, at proxies, and in logs
- Decrypted only on our servers to build your cards
Let your AI assistant do the install
One prompt wires up the SDK, payload encryption, global error handling and the build plugin that makes cards name your real source files, then hands you a checklist of what is left.
Integrate the bugboard.dev SDK into this project: enable payload encryption, add global error handling, keep the config in-memory with debug mode off, and prioritize live reports over local logging. Apply the SDK's debugging methods at likely failure points.
Then make sure every card points at the file that actually failed:
- 1
Pass the caught error or exception itself as the
descriptionargument, never just its message - the SDK reads the throw site off it. - 2
If this is a bundled JS/TS project, add the BugBoard plugin for this bundler -
'bugboard/vite','bugboard/rollup','bugboard/webpack','bugboard/esbuild', or'bugboard/webpack'viaturbopack.rules- or cards will report a minified chunk name instead of my source file. List any non-bugboard-named client module in the plugin'sclientModulesoption. - 3
Once that plugin is in place, add
lineNumbers: trueto the client config for exact line numbers. - 4
For a bundled Node server, import
'bugboard/preload'as the very first line of the entry file. - 5
For PHP, leave
project_rootauto-detection alone unless deploys path-map the source, then setBUGBOARD_PROJECT_ROOT.
Finally, tell me which of the above applied to this project, and give me a step-by-step checklist of what's left.
Built for one developer, or a few
BugBoard is scoped on purpose. Here is who it fits, and who it does not - so you can tell in one screen instead of after a signup.
Built for
- A solo dev shipping side projects on the weekend
- A freelancer keeping several client apps alive at once
- A two-to-five person indie team sharing one board
- Anyone who wants triage to take seconds, not a process
Not built for
- Large engineering orgs with a dedicated tools team
- SSO, audit trails and compliance reporting
- Per-seat headcount planning and procurement reviews
- Anyone who needs a hundred integrations before day one
Built by one person, on purpose.
I got tired of reading a stack trace in one tab and retyping it as a ticket in another, so I built the board that catches its own bugs. It is built for people who work the way I do: one developer, or a few.
BugBoard is new. The roadmap is not fixed yet, and when you email support you get me, usually the same day.
- Santanu Biswas
Starts free. Stays cheap.
Every plan ships the full product. Paid plans buy room for more projects and teammates, never features.
Hobby
- 2 projects
- 1 member per project
- 60 events per min, per project
Bug tracking on a kanban board, explained
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.
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.
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.
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.
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.
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.
Still deciding? Ask us anything
Put your next crash on the board.
2 projects free forever on the Hobby plan. Paid plans from $9/month when you outgrow it, billed through Paddle, cancel anytime.
Create your free account