Phase 8 Exercises: Capstone Projects 🏆
Mentor's Note: This is where everything comes together. These capstone projects are designed to be portfolio-ready — you'll build real websites that demonstrate your mastery of semantic HTML, accessibility, SEO, forms, and multimedia. Take your time and make them perfect!
📍 Prerequisites
Before attempting these exercises, complete these lessons:
🎯 Exercise Flow
🔰 Starter Challenge: Personal Portfolio Homepage
Title
Plan and Build a Personal Portfolio Homepage
Description
Design and build a personal portfolio homepage using semantic HTML. Plan the page structure first (wireframe or outline), then implement it with proper HTML5 semantic elements. Include a hero section with your name and tagline, a skills section, a projects showcase section with placeholder cards, and a contact section with a simple form. This is your professional web presence — make it count!
Learning Objectives
- Plan a page layout before writing any code (wireframing)
- Use semantic HTML5 elements:
<header>,<nav>,<main>,<section>,<footer> - Create a hero section with heading, subtitle, and call-to-action
- Build a project cards section with images and descriptions
- Implement a basic contact form with name, email, and message fields
- Add smooth navigation with anchor links
Expected Output
A browser page showing:
- A
<header>with your name/logo and navigation links - A hero
<section>with a main heading, tagline, and CTA button placeholder - A skills
<section>listing your technical skills with icons or badges - A projects
<section>with at least 3 project cards (image, title, description) - A contact
<section>with a form (name, email, message fields) - A
<footer>with copyright and social links - Smooth scrolling between sections via anchor links
- Clean, indented, and well-commented HTML
⭐ Medium Challenge: Multi-Page Business Website
Title
Create a Multi-Page Business Website
Description
Build a complete multi-page website for a small business (real or fictional). Create at least 4 pages: Home, About, Services, and Contact. Use consistent navigation across all pages, a contact form on the Contact page, a services table on the Services page, and company information on the About page. Link all pages together with a shared navigation bar.
Learning Objectives
- Plan and structure a multi-page website project
- Create a consistent navigation header used across all pages
- Build a Home page with hero section, value props, and testimonials
- Build an About page with company history, team section, and mission
- Build a Services page with a pricing or services table
- Build a Contact page with a functional form (action="#" for now)
- Ensure consistent footer with copyright and links across all pages
Expected Output
A multi-page website with:
- Home page: Hero banner, 3 value proposition sections, testimonial block
- About page: Company story, team member profiles (images + names + roles)
- Services page: Description of services, a pricing/services table with proper structure
- Contact page: Contact form (name, email, subject, message), address, phone number
- Each page has the same navigation header and footer
- Navigation links correctly connect all 4 pages
- Semantic HTML throughout (no
<div>soups) - A
sitemap.htmlor simple text sitemap showing the site structure
🏆 Hard Challenge: Full Production-Ready Website
Title
Build a Full Website with Semantic HTML, OG, JSON-LD, Accessible Forms, Responsive Images, and Lighthouse > 90
Description
Create a complete, production-ready website that combines everything you've learned. Build a multi-page site (Home, Blog, Services, Contact) with: semantic HTML5 structure, Open Graph and Twitter Card meta tags, JSON-LD structured data (Organization + Article schema), accessible forms with ARIA attributes, responsive images using srcset and <picture>, performance optimizations (lazy loading, preconnect), and a target of 90+ on all Lighthouse categories.
Learning Objectives
- Combine all Phase 6 and Phase 7 skills into a single project
- Implement responsive images with
srcset,sizes, and<picture>element - Add JSON-LD for Organization (homepage) and Article (blog) schemas
- Implement accessible forms with ARIA attributes and validation
- Use
loading="lazy"andfetchpriorityfor image optimization - Achieve 90+ on Lighthouse Performance, Accessibility, Best Practices, and SEO
- Create a professional project README and portfolio presentation
Expected Output
A complete website with:
- 4+ pages: Home, Blog (with at least 2 article pages), Services, Contact
- Semantic HTML5: Correct use of header, nav, main, article, section, aside, footer
- SEO meta tags: Title, description, OG tags, Twitter Cards on every page
- JSON-LD: Organization schema on homepage, Article schema on blog pages
- Accessibility: ARIA landmarks, labels, roles; proper heading hierarchy; alt text on all images
- Responsive images: srcset + sizes on hero images,
<picture>for art direction if needed - Performance: Lazy loading, preconnect fonts/CDN, optimized image sizes
- Forms: Accessible contact form with labels, ARIA, validation attributes
- Lighthouse scores: 90+ in Performance, Accessibility, Best Practices, and SEO
- A clean project folder structure (pages in subdirectories, shared components)
💡 Tips for Success
- Start with a wireframe or site map before writing any code
- Use a consistent naming convention for your files (e.g.,
index.html,about/index.html) - Validate every page with the W3C Validator before calling it done
- Test navigation on all pages to ensure no broken links
- For Lighthouse: run audits in Incognito mode to avoid extension interference
- Keep a portfolio folder with screenshots of your Lighthouse scores