← Back to Projects
Web App

APortfolio

A zero-JS static portfolio site built with Astro — add a project with one Markdown file, deploy for free in minutes.

AstroTypeScriptMarkdownCSS

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-motion support, 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.