Recce Corporate Website
Recce Data Engineering / Analytics Engineering Apr 2025 to PresentProject Link
AstroReactTypeScriptTailwind CSSShadcn/uiGitHub PagesCloudflarePostHogGTM
Structured data across 149 pages
The site had a strong product story but missed the metadata that lets search engines and AI agents parse it. I added a SiteStructuredData component that emits BreadcrumbList and WebPage JSON-LD on every page, plus DefinedTermSet for the glossary entries. The work covered 149 pages, set dateModified on the 39 that actually change, and tightened the sitemap canonical URLs. The a14y score moved from 65 into the 90s as a result.
Opt-in cookie consent that actually blocks
Most consent banners load the trackers first and turn them off if the user objects. I wrote the 303-line vanilla JS system that does the opposite. GTM, PostHog, Vector, and HubSpot don't load until the user clicks accept. The banner is keyboard-navigable and WCAG-compliant, and the consent state syncs to the data layer so analytics knows when it can fire.
Consolidating the brand off the legacy domain
The company had two domains in circulation: datarecce.io as the legacy and reccehq.com as the canonical. Internal links, blog post images, and case-study CTAs were split between them. I worked through 7 blog posts and the surrounding navigation, replacing the legacy domain everywhere it appeared so future link rot and analytics splits stop happening.
Three-tier docs for new contributors
The CLAUDE.md file had grown to 190 lines, trying to cover everything any contributor or AI assistant might ever need. I trimmed it to a 44-line summary that points into three focused docs: architecture, development, and git-practices. Anyone new can read CLAUDE.md in two minutes and find the deeper doc they actually need.




