APortfolio
A zero-JS static portfolio site built with Astro — add a project with one Markdown file, deploy for free in minutes.
Overview
APortfolio is a pre-built static portfolio site designed for developers who want a professional web presence without ongoing hosting cost or maintenance overhead. All personal data lives in a single config file; each project is one Markdown file. The site ships with 0 KB of client-side JavaScript by default, no external network requests, and deploys to Cloudflare Pages, Vercel, or Netlify on the free tier.
Key Features
- 5 pages out of the box: Home, Projects listing, Project detail, About, and Contact
- Filterable project grid by type (Web App, CLI Tool, Library, API, Mobile App, Data/ML)
- Featured projects surfaced on the home page
- Dark / light mode with system preference detection and manual toggle
- Contact form via Formspree — no backend required
- Accessible: semantic HTML,
prefers-reduced-motionsupport, ARIA labels
Technical Decisions
Chose Astro for its zero-JS-by-default output and first-class content collections with Zod schema validation — project entries are type-checked at build time. Plain CSS with custom properties was preferred over Tailwind or a preprocessor to keep the bundle tiny (~5 KB) and avoid a build dependency. Markdown + Zod was chosen over a CMS so that adding a project requires no login, no API, and no rebuild of the config layer.