This repository contains the source code for my personal portfolio, built with Astro and deployed to Cloudflare Workers.
The code is open source and may be reused, but the written content, images, and other assets are specific to this portfolio and should not be copied or published elsewhere.
- Built with Astro and TypeScript
- Markdown and MDX support for blog posts and project pages
- Performance tuned (aiming for perfect Lighthouse scores)
- SEO-friendly setup with OpenGraph tags and a sitemap
- Minimal styling applied to keep presentation clean
- RSS feed available for the blog
src/pages/– routes and pages (Astro files)src/layouts/– shared layouts for blog posts and projectssrc/components/– reusable UI componentssrc/content/blog/&src/content/projects/– Markdown/MDX contentpublic/– static assets (images, icons)
Astro automatically maps files in src/pages/ to routes. Collections are defined in content.config.ts and accessed with getCollection().
bun install # install dependencies
bun run dev # start local dev server
bun run build # build production site to ./dist
bun run preview # preview the build locallyYou can also run bun run astro -- --help for Astro CLI commands.
This repository was originally created from the Cloudflare Astro blog starter template and has since been adapted for this site. The contents are specific to this portfolio.