Site Road Map
Plans to implement on this website
1000x Architecture Issues
- #2 Add writer-level build timing and metrics
- #3 Expand SEO metadata and structured data test coverage
- #4 Add SiteDoctor image audit and derivative generation commands
- #4 Expand SiteDoctor into a full titles, descriptions, tags, images, and paths audit
- #5 Remove avoidable inline event-handler JavaScript from theme UI
- #5 Finish strict CSP validation for historical embeds and deployment headers (closed completed as “CSP readiness”)
- #6 Split Tailwind source into maintainable CSS modules
- #7 Add image audit and responsive image pipeline
- #8 Design topic hubs and thin-tag SEO policy
- #9 Add fast-dev mode for large archive output
- #10 Add Foundation Models SEO proposal workflow
- #11 Document upstream Saga improvement candidates
- #12 Add scheduled link, Lighthouse, and snapshot checks (
.github/workflows/quality.yml, weekly) - #13 Build static recommendations and CTA catalogs
- #22 Feed titles should use local SEO title policy
- Improve RSS, Atom, and JSON Feed discovery; fix broken canonical feeds and redirect older feed URLs discovered in Wayback Machine
- #23 Remove unused allItems dependency from baseHtml
- #24 Backlog: move static project-card content out of Swift
- #25 Split large Swift source files into smaller logical units
- #26 Reduce token-heavy Swift documentation comments
- Fix overlapping
saga devrebuilds and upstream the watch serialization/coalescing patch - Extract the responsive image pipeline into a reusable Swift package and materialize generated assets in the current deploy output
- Add Vision image enrichment, OCR, and feedback memory to SiteDoctor SEO proposals
- #48 Audit SEO proposal artifacts when content files are renamed (
doctor auditflags orphaned/misplaced artifacts; rename safety covered by regression tests)
Roadmap
- Enable markdown attributes in run and adopt and cleanup some files
- Find all untitled posts and give them display titles and SEO titles (20 legacy posts backfilled via sitedoctor, July 2026)
- Find all posts without SEO descriptions and add them (same batch)
- Write manual metadata for the ~16 thin image posts that fail proposal validation (file list in the sitedoctor
--missingbatch output) - Read link on writing page could be better aligned vertically (centred against the row, July 2026)
- Fix broken images on a few posts
- Incorporate recommendations into work section.
- Design recommendation page
- Design recommendation card that can be embedded on project pages
- Split recommendations into separate markdown files that can be used in multiple spots on website
- Add image support to project cards through the responsive image pipeline
- Convert page and case-study inline styles to CSS classes (guarded by a test)
- Make the CSS dark-mode-ready (semantic tokens, color-mix, shadow tokens)
- Modernize site.js (const/let, crypto.randomUUID) and bump to Swift tools 6.3
- Simplify renderers and dedupe helpers (baseHtml overload, shared archive/shortcode helpers)
- Support featured articles on writing pages (new featured article box)
- Add pinned post metadata and use pinned posts on utility pages
- Add pinned posts to the writing page (“Pinned by Brent” group, Round 6b design)
- Paginate articles on writing page
- Group the writing list by year and add category/dek details
- Evaluate thumbnail or featured-card treatment for the writing list
- Add available for consulting box on topic hubs (per-hub CTA) and via the
{{available}}shortcode for the about page and work cases - Retag posts using AI
- Overhaul topic taxonomy into a six-hub capability arc (buyer-focused) with a tone-of-voice guide
- Contact-gate for gated case studies: a
gate_type: contactvariant that renders a mailto “Request the case study” card instead of the newsletter gate — decide before publishing the two draft case studies - Finish and publish the two draft case studies (HSBC Hong Kong, AIA multi-market design system)
- Dark-mode token gaps: tokenize the
.rec-avatartints (recommendation.css) and the#ECE6D5fill (case-study.css) - Extract the ~6 remaining Tailwind-utility strings in Theme Swift into named component classes
- Contact form to replace the bare mailto CTAs, Swift-first. Options: a small pure-Swift service (Hummingbird + Elementary) — most Swift, but adds a hosted backend to run; a Cloudflare Pages Function in the existing
functions/surface — zero new hosting, not Swift; or a static form service. Interim: visible plain-text email + reply-expectation microcopy next to the primary CTAs (shipped with the CRO pass). - Support Dark and light mode design
- Resolve design of tags showing up on top and bottom of articles
- Add categories to posts and generate category archive pages
- Add crawlable featured tag links to the writing page
- Add category filtering or richer writing filters if still useful (superseded by the six topic hubs)
- Add responsive YouTube embeds, media-grid, and callout components for article bodies and case studies
- Add testimonial carousel and full-text testimonial dialogs
- Optimize and remove unused CSS
- Document theme template swift code in DocC format
- Check for code optimization and reuse bugs
- Add Newsletter subscription on the bottom of every blog post
- Add pinned/favorite blog posts at the end of every blog post (article pages still pending; the writing page shipped July 2026)
- Fixes for technical SEO Audit
- Fix Google Site Speed Issues
- Add Case study for Saga Website (would also refill the Apple & Swift hub on /work/, empty since CNN Travel moved to Technical Decisions)
- Add Case study card for this website on work page
- Redesign of Home Page
- Public Roadmap