McTaba Labs logo
Software EngineeringThe WhiteboardProjectsEventsMasterclassesWebinarsLearn
Book Call

500+ developers already in the community

Get answers, find accountability partners, and stay ahead

Join Discord →
McTaba Labs logo

Educating 1 million students in tech by 2030.

Programs

  • HighSchool Graduates Launchpad
  • AI & Business Automation
  • Corporate Training
  • McTaba Story & Mission
  • Full-Stack Curriculum
  • Course Pricing & Plans
  • Frequently Asked Questions

Resources

  • Join Discord Community
  • Tech Events in Nairobi
  • Masterclasses
  • Free Resources
  • Learn
  • Campus
  • Africa Tech Talent Report
  • Partner With Us
  • Start a Project
  • Our Work

Contact Us

  • 124 Manyani East Road, Lavington, Nairobi
  • +254727795603
  • Book a Discovery Call

Office Hours:

Mon-Fri: 9am - 2pm EAT

Sat: 10am - 12pm EAT

© 2027 McTaba Labs - A product of Edtech Industries. All rights reserved.

Privacy PolicyTerms of ServiceRefund Policy
  1. Learn
  2. Learn to Code in Rwanda
  3. Build Your First Website: A Step-by-Step Guide for Rwandan Beginners
Bonaventure OgetoBy Bonaventure Ogeto|Updated June 3, 2026

Build Your First Website: A Step-by-Step Guide for Rwandan Beginners

To build your first website, you need three things: a text editor (VS Code, free), a browser (Chrome or Firefox, free), and basic knowledge of HTML and CSS. Start by creating an index.html file, add your page structure with HTML tags (headings, paragraphs, images, links), then style it with CSS. This guide walks through building a landing page for a fictional Kigali coffee shop, from blank file to finished page, in one sitting.

In this article

  1. 1. What You Need (All Free)
  2. 2. Step 1: The HTML Structure (Your Page's Skeleton)
  3. 3. Step 2: Add CSS (Make It Look Good)
  4. 4. Step 3: Make It Mobile-First (Essential for Rwanda)
  5. 5. Step 4: Customize and Experiment
  6. 6. Step 5: Put It Online (Free)

What You Need (All Free)

Before writing a single line of code, set up your workspace. This takes about 15 minutes.

1. A text editor: VS Code

Download Visual Studio Code from code.visualstudio.com. It is free, runs on Windows, Mac, and Linux, and is the editor used by the majority of professional developers worldwide. It highlights your HTML and CSS with colors (syntax highlighting), catches common mistakes, and has built-in tools that make your life easier.

2. A browser: Chrome or Firefox

You already have one. Chrome and Firefox both have built-in developer tools that let you inspect your page, see what is going wrong, and test changes in real time. Right-click any webpage and select "Inspect" to see how it was built.

3. A folder on your computer

Create a folder called "my-first-website" on your desktop or in your documents. Every file for this project will live here.

That is it. No paid software. No hosting plan. No domain name. Those come later if you want them. For now, you have everything you need to build a website that runs on your own computer.

Step 1: The HTML Structure (Your Page's Skeleton)

HTML (HyperText Markup Language) is the language that describes the structure of a webpage. Every website you have ever visited is built on HTML. It is not a programming language. It is a markup language that tells the browser what content to display and how to organize it.

Open VS Code, create a new file called index.html in your project folder, and type the following:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Kigali Coffee House</title>
</head>
<body>
  <header>
    <h1>Kigali Coffee House</h1>
    <p>Fresh Rwandan coffee, brewed daily in Kacyiru.</p>
  </header>

  <main>
    <section>
      <h2>Our Menu</h2>
      <ul>
        <li>Espresso - RWF 1,500</li>
        <li>Cappuccino - RWF 2,500</li>
        <li>Rwandan Pour-Over - RWF 2,000</li>
        <li>Iced Coffee - RWF 2,000</li>
      </ul>
    </section>

    <section>
      <h2>Visit Us</h2>
      <p>KG 11 Ave, Kacyiru, Kigali</p>
      <p>Open Monday to Saturday, 7:00 AM to 6:00 PM</p>
      <p>Call us: +250 788 000 000</p>
    </section>
  </main>

  <footer>
    <p>2026 Kigali Coffee House. All rights reserved.</p>
  </footer>
</body>
</html>

Save the file and open it in your browser (double-click the file, or in Chrome go to File > Open File). You should see your coffee shop page. It will look plain, with default fonts and no colors. That is normal. HTML only provides structure. CSS provides the style.

What each part does:

  • <!DOCTYPE html> tells the browser this is an HTML5 document.
  • <head> contains metadata (page title, character encoding, viewport settings). The user does not see this directly.
  • <body> contains everything visible on the page.
  • <header>, <main>, <footer> are semantic tags that organize the page into logical sections.
  • <h1>, <h2> are headings. <p> is a paragraph. <ul> and <li> are lists.

Get weekly developer tips

Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.

No spam. Unsubscribe anytime.

Step 2: Add CSS (Make It Look Good)

Create a new file called styles.css in the same folder. Then add this line inside the <head> section of your HTML file, just before the closing </head> tag:

<link rel="stylesheet" href="styles.css">

Now open styles.css and add:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #333;
}

header {
  background-color: #2d1810;
  color: white;
  padding: 40px 20px;
  text-align: center;
}

header h1 {
  font-size: 2rem;
  margin-bottom: 8px;
}

main {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

section {
  margin-bottom: 32px;
}

h2 {
  color: #2d1810;
  margin-bottom: 12px;
}

ul {
  list-style: none;
  padding: 0;
}

li {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

footer {
  background-color: #f5f5f5;
  text-align: center;
  padding: 20px;
  color: #666;
  font-size: 0.875rem;
}

Save both files and refresh your browser. The page should now have a dark brown header, clean typography, and a structured layout. It is not going to win design awards, but it looks like a real website. You built that.

Key CSS concepts you just used:

  • Selectors (body, header, h2, li) target HTML elements.
  • Properties (color, padding, font-size) define what changes.
  • Values (#2d1810, 20px, center) define the specific change.
  • The box model (margin, padding, border) controls spacing around elements.
  • max-width and margin: 0 auto centers content and prevents it from stretching too wide on large screens.

Step 3: Make It Mobile-First (Essential for Rwanda)

The <meta name="viewport"> tag you added in the HTML head is already doing some of the work. It tells mobile browsers to render the page at the device's actual width instead of pretending the screen is 980 pixels wide.

But mobile-first means more than just a viewport tag. In Rwanda, where the majority of web users are on smartphones, your site needs to look good on a 360-pixel-wide screen first, and only add complexity for larger screens.

Your current CSS already works well on mobile because we used relative units and max-width instead of fixed widths. To add specific adjustments for larger screens, add a media query at the bottom of your CSS file:

@media (min-width: 768px) {
  header h1 {
    font-size: 3rem;
  }

  main {
    max-width: 800px;
    padding: 40px 20px;
  }

  li {
    padding: 14px 0;
  }
}

This says: "For screens 768 pixels wide or larger (tablets and desktops), increase the heading size, widen the content area, and add a bit more padding." On phones, the original smaller values apply.

Test this by resizing your browser window. You can also use Chrome DevTools: press F12, click the device icon (looks like a phone and tablet), and select different device sizes to preview.

Why this matters for your career: When a Rwandan employer or client reviews your portfolio, the first thing many of them will do is open it on their phone. If your pages do not work on mobile, you have told them that you do not understand the market. Mobile-first is not a nice-to-have in Rwanda. It is a requirement.

Step 4: Customize and Experiment

You have a working website. Now make it yours. The best way to learn HTML and CSS is to change things and see what happens. Here are challenges to try:

Beginner challenges:

  • Change the color scheme. Replace the brown (#2d1810) with colors that match a business you know.
  • Add a "Pay with MoMo" section with a phone number and instructions.
  • Add an image. Download a free photo from Unsplash, put it in your project folder, and use <img src="photo.jpg" alt="Description">.
  • Add a navigation bar with links to each section using anchor tags (<a href="#menu">Menu</a>).

Intermediate challenges:

  • Add a contact form with name, phone number, and message fields using <form>, <input>, and <textarea>.
  • Create a gallery section with images displayed in a grid using CSS Grid or Flexbox.
  • Add hover effects to the menu items (change background color when the user hovers over a list item).
  • Build a second page (about.html) and link the two pages together.

Every professional web developer started exactly here: building simple HTML and CSS pages, breaking things, fixing them, and gradually building intuition for how the pieces work together. Do not rush to JavaScript or React. Spend time here until you feel comfortable creating page layouts from scratch.

Step 5: Put It Online (Free)

A website on your laptop is invisible to the world. Let us fix that.

Option 1: GitHub Pages (free)

  1. Create a free GitHub account if you do not have one.
  2. Create a new repository named "kigali-coffee-house" (or whatever you want).
  3. Upload your HTML and CSS files to the repository.
  4. Go to Settings > Pages > Source > Deploy from a branch > select "main" > Save.
  5. After a minute, your site will be live at yourusername.github.io/kigali-coffee-house.

Option 2: Vercel (free)

  1. Create a free account at vercel.com.
  2. Connect your GitHub repository.
  3. Vercel detects it is a static site and deploys automatically.
  4. Your site gets a free URL like kigali-coffee-house.vercel.app.

Either option takes under 10 minutes and costs nothing. For a more detailed walkthrough of deployment options, see our guide on deploying your first app for free from Rwanda.

What to learn next:

  • JavaScript to make your pages interactive (buttons that work, forms that validate, data that changes). See our 90-day JavaScript plan.
  • CSS frameworks like Tailwind CSS to build layouts faster.
  • Git and GitHub to track your changes and collaborate with others. See our Git and GitHub guide.

If you want structured instruction that covers HTML, CSS, and the foundations of thinking like a developer, McTaba's Tech Foundations course (KES 2,999, approximately RWF 30,000) covers these fundamentals and more. But the free path works too. You just built a website. That is the hardest step done.

Key Takeaways

  • ✓You can build a real website today with zero paid tools. VS Code (free text editor) and Chrome (free browser) are all you need to get started.
  • ✓HTML provides the structure (headings, paragraphs, images, links). CSS provides the styling (colors, layout, spacing, fonts). Together they make a complete webpage.
  • ✓Build something real from the start. A landing page for a Kigali business teaches the same concepts as a generic tutorial, but gives you a project you can actually show someone.
  • ✓Mobile-first matters in Rwanda. Over 80% of your audience views the web on phones. Design for small screens first, then expand for larger ones.
  • ✓Once your page works locally, deploy it for free on Vercel or GitHub Pages so anyone with a link can see it.

Frequently Asked Questions

Do I need to learn HTML and CSS before JavaScript?
Yes. HTML and CSS are the foundation of every webpage. JavaScript adds interactivity to pages that are built with HTML and CSS. Trying to learn JavaScript without understanding the HTML document it manipulates is like trying to drive before knowing what a steering wheel does. Start with HTML/CSS, then add JavaScript once you are comfortable building page layouts.
Can I build a website on my phone?
Technically, yes. Apps like Acode or Dcoder let you write code on Android. But practically, building websites on a phone is slow and frustrating. A laptop or desktop with a proper text editor and browser developer tools makes the process dramatically faster. If budget is a constraint, a used laptop with any modern browser is sufficient.
How long does it take to build a professional-quality website?
Your first site will take a few hours and look basic. After two to four weeks of regular practice, you will be able to build clean, professional-looking pages. After two to three months of consistent learning (adding JavaScript, responsive design, and real projects), you will be able to build the kind of sites that small businesses in Kigali pay for.
Should I use a website builder like Wix or WordPress instead of coding from scratch?
If your only goal is to have a website, tools like Wix or WordPress are faster. But if your goal is to become a developer, you need to understand how websites work at the code level. Building from scratch teaches you the fundamentals that every framework and tool is built on. Start with code. You can always use builders later if a project calls for them.

Start learning for free

Create a free McTaba Academy account. Access starter lessons, join the community, and explore at your own pace.

Create Free Account

Keep reading

Learn JavaScript in Rwanda: A 90-Day Plan That Actually Works

JavaScript is the most in-demand programming language in Rwanda and across East Africa. Here is a 90-day plan that takes you from zero to building real projects, with resources that work on limited bandwidth and projects that actually matter to Rwandan employers.

Read more

Coding for Absolute Beginners in Rwanda: Your First Steps

This article assumes you know nothing about coding. Not "I know a little HTML." Nothing. If you have never written a line of code in your life, start here. By the end, you will have built your first web page.

Read more

Deploy Your First App for Free from Rwanda: Vercel, Railway, and GitHub Pages

Your project only counts if someone can see it. Here is how to take your app from localhost to a live URL for free, with practical guidance on which platform to use, how to set up a custom domain, and performance considerations for users in Rwanda and East Africa.

Read more

Portfolio Projects That Actually Impress Rwandan Employers

Rwandan employers do not care about your todo app. They want to see that you can build for the local market: mobile-first interfaces, MoMo payment flows, and solutions to problems they actually face. Here are the projects that get you interviews.

Read more

Where to Start Learning Programming in Rwanda (Free and Paid Paths)

A side-by-side comparison of every realistic way to start learning programming in Rwanda. Free programs, paid courses, universities, and self-study paths with honest notes on cost, quality, accessibility, and what each one actually teaches you.

Read more

Frontend vs Backend vs Full-Stack in Rwanda: Which Path Should You Learn First?

Three paths. Limited time. The Rwandan job market has a clear preference, but it depends on what you want to build and who you want to work for. Here is the honest breakdown.

Read more

Explore related topics

African Tech Ecosystem

Guides, salary data, and resources for developers building products in the African tech ecosystem.

Breaking Into Tech

Practical, no-nonsense guides for anyone looking to start or change their career in tech. From choosing your first language to acing interviews.

Learning to Code

Roadmaps, language guides, and practical advice for learning to code and launching a programming career.

Bonaventure Ogeto

Bonaventure Ogeto

Founder, McTaba Labs

Bonaventure is the founder of McTaba Labs, a coding bootcamp in Nairobi, Kenya. He has spent years building products for the African market and mentoring the next generation of developers across the continent.