← All projects
Jul 7

Help center

Replaced the planned HelpKit subscription with our own help center: Notion as the source, a static site on Cloudflare.

help.kittl.com

What I did

Impact

Cost per yearabout $1,500 (HelpKit top plan) → under $50
Articles live89
Internal links resolving146 of 146
Indexed by Googlewithin days of the Jul 6 cutover

Links

Effort

41PRs merged
+9,062lines added, 5,435 removed
96commits
45review comments from people
49Copilot review comments
58review replies I wrote

Reviewers (PRs reviewed): Vishal (3), Nastia (2), Tom (1), Ashish (1), Denis (1), James (1), Renato (1), Sasha (1). Typical time to merge: same day. First PR 2026-05-27, last change 2026-09-14.

All 41 PRs
PRStateLinesPeopleCopilotReviewers
add cname record for kittl help center page
infrastructure · 2026-05-27
Merged+6 / -000Tom
fix(helpcenter): durable asset-rot fix + dogfooding UI pass
help-center · 2026-06-03
Merged+568 / -12000
Verify redirect mappings against live Prismic + explicit status codes
help-center · 2026-06-04
Merged+158 / -14300
Pre-launch: mechanisms ledger + security hardening + redirect rewrite
help-center · 2026-06-04
Merged+1,121 / -33200
fix(helpcenter): tighten article top spacing to match home
help-center · 2026-06-04
Merged+6 / -100
ci(helpcenter): Slack heartbeat on no-op sync runs
help-center · 2026-06-04
Merged+18 / -100
feat(help-center): R2 bucket for help center media (kittl-helpcenter-media)
infrastructure · 2026-06-05
Merged+96 / -000Vishal
feat(help-center): public access via custom domain (provider v6)
infrastructure · 2026-06-11
Merged+55 / -1110Vishal
feat(cloudflare-domains): point help.kittl.com at the org-account Pages project
infrastructure · 2026-06-12
Merged+2 / -200Vishal
feat(helpcenter): migrate internal links to help.kittl.com - CU-86ca7zb3n
mono · 2026-06-12
Merged+136 / -521154Ashish, Denis, James, Nastia
feat(website): redirect /help/* to help.kittl.com - CU-86ca7zb2w
mono · 2026-06-12
Merged+657 / -105292Nastia, Renato, Sasha
Harden media downloader against SSRF/DoS
help-center · 2026-06-15
Merged+196 / -1803
ci: add deploy-worker workflow
help-center · 2026-06-15
Merged+52 / -001
Harden worker + sync; add unit/integration/e2e test coverage
help-center · 2026-06-15
Merged+788 / -9400
fix(mobile): article prev/next nav: lone Next on right, both on one line
help-center · 2026-06-15
Merged+11 / -1100
fix(mobile): right-align header search, guard horizontal scroll, unclip Intercom
help-center · 2026-06-15
Merged+19 / -900
fix(ci): make nightly-sync reliable on weekday mornings
help-center · 2026-06-15
Merged+64 / -4700
Style refactor (B): src/: naming + jsdoc
help-center · 2026-06-16
Merged+317 / -19001
Style refactor (A): worker + scripts: naming + jsdoc
help-center · 2026-06-16
Merged+868 / -51701
Address review feedback: dead code, deps, toolchain, audit
help-center · 2026-06-16
Merged+157 / -92404
Comment cleanup (batch 3: src/)
help-center · 2026-06-16
Merged+82 / -30000
Comment cleanup (batch 2: scripts)
help-center · 2026-06-16
Merged+66 / -22100
Comment cleanup (batch 1) + comment policy
help-center · 2026-06-16
Merged+131 / -33502
Doc: note accepted slug-redirect edge + correct ledger row
help-center · 2026-06-16
Merged+2 / -102
Don't emit slug-change redirects that shadow live routes
help-center · 2026-06-16
Merged+143 / -400
Emit exact category-root redirect on rename
help-center · 2026-06-16
Merged+7 / -000
Auto-generate same-domain redirects on approved slug changes
help-center · 2026-06-16
Merged+316 / -4802
ci(sync): push nightly snapshot commit-back via deploy key
help-center · 2026-06-19
Merged+2 / -101
docs: correct README node prerequisite to 24.x
help-center · 2026-06-19
Merged+1 / -100
chore: close sign-off cleanup loose ends
help-center · 2026-06-19
Merged+386 / -1,30801
ci(slackbot): sync worker secrets from repo secrets on deploy
help-center · 2026-07-06
Merged+20 / -002
feat(slackbot): approve sync halts and trigger runs from Slack
help-center · 2026-07-06
Merged+1,661 / -108
fix(site): suppress categories with zero visible articles
help-center · 2026-07-06
Merged+9 / -402
fix(worker): read article descriptions from the 'Article Description' column
help-center · 2026-07-06
Merged+36 / -301
feat(slackbot): surface GitHub HTTP status when a token is rejected
help-center · 2026-07-07
Merged+11 / -501
Add Mixpanel tracking; fix CSP delivery
help-center · 2026-07-09
Merged+167 / -2903
Remove the trailing gap inside expanded toggles
help-center · 2026-07-22
Merged+3 / -001
Render toggleable Notion headings as toggles instead of dropping their body
help-center · 2026-07-22
Merged+216 / -1601
Publish articles only on an explicit Published=Yes
help-center · 2026-07-30
Merged+202 / -1102
Fix the move-canvas 404, internal links opening new tabs, and the mislabelled deploy notification
help-center · 2026-09-07
Merged+56 / -902
Share one legacy-URL table, and fail the build on broken internal links
help-center · 2026-09-14
Merged+250 / -9202