Summary: The author ships a static Astro portfolio through Cloudflare Workers Static Assets, using Bun for local scripts and dependencies and Wrangler to publish the built dist directory. No custom Worker script is used because the site needs no runtime logic yet. Completion is checked only after the build, routes, metadata, live URL, and console all pass.
A prototype only pays off once somebody else can open it, which is why I keep the trip from build to live site short.
This portfolio runs as a static Astro build delivered through Cloudflare Workers Static Assets. Locally, a single command compiles the site into dist, and Wrangler then pushes that directory out to Workers.
How the Deployment Fits Together
By design, the toolchain stays lean:
- Astro generates the site as static HTML, CSS, and JavaScript
- Bun takes care of script execution and the dependency workflow
- Wrangler publishes the static assets
- Cloudflare Workers delivers the finished site
There is no custom Worker script at this stage, because nothing on the site calls for runtime logic. That could change if the product later gains server-side routes, form handling, AI endpoints, or authenticated features.
How I Prove It Before Shipping
Nothing counts as done until the built artifact itself shows evidence:
- the production build succeeds
- every expected route is present
- the metadata needed for SEO and sharing is in place
- the live Workers URL loads properly
- the UI runs without obvious console errors
That habit of verifying grows more valuable as the stack gets more AI-assisted. Shipping fast only holds up when the feedback loop behind it is genuine.
