Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A one-page Astro portfolio template powered by JSON Resume, featuring a hotkey command palette, PDF export, and one-click deploys to Netlify or Vercel.

A dark portfolio & blog theme for Astro with a live 5,000-particle Three.js background, blog system, and glassmorphism UI.
Astrolio is a one-page portfolio template for the Astro framework that turns a JSON Resume file into a printable, deployable personal website with a hotkey command palette.
Astrolio is a static portfolio template built with Astro 5.17.x that takes a single JSON Resume file located at src/cv.json as input and renders a one-page portfolio website as output. The page includes a command palette, PDF export, and links to the resume's projects, publications, and websites. It was created by dakodonnell and is inspired by Bartosz Jarocki's JSON-based CV and Miguel Ángel Durán's minimalist-portfolio-json projects. The template ships with a sample CV and is licensed under MIT.
src/cv.json following the official JSON Resume schema; the repo includes a sample CV for demo or editing.Cmd+K or Ctrl+K, or via a button on mobile, to trigger actions instantly.v18.17.1 or v20.3.0 or later installed; v19 is not supported.npm create astro@latest -- --template dakodonnell/astrolio or clone the template from GitHub.src/cv.json with your own JSON Resume; optional project attributes like isActive and GitHub are supported.npm run dev and open http://localhost:4321 to preview, then deploy to any static host.Yes, Astro requires Node.js v18.17.1 or v20.3.0 or later. Version v19 is not supported. You can check your installed version with the node -v command.
Yes, Astrolio is open source under the MIT license, so you can use, modify, and deploy it freely, including for commercial purposes. The README describes the license as "Go crazy."
Yes, the command palette includes an action to export your portfolio as a PDF. The palette is accessible via Cmd+K/Ctrl+K on desktop or a button on mobile.
Each project entry in the JSON Resume data can include optional attributes such as isActive and GitHub to link the project card to an active repo or status, in addition to the standard resume fields.
