Skip to content
Back to projects

Amr Abdelhalim Portfolio Website Project

A bilingual personal portfolio website with profile, services, projects, and contact sections captured from the live custom domain.

  • Static Websites
  • Portfolio
  • Websites
  • HTML
  • CSS
  • JavaScript
  • Static Site Generation
  • SEO
  • Responsive Design

Project image carousel

Amr Abdelhalim Portfolio Website

Image 1 of 5

Project Concept

This project is the live personal portfolio site you’re browsing right now — the public identity layer presenting the profile, services, project evidence, and contact channels. Unlike the other portfolio entries, this isn’t a separate technical demo; it’s the actual product a visitor is using at this moment.

What the Interface Shows

A bilingual (Arabic/English) homepage with a real interface-level language switch and full mirrored direction (RTL/LTR), categorized project and service listings with pagination, detail pages with a media gallery and linked project/service relationships, static pages (about, contact, privacy, terms), and a dark/light theme with persisted preference.

My Role and Decisions

Among the most significant documented architectural decisions: the move from GitHub Pages to Cloudflare Pages — chosen specifically because Cloudflare applies _redirects rules at the edge, which GitHub Pages cannot do, and I decided not to keep two active production paths running in parallel. Another key decision was restricting React to a small set of interaction “islands”, deliberately keeping the language switcher and theme toggle outside React — because the dark-mode bootstrap script must run before hydration to prevent a color flash, and language switching already works with plain links requiring no JavaScript. I also deliberately separated project and service taxonomy vocabularies in the content model, so legacy project categories wouldn’t dictate future service capabilities. I added content-provenance tracking fields (contentOrigin/reviewStatus) so auto-generated text can never be mistaken for approved, owner-reviewed content.

Technical Aspects

A fully static Astro 7 site (no application server), strict TypeScript, Tailwind v4, and selective React “islands” for interaction such as the contact form, media carousel, and lightboxes. A structured bilingual content model covers projects, services, certificates, and static pages. A complete JSON-LD structured-data foundation, deployment via Cloudflare Pages with Wrangler Direct Upload, and a release quality gate (build checks, content security, dependency audit, and browser QA) before any deployment.

Project Value in the Portfolio

This site is the clearest live proof of engineering discipline in the entire portfolio — formally documented architectural decisions, a strict separation between content and logic, and a real release quality gate instead of ad hoc publishing. Any visitor sees the direct result of these decisions simply by browsing the site right now.

View more projects
View more services