ship.page/blog
Blog
Engineering notes and product updates from the small team building ship.page.
All posts
How to share a GitHub Actions artifact without a login
GitHub artifacts sit behind a login wall and download as zips. Deploy the report to a live URL in the same workflow and anyone can open it — no GitHub account needed.
· 3 min read
CIYour Playwright report shouldn't be a zip
GitHub artifacts turn your beautiful HTML test report into a download-nobody-clicks. Two lines of YAML put a live link on every PR instead.
· 2 min read
Agentsship.page for AI agents: deploy from any LLM in one POST
Give your AI agent a way to publish HTML: one anonymous POST, or a nine-tool MCP server, turns generated pages into live URLs. No account, no key, no OAuth.
· 6 min read
ProductShip, you say? Why we built a pastebin for whole websites
We kept zipping HTML reports and emailing them around like it was 2009. So we built the dumbest possible deploy button: one endpoint you throw a page at, one live URL back.
· 5 min read
CIYour CI should ship: live preview links in two lines of YAML
Add the Action after your build step and every run posts a clickable preview to the PR — including TTLs that clean up after themselves.
· 2 min read
Engineering47 bits: why sharing a link can be the access control
Every drop lands on a subdomain with ~47 bits of entropy. The actual math on why that's enough — and where a real login still wins.
· 2 min read
ProductNamed drops: one URL per pull request, forever
Redeploy ?name=pr-42 as often as you like: the content changes, the URL your reviewers bookmarked doesn't.
· 2 min read