portfolio kammaren
kammaren.nu live

I found their bug. Then I found mine.

An open tax engine for Swedish limited companies: a language model reads your situation and picks the rule, then plain code does the arithmetic and cites the statute.

built with
TypeScript
Bun
MCP server
978k-case test suite
AGPL-3.0
Kammaren key art

Open source, AGPL-3.0. Free, and it stays free.

the gap

I assumed I was wrong.

whyclose

I assumed I was the one who was wrong. I wasn't — some were off by 100 000 kr. And the ones that were right still just handed you a number, never a plan.

the rule

Nothing fuzzy touches the math.

whyclose

A language model reads your situation and picks the rule. Plain code does the arithmetic, with the statute cited on every value. Same input, same answer, every time.

then it was my turn

The bug was mine.

liveIt was up, and being used.

Free, open, no signup. Thin analytics and no accounts, which mattered later.

found275 of 290 municipalities were wrong.

It had been using a default rate — 32,38% — for most of Sweden instead of the real municipal one. Fifteen municipalities were correct. Every other calculation was off.

unknownI couldn't tell who it had reached.

No accounts, thin analytics — maybe twenty people. So I assumed it was all of them.

mailedI wrote to everyone before I had a fix.

And named exactly which fifteen municipalities were safe, so nobody had to distrust a number that was already right.

offlineThen I took the whole thing down.

Until all 290 municipalities carried SCB-verified rates. Then I mailed again to say it was back.

what I actually sent
kammarenbefore the fix existed
Uppdatering: kommunala skattesatser rättas
to: every user · sent in Swedish

Correct rates existed for Stockholm, Göteborg, Malmö, Uppsala, Solna, Täby, Nacka … and six more.

ALL OTHER municipalities were affected.

Outside the list? Redo your calculation when I email that the fix is live. On it? Your figures are already correct.

whyclose

Naming who was safe was the point. A vague apology would have made everyone distrust a number that was, for fifteen municipalities, already right.

the numbers

What it has to survive.

978ktest cases run
against Skatteverket
0 krdeviation
across all of them
290municipalities, every
rate SCB-verified
0kronor to use it,
now or later
why it is free

Being wrong here costs somebody money.

whyclose

I won't charge for that, and tax raises the stakes further. So it stays open, free, and checked with your accountant. The licence makes that permanent, not a promise.

in short

A tax strategy, not a number.

  • 978 000 test cases, 0 kr off
  • Every value cites its statute
  • Free, and it stays free
  • Open source, AGPL-3.0
Get in touch