Astro is a good fit for this site because the content is mostly static, but individual pages can still carry small interactive components when needed.
For now, the goal is to keep the source simple: data files for projects, Markdown files for writings and notes, ordinary Astro pages, and minimal client JavaScript only where it improves the site.