Build a Resume Website with HTML and CSS

Build and publish your own resume website from scratch with HTML and CSS. Sixteen short lessons, no frameworks, no setup. Your first real project, live on the internet.

16 lessonsAbout 45 minFree, no account needed

What you learn

  • HTML structure and semantic tags
  • CSS layout and styling
  • Publishing a page online

Lesson 1 of 16 · 2 min

What you are building

Today you build your first website: a simple resume page that anyone can open in a browser.

Prefer to follow along with a walkthrough? Watch it here, or open the Day 1 video in a new tab.

Day 1 walkthrough: Build your resume website

What you are learning:

  • how to build a resume website using HTML;
  • how to build a website in StackBlitz;
  • how to push your website live so you can share it.

By the end, you will have a real, shareable web page with your name on it.

This lesson has 1 quiz in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 2 of 16 · 2 min

Your tool: StackBlitz

We are using a website to code called stackblitz.com.

StackBlitz lets you write code, build websites, and take your website live to share, all in your browser. No downloads required.

Go to stackblitz.com and sign in. Let's get started!

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 3 of 16 · 3 min

Create your Resume project

Once you sign in, you land on the dashboard. Let's create a new project.

  1. Click the New Project button.

The StackBlitz dashboard with the New Project button

  1. Choose the Static (HTML, CSS, JS) project.

Choosing the Static HTML, CSS, JS template

Note: Want to see how HTML, CSS, and JavaScript work together? Watch this video.

3. Rename the project to Resume.

Renaming the project to Resume

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 4 of 16 · 2 min

Clear the extra files

Today is about HTML only, so let's remove the files we do not need yet. Hover a file in the panel and click the delete (trash) icon.

The StackBlitz files panel, deleting styles.css

Delete these three:

  • style.css, because CSS is taught on Day 2;
  • script.js, because JavaScript is taught on Day 3;
  • page2.html, because we will not use it.

You should be left with just index.html.

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 5 of 16 · 3 min

Put your name on the page

Open index.html and change the code to this. Change "Haris" and "Haris Samingan" to your own name.

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Haris Resume</title>
  </head>

  <body>
    Haris Samingan
  </body>
</html>

Save your code with Ctrl + S (or Cmd + S), and it updates automatically in the preview on the right. With a blink of an eye, the old text changes to your name.

The preview showing your name after saving

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 6 of 16 · 2 min

See your site live

Let's open your website in its own browser tab. Click the open in new tab icon at the top of the preview.

The open in new tab icon above the preview

The new tab may ask you to connect first. Click Connect to Project.

The Connect to Project screen

A tab opens with your name as its title, for example Haris Resume.

The preview showing your name after saving

🎉 Congrats on creating your first live website! Take a breath, then let's understand what you just did.

This lesson has 1 quiz in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 7 of 16 · 3 min

What is HTML?

HTML is the building block of websites.

HTML stands for HyperText Markup Language. It is used to create and structure the content of a website. .html is the file type.

Why index.html? Because in web development, index refers to the default or home page of a website. When a browser opens your site, it looks for the index page first.

This lesson has 2 quizzes in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 8 of 16 · 3 min

How HTML tags work

We build pages with HTML tags. For example, to create a paragraph of text:

<p>This is a paragraph of text.</p>

Here is what each part is called:

  • <p> is the opening tag.
  • </p> is the closing tag (the slash means "end this").
  • The text between them, "This is a paragraph of text.", is the content.

Together, the opening tag, content, and closing tag make one element.

This lesson has 2 quizzes in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 9 of 16 · 3 min

The page skeleton (boilerplate)

Every website starts from a small starter code (also called boilerplate). It is the least amount of code needed to create a website:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Haris Resume</title>
  </head>

  <body>
    Haris Samingan
  </body>
</html>

Here is what each tag does:

  • <!DOCTYPE html> declares the document type, telling the browser this is HTML5.
  • <html> is the container for all the other tags on the page.
  • <head> holds metadata: information about the page that is not shown on it, like the page title and links to CSS or JavaScript files.
  • <title> sets the title shown in the browser tab.
  • <body> holds the visible content: the text, images, and elements people see on the page.

This lesson has 1 quiz in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 10 of 16 · 3 min

Add headings

Heading tags define the headings and subheadings of a page and give it structure:

  • <h1> is the main heading. Use it for your name.
  • <h2> is for section headings.
  • <h3> to <h6> are for smaller subheadings.

Headings list

Update the <body> to make your name a big, bold heading, then save:

<body>
  <h1>Haris Samingan</h1>
</body>

Your name now appears large and bold at the top of the page.

This lesson has 1 quiz in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 11 of 16 · 3 min

Add sections with lines

The <hr> tag adds a horizontal rule, a line that separates sections like your name and your education. It does not need a closing tag.

Horizontal rule example

Update the body to add your Education and Experience sections, then save. Change the details to yours.

<body>
  <h1>Haris Samingan</h1>

  <hr />
  <h2>Education</h2>
  <h3>Sigma University (2023)</h3>

  <hr />
  <h2>Experience</h2>
  <h3>Developer @ Sigma Labs (2023)</h3>

  <hr />
  <h2>Skills & Interests</h2>
</body>

Notice how the <h2> sections and <hr> lines give the page a clear, scannable structure.

Horizontal Rule Output

This lesson has 1 quiz in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 12 of 16 · 3 min

Add lists

The <ul> and <li> tags create an unordered list (bullet points). <ul> is the container for the list, and each <li> is one item.

Unordered list of achievements

Add a list of achievements under each entry. Find the right spot and add the lists, then save:

<h3>Sigma University (2023)</h3>
<ul>
  <li>Learnt HTML</li>
  <li>Created an amazing resume</li>
</ul>

Do the same under your Experience entry:

<h3>Developer @ Sigma Labs (2023)</h3>
<ul>
<li>Developed an app with 100 users</li>
<li>Created the design of the app</li>
</ul>

Task list example

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 13 of 16 · 3 min

How to use code parts

In the next lessons, we will sometimes show you only the part of the code that needs to change, instead of repeating the full file. We call these snippets code parts.

When you see a code part:

  1. Keep the code that is already in your file.
  2. Find the matching section, such as <head> or <body>.
  3. Add or update only the code shown in the lesson.

Watch this walkthrough to see how to read, understand, and add code parts to your project:

How to add code parts

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 15 of 16 · 3 min

Add your contact details

Now make it easy to contact you. Add your phone number and email to the line under your name.

For the email, a clever trick: use mailto: in the href so that clicking it opens the visitor's email app, ready to write to you.

<p>
  Singapore |
  <a href="https://www.linkedin.com/in/haris-samingan/">LinkedIn</a> |
  +65 8989 8989 |
  <a href="mailto:haris@sigmaschool.co">haris@sigmaschool.co</a>
</p>

Add email to contact details

Save, then click your email link in the preview. It should open an email app addressed to you.

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Lesson 16 of 16 · 3 min

Publish your resume

The best part about StackBlitz is that your project is already live. The public link for your site is the URL in your preview's address bar.

The live URL in the preview address bar

Copy that link and open it in a new tab. That is your resume website, live on the internet, ready to share.

🎉 Congratulations! You have created your first website.

Want to keep going? Here is a video on how to write a resume with no job experience.

How To Write a Resume with No Job Experience

If you ever get stuck, compare your work with the full code example.

Day 1 completed!

This lesson has a task checklist in the portal, where you tick off each step and get feedback on the code you write. Do this lesson free.

Reading it is step one. Doing it is the point.

Everything above is the full teaching content, free to read. The same lessons in Sigmo add 10 quizzes that mark themselves, 8 hands-on checklists, and an AI coding buddy that answers questions about the exact line you are stuck on. No card needed.

Do this course free

You just read it. Now go build it.

The free trial puts you inside Sigmo, the learning portal our students use every day, with the quizzes, the checklists and an AI buddy on every lesson. No card needed.