Lesson 1 — Building a simple portfolio
This lesson walks you through creating a tiny portfolio page. First — open the editor you'll use (VS Code, Mimo web, or any editor). Create a folder and an index.html file inside it. Ready? Let's go.
Lesson 1 — Building a simple portfolio
This lesson walks you through creating a tiny portfolio page. First — open the editor you'll use (VS Code, Mimo web, or any editor). Create a folder and an index.html file inside it. Ready? Let's go.
Copy the exact code below into your index.html. It is intentionally minimal.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My Portfolio</title>
</head>
<body>
<!-- Start typing below this line -->
</body>
</html>Add this line between the <body> tags:
<h1>My Portfolio</h1>This is the biggest heading. It's used for your page title. Put your name or site title here.
Add a short line describing you — for example:
<p>Beginner Website Developer</p>Paragraph tags hold sentences and small blocks of text.
<br> inserts a line break (new line) inside text. It has no closing tag. Example:
<p>I love coding.<br>I also learn fast.</p>Use it sparingly — paragraphs are usually better. But <br> is handy for addresses, poems, or tiny spacing inside a paragraph.
Add a secondary heading for skills:
<h2>Skills:</h2>Headings break the page into readable sections. Use them to label parts of your portfolio.
To show skills use an unordered list:
<ul>
<li>Coding</li>
<li>Fast learner</li>
</ul>The <ul> container holds list items (<li>). Each <li> is a bullet point.
Fill the blank: The tag to create a bullet item is _____.
Which tag is used for the biggest heading?
You built a tiny portfolio page: title, description, line break, section heading and a skills list. Move to Lesson 2 for deeper tag work.
The anchor tag <a href="URL">...</a> creates a link. Clicking it navigates the user to the URL. Example:
<a href="https://probablybored.net">Go to probablybored.net</a>target="_blank" opens the link in a new tab or window. Use it when sending users to an external site. Example:
<a href="https://probablybored.net" target="_blank" rel="noopener noreferrer">Open site in new tab</a>Important: add rel="noopener noreferrer" for security when using target="_blank".
A button is interactive. It's used to trigger actions (form submission, JS functions, etc.). Example:
<button>Click me</button>Buttons inside anchors become clickable links when wrapped by an <a> — that's how we'll build the final task.
<strong> marks important text. Browsers render it bold by default. Use it to highlight meaningfully important words.
<p>I am a <strong>reliable</strong> worker.</p><em> marks stressed/emphasised text. Browsers render it italic by default. Use it for emphasis or slight stress.
<p>This is <em>really</em> important.</p>Complete: To open a link in a new tab use the attribute _____.
Create an anchor that links to https://probablybored.net, opens in a new tab (target="_blank"), and contains a button with the text Click here. Example result (DON'T copy — code here is for demonstration only):
<a href="https://probablybored.net" target="_blank" rel="noopener noreferrer">
<button>Click here</button>
</a>Type your code below. When you're ready press "Check" — the checker will confirm the anchor, the button text, and that target="_blank" is present.
You learned links with target="_blank", buttons, and inline emphasis tags. Go back to earlier lessons or continue through the course.
In this lesson you'll build a simple Linktree-style page step-by-step. For each step you'll load starter code into the editor panel, edit it (replace links with your socials), and preview the result instantly. We'll guide you — just follow the "Load step" buttons and press Run.
We'll create the page container and a profile header. Click Load step 1 to put this starter into the editor, then press Run to preview.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>My Linktree</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
</head>
<body>
<div class="linktree">
<img src="https://placekitten.com/200/200" alt="Your avatar" style="width:120px;border-radius:999px;">
<h1>Your Name</h1>
<p>Short bio or tagline</p>
</div>
</body>
</html>Edit the HTML below. Replace the image URL with your profile image, and replace the links in later steps with your social links. When you're ready click Run to update the preview.
Now add 3 link buttons. Click Load step 2 to load code that includes three example links. Replace each href with your own socials (Twitter, Instagram, YouTube, Link to resume, etc.).
<div class="linktree">
<img src="https://placekitten.com/200/200" alt="Your avatar" style="width:120px;border-radius:999px;">
<h1>Your Name</h1>
<p>Short bio or tagline</p>
<a class="link" href="https://twitter.com/yourhandle" target="_blank" rel="noopener">Twitter</a>
<a class="link" href="https://instagram.com/yourhandle" target="_blank" rel="noopener">Instagram</a>
<a class="link" href="https://youtube.com/yourchannel" target="_blank" rel="noopener">YouTube</a>
</div>You can show small favicons or images next to links. Use <img> inside the anchor or use background-image in CSS. Click Load step 3 to see an example.
<a class="link" href="https://twitter.com/yourhandle" target="_blank" rel="noopener">
<img src="https://placehold.co/24" alt="t" style="vertical-align:middle;border-radius:6px;margin-right:8px"> Twitter
</a>Great job — you've coded a Linktree-style page. Make sure to replace example URLs and image links with your real socials and avatar. When you're happy, copy the final HTML into an index.html file and publish to GitHub Pages, Netlify, or Vercel.