Skip to content

ship.page/blog

Blog

Engineering notes and product updates from the small team building ship.page.

All posts

CI

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

CI

Your 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

Agents

ship.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

Product

Ship, 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

CI

Your 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

Engineering

47 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

Product

Named 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