Skip to content

fix(compare): correct four stale counts and four wrong prices - #21

Merged
datlechin merged 1 commit into
mainfrom
fix/comparison-data-accuracy
Aug 17, 2026
Merged

fix(compare): correct four stale counts and four wrong prices#21
datlechin merged 1 commit into
mainfrom
fix/comparison-data-accuracy

Conversation

@datlechin

Copy link
Copy Markdown
Member

Every comparison entry audited against the vendor's own site. The JavaScript-rendered pricing pages (JetBrains, DBeaver, Navicat) were driven through a real headless browser rather than guessed at.

Counts left over from the 18-database era

Postico promised "Postgres plus 17 other databases" and named five engines "and 13 more". Both read as 18 — on a page whose own comparison table said 25 two rows below. Same for HeidiSQL.

before after
postico.description five named + 13 + 20
postico.verdict Postgres + 17 + 24
postico.ogPunchline Postgres + 17 + 24
heidisql.longDescription five named + 13 + 20

Prices that contradicted their own entry

The OG card is generated from its own fields, so it drifts silently from the page it advertises — and nobody sees an OG image until it's already being shared.

before after
postico.ogCompetitorMetaHtml $40 $69 — entry said $69/$99 throughout
datagrip.ogCompetitorMetaHtml $100/yr $99/yr — entry said $99 throughout

Prices now stale against the vendor

Both read off the rendered page:

before after source
DataGrip $9.90/mo $10.90/mo jetbrains.com/datagrip/buy renders "US $10.90 per month"
Navicat $1,299 perpetual $1,599 perpetual navicat.com renders "1 Perpetual License(s) … USD 1,599.00"

Confirmed correct, left alone

  • Postico $69 personal (3 devices) / $99 per device commercial — matches eggerapps.at
  • Beekeeper $108/yr Indie — their page renders $9 / $14 / $18 per month

Deliberately NOT changed

DBeaver's Free / from $99/yr PRO is unverified. Their buy page renders prices only behind an async quantity selector; the figures that do render ($810/$410/$255/$155/$82) belong to Team Edition roles, not the desktop tiers. Rather than substitute a guess, it's left exactly as it was — flagging it here so it's on the record as the one open item.

DataGrip's $99 first year / $79 second / $59 from year three is likewise unverified — JetBrains' page only exposes monthly. Given monthly rose from $9.90 to $10.90, the annual figures may have moved too.

Two guards so this can't rot back

  1. Relative counts must total 25. "plus N more" has to be re-derived every time the driver count moves, and nobody remembers to — which is how four of them ended up describing an app that no longer exists.

    Scoped to the sentence, because Postico's verdict names Postgres twice ("excellent for Postgres alone. TablePro covers the same ground for Postgres plus 24 other") and counting the whole string turns a correct 25 into a false 26. The first version of this test failed on exactly that and caught its own bug.

  2. Any price on an OG card must appear elsewhere in the same entry — precisely the check $40 and $100 would have failed.

Verification

pint:  passed
Tests: 166 passed (2132 assertions)   ← REQUIRE_SSR=1, no skips

Four affected OG images regenerated and visually inspected — Postico's now reads $69 and "Postgres plus 24 more", with its 25 DATABASES stat finally agreeing with its own punchline.

Every comparison entry was audited against the vendor's own site, with the
JavaScript-rendered pricing pages driven through a real browser rather than
guessed at.

Counts left over from when TablePro shipped 18 databases. Postico promised
"Postgres plus 17 other databases" and named five engines "and 13 more";
HeidiSQL named five "plus 13 more". Both read as 18, on pages whose own
comparison table said 25 two rows below.

    postico.description   five named + 13  ->  + 20
    postico.verdict       Postgres + 17    ->  + 24
    postico.ogPunchline   Postgres + 17    ->  + 24
    heidisql              five named + 13  ->  + 20

Prices that contradicted their own entry. The OG card is generated from its own
fields, so it drifts silently from the page it advertises — and nobody sees an
OG image until it is already being shared.

    postico.ogCompetitorMetaHtml   $40   ->  $69   (entry said $69/$99 throughout)
    datagrip.ogCompetitorMetaHtml  $100  ->  $99   (entry said $99 throughout)

Prices now stale against the vendor, both read off the rendered page:

    datagrip  $9.90/mo        ->  $10.90/mo   jetbrains.com/datagrip/buy
    navicat   $1,299 perpetual -> $1,599      navicat.com/en/store/navicat-premium

Postico's $69 personal (3 devices) and $99 per device commercial were checked
against eggerapps.at and are correct as written. Beekeeper's $108/yr Indie is
correct: their page renders $9, $14 and $18 per month.

DBeaver's desktop tiers are NOT verified. Their buy page renders prices only
behind an async quantity selector, and the figures that do render belong to Team
Edition roles. "Free / from $99/yr PRO" is left exactly as it was rather than
replaced with a guess.

Two guards so this cannot rot back:

- Relative counts must total 25. "plus N more" has to be re-derived every time
  the driver count moves and nobody remembers to, which is how four of them
  ended up describing an app that no longer exists. Scoped to the sentence,
  because Postico's verdict names Postgres twice and counting the whole string
  turns a correct 25 into a false 26.
- Any price on an OG card must appear elsewhere in the same entry, which is
  exactly the check that $40 and $100 would have failed.

The four affected OG images are regenerated.
@datlechin
datlechin merged commit dde6ecf into main Aug 17, 2026
8 of 9 checks passed
@datlechin
datlechin deleted the fix/comparison-data-accuracy branch August 17, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant