Web / 2026
abdoahmed.com
A static Astro portfolio with validated content and a local editor for projects, profile details, education, and certifications.
- Status
- Live
- Technologies
- Astro, TypeScript, CSS, Node.js
My personal software portfolio, built with Astro and TypeScript and published at abdoahmed.com. Projects live in Markdown, while profile details, education, certifications, skills, and contact links live in a validated JSON file.
Design approach
The responsive interface uses typography, spacing, and compact project rows to keep the work easy to scan. Subtle reveal animations and active section navigation support browsing, with reduced-motion support and keyboard accessibility. Projects can link directly to their source or include a dedicated write-up.
Technical approach
Astro Content Collections validate project metadata at build time. Shared schemas keep the site and its local content editor consistent, while a typed adapter exposes the JSON content to page components. The production build generates static HTML, a sitemap, and social metadata with minimal client-side JavaScript.
Local content editor
A separate Node.js editor provides forms for maintaining projects and homepage content. It validates changes before saving them to the repository and stays outside the public site. Publishing follows the Git workflow: review the edits, commit, push, and let Cloudflare Pages build the static site.