Skip to content

feat: product page with a live demo on GitHub Pages - #19

Merged
joshchen-dev merged 1 commit into
mainfrom
claude/great-shannon-b4y5vi
Oct 24, 2026
Merged

joshchen-dev merged 1 commit into
mainfrom
claude/great-shannon-b4y5vi

Conversation

@joshchen-dev

@joshchen-dev joshchen-dev commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

A public product page for Raidy, deployed with GitHub Pages: / is the product page and /demo/ is the live demo from #17.

  • The hero is the product. The real availability grid sits next to a faithful copy of the Discord post, which follows renderAnnouncement. The visitor plays the "You" row, and every tap updates the counts and status in both, using the server's rule that a confirmed night needs everyone.
  • The rest of the page:
    • six terse features
    • three setup steps
    • screenshots of the real app in light and dark, captured from the demo at deploy time and kept out of git
    • an open-source section
    • a short FAQ
    • an Open Graph image for link previews
  • Build:
    • vite.product.config.ts builds web/product/. The page reuses the app's tokens, components and demo sample data.
    • npm run build:pages builds the page and the demo into web/dist-pages.
    • npm run screenshots captures the screenshots.
  • Deploy: .github/workflows/pages.yml captures screenshots, builds and deploys on every merge to main. CI also checks that the site builds.

Release v0.0.18.

One-time setup

  1. In the repo's Settings → Pages, set Source to GitHub Actions.
  2. Point a subdomain's CNAME record at joshchen-dev.github.io.
  3. After the first deploy, set that subdomain as the Custom domain and tick Enforce HTTPS.

The site uses root paths, so it needs the custom domain rather than joshchen-dev.github.io/raidy/.

Tests

A new Playwright product project checks:

  • the hero and its links
  • tapping a night updates the Discord post ("8/8 · Confirmed" → "7/8 · Attention required")
  • no sideways scroll on a phone

npm run check, format:check, build, build:pages, screenshots, and the full Playwright suite (31 passed) all pass locally. I checked the page with screenshots at 1440 px and on a Pixel 7, in light and dark.

A public page for Raidy, deployed with GitHub Pages.

- The hero is the product: the real availability grid next to a copy of
  the Discord post. The visitor plays the "You" row, and every tap updates
  the counts and status in both, as the real app does.
- Features, the three setup steps, screenshots of the real app (light and
  dark, captured from the demo at deploy time), open source and FAQ.
- "Try the live demo" opens the demo build at /demo/.
- `npm run build:pages` builds the page and the demo into dist-pages; the
  Pages workflow captures screenshots, builds and deploys on every merge
  to main. CI also checks that the site builds.

Release v0.0.18.
@joshchen-dev
joshchen-dev merged commit cfcbf5c into main Oct 24, 2026
1 check passed
@joshchen-dev
joshchen-dev deleted the claude/great-shannon-b4y5vi branch October 24, 2026 03:05
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