Align website content with app unit-pricing and receipt verification (#11) - #13
Merged
Merged
Conversation
The site was written in January 2026 and never revised, while the app moved on twice: unit price became the headline metric in April (build 4) and the capture review was rebuilt into three optional steps in July (build 8). Three things were not just stale but wrong. The features page carried a "CRA Compliance" card with a green "Tax Compliant" badge claiming reports use "the documentation format accepted by the Canada Revenue Agency." The app removed exactly that framing from its own interface in April. The site now explains the Medical Expense Tax Credit as context, states the ~3%-of-net-income threshold plainly, and makes no claim about anyone's eligibility. The advocacy card said petition e-6853 "was presented in Parliament in February 2026" and stopped there. The government declined it in March. The pre-JavaScript status banner fallback still read "Coming Soon! GF PriceChecker is currently in development" on five of six pages, next to a live beta call to action, whenever JavaScript was slow or blocked. Also fixed along the way: announcements rendered as one unbroken block with Markdown links shown as literal text (blog-loader's preserveLineBreaks is now shared via utils.js), the home page printed an entire announcement instead of a preview, and every post date displayed a day early for readers west of UTC. Videos and most carousel screenshots still show the older build and now say so; re-recording needs a device session and is left to a follow-up. Refs #11 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
7 tasks
This was referenced Aug 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Works issue #11. The site was written in January 2026 and never revised, while the app moved on twice — unit price became the headline metric in April (build 4), and the capture review was rebuilt into three optional steps in July (build 8).
Three things that were wrong, not just stale
The site claimed tax compliance the app had retracted.
features.htmlcarried a "CRA Compliance" card with a green "Tax Compliant" badge, claiming reports include "the documentation format accepted by the Canada Revenue Agency." The app stripped exactly that framing from its own UI in April 2026 (8cebe68— "That was overstepping"). The site now explains the Medical Expense Tax Credit as context for why the app exists, states the ~3%-of-net-income threshold plainly, and makes no claim about anyone's eligibility. Same treatment applied tofaq.jsonandannouncements.json. The only surviving CRA mentions are the disclaimers interms.html, which point the right way.The petition card stopped in February. It said e-6853 "was presented in Parliament in February 2026" and left it there. The government declined it in March; the METC stays as-is with itemized receipts required. Updated, keeping the "we hope this app becomes redundant" close.
Five of six pages said "Coming Soon" without JavaScript. The hardcoded status-banner fallback still read "Coming Soon! GF PriceChecker is currently in development" on every page but
beta.html, contradicting the beta CTA alongside it whenever JS was slow, blocked, or disabled.Content
beta.htmltesting focus now points testers at size/unit price and backup-restore — the newest and most fragile areas.status.jsonrefreshed.Bugs found while in here
preserveLineBreaksalready existed inblog-loader.js— promoted toutils.jsand reused rather than duplicated.YYYY-MM-DDwas parsed as UTC midnight then rendered in local time.Repo cleanup
README.mddocumented the iOS app. It now documents this website repo — how the runtime component includes work, how the JSON content system works, how to run locally and add content.CHANGELOG.mdalso tracked the app, was frozen at[Unreleased]with "Session 25/26" numbering, and claimed "No releases yet" eight months into a public beta. Repurposed for the site, backfilledv1.0.0andv1.1.0, with the versioning approach documented at the top.Claude.mdinsisted the analytics token was stillYOUR_TOKEN_HEREand that privacy/terms carried placeholder banners — both false since January. Stale sections marked historical, a real "Outstanding Work" section added, plus content conventions capturing the neutral-CRA rule so it doesn't regress.Documents/build plans moved toDocuments/archive/with historical headers.sitemap.xmllastmod dates corrected —blog.htmlclaimed January while carrying posts through August.v1.1.0onmainbefore branching, marking the pre-overhaul state as the issue asked.Verification
All 8 pages tag-balance clean; all JS passes
node --check; all JSON parses; every route serves 200 locally. The render pipeline was exercised in Node against the real data files — 5 paragraphs, no literal Markdown, escaping intact, dates correct.Deliberately not done
wwwvs bare domain.CNAMEholdswww.gfpricechecker.com; every canonical link, OG tag, sitemap URL, and JSON-LD entry uses the bare domain. One is wrong and it affects SEO canonicalization. Worth its own issue.🤖 Generated with Claude Code