Personal Profile Page
What you'll build
A standalone .html file that displays your name, a placeholder photo, a short bio paragraph, and a bulleted list of three skills you want to learn.
Goals
- Write a valid HTML5 document from scratch with doctype, head, and body
- Use semantic headings (h1, h2) to structure content
- Add an image with the img element and alt text for accessibility
- Create a bulleted list with ul and li elements
Prerequisites
- Basic understanding of what HTML is and what tags do
- A text editor or the EZ4Code playground
Steps
- 1
Set up the document skeleton
Create a file
profile.htmlwith the HTML5 doctype, an html element, a head containing a title and charset, and an empty body. This skeleton is the required shell of every HTML page.Code<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>My Profile</title> </head> <body> </body> </html>Expected result
Opening the file in a browser shows a blank page with the tab title "My Profile".
- 2
Add your name and photo
Inside the body, add an h1 with your name and an img tag pointing to a placeholder image. Always include an alt attribute so screen readers and broken-image states have a fallback.
Code<h1>Alex Lee</h1> <img src="https://placehold.co/200x200" alt="Photo of Alex Lee">Expected result
The page now shows your name as a large heading and a 200×200 placeholder image.
- 3
Write a short bio
Below the photo, add an h2 heading "About me" followed by a p paragraph with two or three sentences describing who you are and what you want to learn.
Code<h2>About me</h2> <p>I am a new developer learning web basics. I enjoy solving small puzzles and want to build my first real website this month.</p>Expected result
A sub-heading and a paragraph of bio text appear under the photo.
- 4
List your skills
Add an h2 "Skills I am learning" and a ul with three li items. Lists are the right element for any collection of parallel items.
Code<h2>Skills I am learning</h2> <ul> <li>HTML structure</li> <li>CSS colors and spacing</li> <li>JavaScript basics</li> </ul>Expected result
A bulleted list of three skills renders at the bottom of the page.
Hint
If the bullets do not appear, make sure each item is wrapped in <li> inside the <ul>.
Try it yourself
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Profile</title>
</head>
<body>
<!-- TODO: add h1 name, img, h2 + p bio, h2 + ul skills -->
</body>
</html><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Profile</title>
</head>
<body>
<h1>Alex Lee</h1>
<img src="https://placehold.co/200x200" alt="Photo of Alex Lee">
<h2>About me</h2>
<p>I am a new developer learning web basics. I enjoy solving small puzzles and want to build my first real website this month.</p>
<h2>Skills I am learning</h2>
<ul>
<li>HTML structure</li>
<li>CSS colors and spacing</li>
<li>JavaScript basics</li>
</ul>
</body>
</html>What you learned
You wrote a complete, valid HTML5 document from scratch using semantic elements (h1, h2, p, ul, li, img) — the same structure every web page starts from.
Related Resources
Related Lessons
Related Practice
- HTML Tags MCQ
Quiz on which tag to use for which content.
- HTML Structure Find
Spot structural mistakes in a sample HTML file.
Related Tools
- HTML/CSS/JS Minifier
Pretty-print your HTML to verify the structure is clean.
Related Cheatsheets
- HTML Cheatsheet
Quick reference for every tag used in this project.
Related Reference
- HTML Elements Reference
Complete reference for h1, h2, p, ul, li, and img tags.
Related Errors
- Broken Image
Image not loading issues.
- CSS Not Loading
Stylesheet not applied.
Related Glossary
A beginner-friendly glossary explains jargon in plain English — variables, functions, DOM, Promise, and more.
Related Errors
Plain-English explanations of common errors — what they mean, why they happen, and how to fix them.
- Broken Image
Image not loading issues.
- CSS Not Loading
Stylesheet not applied.