<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Khurram Tries to Make Sense]]></title><description><![CDATA[Welcome to Khurram Tries to Make Sense! I break down complex topics, from finance to everyday quirks, making them so clear even your grandma gets it. Simplify y]]></description><link>https://khurramnadeem.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 12:13:45 GMT</lastBuildDate><atom:link href="https://khurramnadeem.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How I Built My Personal Website for Free Using GitHub Pages, A Step-by-Step Guide for Absolute Beginners like Me]]></title><description><![CDATA[If you’re here, it’s probably because you want a personal website of your own, or maybe you’ve been thinking about making one for quite some time. I’m not going to waste time with filler sentences here. This is going to be straightforward, and I’ll k...]]></description><link>https://khurramnadeem.hashnode.dev/how-i-built-my-personal-website-for-free-using-github-pages-a-step-by-step-guide-for-absolute-beginners-like-me</link><guid isPermaLink="true">https://khurramnadeem.hashnode.dev/how-i-built-my-personal-website-for-free-using-github-pages-a-step-by-step-guide-for-absolute-beginners-like-me</guid><category><![CDATA[personalwebsite]]></category><category><![CDATA[GitHubPages]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[portfolio]]></category><category><![CDATA[BeginnerFriendly]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Khurram Nadeem]]></dc:creator><pubDate>Fri, 17 Oct 2025 17:14:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1760721116504/e45c4941-ea37-4189-a4bc-ecbe78c7ad3c.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you’re here, it’s probably because you want a personal website of your own, or maybe you’ve been thinking about making one for quite some time. I’m not going to waste time with filler sentences here. This is going to be straightforward, and I’ll keep it as simple as I can.</p>
<p>The reason I’m writing this is because of the sheer amount of information online about this topic. Go on YouTube or search <em>“how to make a personal portfolio website”</em> on Google. You’ll get thousands of videos and results that will most likely overwhelm you, just like they did to me.</p>
<p>This guide is mainly for students who want their own corner on the internet.</p>
<h2 id="heading-a-quick-overview">A Quick Overview</h2>
<p><strong>Who is this guide for:</strong> Everyone, really.<br /><strong>What it covers:</strong> How to make your own personal website without paying for hosting or a domain.<br /><strong>Tools you’ll need:</strong> A working internet connection and VS Code (or any code editor). That’s it.</p>
<p>Before we start, I should tell you there is coding involved here. I will try my best to make it very simple. As someone from a non-coding background, I understand this can get complicated very quickly, so bear with me here. If you get stuck somewhere, I suggest your first step should be ChatGPT or Gemini to clear any misunderstanding quickly.</p>
<h2 id="heading-what-you-need-before-starting">What You Need Before Starting</h2>
<p>Let’s make a quick checklist:</p>
<ul>
<li><p>A computer (any will do)</p>
</li>
<li><p>A free GitHub account</p>
</li>
<li><p>VS Code (free code editor)</p>
</li>
<li><p>Some storage on your local computer to store files</p>
</li>
</ul>
<h2 id="heading-step-1-make-a-github-account">Step 1: Make a GitHub Account</h2>
<p>Go to <a target="_blank" href="https://www.github.com">www.github.com</a></p>
<p>If you already have an account, log in. If not, let’s make one now.</p>
<p>You’ll see a <strong>Sign Up</strong> button with a space to enter your email address on the main page, and another in the top-right corner. Signing up is straightforward, just like anywhere else. It’ll ask for your email, password, and country.</p>
<p>After you click <strong>Continue</strong>, you’ll be asked to solve a small audio or visual puzzle. Once that’s done, GitHub will send a code to your registered email. Enter that, and you’re all set.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760720345764/237b9610-241a-42fe-8892-774308638186.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-step-2-install-vs-code">Step 2: Install VS Code</h2>
<p>VS Code is a free code editor developed by Microsoft, and we’ll be using it to write and edit our website’s code. Don’t worry, I’ll walk you through everything.</p>
<p>Go to <a target="_blank" href="https://code.visualstudio.com/">https://code.visualstudio.com/</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760720381606/6cedbc04-ad38-41b6-a099-0b1e76f50ed4.png" alt class="image--center mx-auto" /></p>
<p>Click <strong>Download for Windows</strong> if you’re on Windows. If you’re using another operating system, click the download button in the upper-right corner and select your version (Linux or Mac).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760720396921/d249b26e-1ae5-4656-973e-813356a52423.png" alt class="image--center mx-auto" /></p>
<p>Once downloaded, open the file, accept the user agreement, and click <strong>Next</strong>. When you reach the “Additional Tasks” step, here’s what I recommend:</p>
<ul>
<li><p>You can create a desktop icon (optional).</p>
</li>
<li><p>You can turn off the “Open with Code” options to keep your right-click menu clean.</p>
</li>
<li><p>Most importantly, <strong>check the last two boxes</strong>:</p>
<ul>
<li><p><em>Register Code as an editor for supported file types</em></p>
</li>
<li><p><em>Add to PATH</em></p>
</li>
</ul>
</li>
</ul>
<p>Then click <strong>Next</strong>, and finally <strong>Install</strong>.</p>
<p>That’s it, VS Code will be installed. Once done, open it up.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760720445127/7b5ec8d8-c90d-42fd-91ba-a4d4cf27567b.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-step-3-install-git">Step 3: Install Git</h2>
<p>Go to <a target="_blank" href="https://git-scm.com/downloads">https://git-scm.com/downloads</a></p>
<p>Download and run the installer for your operating system. Accept the terms, and keep the default settings unless you know what you’re changing.</p>
<p>It’s best to install Git on your local C drive, not an external one.</p>
<p>After installation, restart VS Code. Then, open the terminal in VS Code (<code>Terminal &gt; New Terminal</code>) and type:</p>
<p><code>git --version</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760719713989/dfca5692-1ea2-44ed-8eca-f4f863f15ae1.png" alt class="image--center mx-auto" /></p>
<p>If you see something like this:</p>
<p><code>git version</code> <a target="_blank" href="http://2.44.0.windows"><code>2.44.0.windows</code></a><code>.1</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760719688914/7d5a1ccc-dfeb-49c5-bb2e-a114e0b84dc2.png" alt class="image--center mx-auto" /></p>
<p>then Git is installed correctly.</p>
<h3 id="heading-why-git-is-required">Why Git Is Required</h3>
<p>VS Code doesn’t come with Git built-in, it depends on your system’s Git installation to:</p>
<ul>
<li><p>Track file changes (commits)</p>
</li>
<li><p>Handle version history</p>
</li>
<li><p>Push or pull files to and from GitHub</p>
</li>
</ul>
<p>If Git isn’t installed, you’ll either see errors or won’t have Git options in the Source Control panel in VS Code. You won’t be able to initialize a repository, make commits, or push your website to GitHub.</p>
<p>We’ll be coding in VS Code and then “pushing” (transferring) our changes to GitHub, where our website will be hosted. Git allows us to do exactly that.</p>
<h2 id="heading-step-4-download-a-template-for-your-website">Step 4: Download a Template for Your Website</h2>
<p>This is the fun part. Now we’ll choose what type of website we want.</p>
<p>You <em>could</em> write your website from scratch using HTML and CSS, but that takes time and design knowledge, which many of us don’t have (including me). Yes, you can use ChatGPT to help, but it can get confusing at times.</p>
<p>So instead, we’ll download a <strong>template</strong>.</p>
<p>A template gives you a ready-made website designed by someone else, with all the files already in place.</p>
<p>There are plenty of sites where you can find free portfolio templates. I personally used <a target="_blank" href="https://html5up.net/">https://html5up.net/</a></p>
<p>I downloaded the <strong>Massively</strong> template from <a target="_blank" href="https://html5up.net/massively">this link</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760720472921/4030fb46-9d12-4f88-9b66-0510f0fbbf19.png" alt class="image--center mx-auto" /></p>
<p>You can choose another one if you like, but if this is your first time, I suggest following along with me first, then experiment later.</p>
<p>Click the <strong>Free Download</strong> button to download the template.</p>
<p>Once it’s downloaded, go to the folder where the file is saved. Create a new folder called <strong>portfoliowebsite</strong>. The file you downloaded will likely be a ZIP file, extract it in the same location. Then copy the extracted folder into your new <strong>portfoliowebsite</strong> folder.</p>
<p>This way, you’ll have a working copy to edit, and a clean backup in case you need to start fresh.</p>
<h2 id="heading-step-5-open-edit-and-live-preview-your-website">Step 5: Open, Edit, and Live Preview Your Website</h2>
<p>This is the “coding involved” part I mentioned, but don’t worry, we’re only editing text.</p>
<p>Open VS Code (from Step 2). Click <strong>File &gt; Open Folder</strong>, and select the <strong>portfoliowebsite</strong> folder you created earlier.</p>
<p>You’ll now see all the template files in the sidebar. It might look intimidating, but we only care about one file right now: <strong>index.html</strong>.</p>
<p>Before editing, let’s install one more tool to make things easier.</p>
<p>In VS Code, click the icon with four squares on the left (the <strong>Extensions</strong> tab). Search for <strong>Live Server</strong> by <em>Ritwick Dey</em> and click <strong>Install</strong>.</p>
<p>Now, go back to your files, right-click <strong>index.html</strong>, and select <strong>Open with Live Server</strong>.</p>
<p>Your website will open in your browser. It might look slightly different from the preview, that’s okay. The important thing is that it’s live.</p>
<p>Now, click <strong>index.html</strong> in VS Code to open it in the main editor.</p>
<p>You’ll see a lot of code, but if you look closely, you’ll also see text from the demo site. Find the main heading, in the Massively template, it says <em>“This is Massively.”</em></p>
<p>Change that to your own name, for example:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760719882873/766045e2-f609-4b1b-b630-a3319cf4bc33.png" alt class="image--center mx-auto" /></p>
<p>Save the file (<strong>Ctrl + S</strong>) and look at your browser. It will automatically refresh and show your change.</p>
<p>That’s it! Now you can go through the file and replace all the placeholder text with your own “About Me,” “Projects,” and “Contact” sections.</p>
<h2 id="heading-step-6-create-your-home-on-github">Step 6: Create Your “Home” on GitHub</h2>
<p>Now that you’ve personalized your website, it’s time to put it online. This is where your GitHub account from Step 1 comes in.</p>
<p>This step is critical, follow it carefully.</p>
<p>Go to <a target="_blank" href="https://www.github.com">www.github.com</a> and log in. In the top-right corner, click the <strong>+</strong> icon and select <strong>New repository</strong>.</p>
<p>On the “Create a new repository” page, you’ll see a box for the repository name. You must name it in this exact format:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760719930382/a5e7b2de-5a80-4944-a48e-a13d3e4be3de.png" alt class="image--center mx-auto" /></p>
<p>For example, if your GitHub username is <code>mkfinance123</code>, your repository name must be <a target="_blank" href="http://mkfinance123.github.io"><code>mkfinance123.github.io</code></a>.</p>
<p><strong>Tips for beginners:</strong></p>
<ul>
<li><p>Your username is what you use to log in. You can also see it at the top-right when you click your profile picture.</p>
</li>
<li><p>Case (capital letters) matters, match it exactly.</p>
</li>
<li><p>If you get an error saying the name is already taken, check your existing repositories. If it’s already created, use that one.</p>
</li>
</ul>
<p>Set the repository to <strong>Public</strong>. Do <strong>not</strong> check any of these boxes:</p>
<ul>
<li><p>Add a README file</p>
</li>
<li><p>Add .gitignore</p>
</li>
<li><p>Choose a license</p>
</li>
</ul>
<p>Why not? Because you already have all the files (like <code>index.html</code>) from the template. If you add extra files, Git will think there’s a conflict between your local and online folders.</p>
<p>Double-check that:</p>
<ul>
<li><p>The name is exactly <a target="_blank" href="http://your-username.github.io"><code>your-username.github.io</code></a>.</p>
</li>
<li><p>The repository is Public.</p>
</li>
<li><p>All boxes are unchecked.</p>
</li>
</ul>
<p>Click <strong>Create Repository.</strong></p>
<p>You’ll now see a “Quick Setup” page with some commands. Keep this tab open, we’ll use those commands in the next step.</p>
<h2 id="heading-step-7-push-your-website-from-vs-code-to-github">Step 7: Push Your Website from VS Code to GitHub</h2>
<p>Now we’ll upload (or “push”) your local website files from your computer to your GitHub repository.</p>
<p>In VS Code, open the terminal (<code>Terminal &gt; New Terminal</code>) and type these commands one by one, pressing Enter after each:</p>
<p><code>git init</code></p>
<p><code>git add .</code></p>
<p><code>git commit -m "My first website commit"</code></p>
<p>Next, go back to your GitHub repository page and copy the two lines under the section that says <em>“…or push an existing repository…”</em>. They’ll look like this:</p>
<p><code>git remote add origin</code> <a target="_blank" href="https://github.com/your-username/your-username.github.io.git"><code>https://github.com/your-username/your-username.github.io.git</code></a></p>
<p><code>git branch -M main</code></p>
<p><code>git push -u origin main</code></p>
<p>Press Enter after each.</p>
<p>Once that’s done, your files are uploaded to GitHub.</p>
<h3 id="heading-common-errors">Common Errors</h3>
<p><strong>Error:</strong> <code>git: command not found</code><br />→ This means Git wasn’t installed properly or VS Code needs a restart. Close and reopen VS Code. If it still fails, reinstall Git and make sure you check the <em>Add to PATH</em> box during installation.</p>
<p><strong>Error:</strong> <code>failed to push some refs</code><br />→ This usually happens if you checked the “Add a README file” box in Step 6. Type this command to fix it:</p>
<p><code>git push -f origin main</code></p>
<p>This force-pushes your files and replaces any existing ones (safe as long as the repo was empty).</p>
<h2 id="heading-step-8-go-live">Step 8: Go Live</h2>
<p>Now let’s make your website public.</p>
<ol>
<li><p>On your GitHub repository page, go to <strong>Settings</strong>.</p>
</li>
<li><p>In the left sidebar, click <strong>Pages</strong>.</p>
</li>
<li><p>Under “Build and deployment,” set the <strong>Source</strong> to <em>Deploy from a branch</em>.</p>
</li>
<li><p>Ensure the branch is set to <strong>main</strong> and the folder is <strong>/(root)</strong>.</p>
</li>
<li><p>Click <strong>Save</strong>.</p>
</li>
</ol>
<p>Wait a few minutes, refresh the page, and you’ll see a green box with your live link:</p>
<p><a target="_blank" href="https://your-username.github.io">https://your-username.github.io</a></p>
<h2 id="heading-troubleshooting-common-errors">Troubleshooting Common Errors</h2>
<p><strong>404 “File Not Found”?</strong></p>
<ul>
<li><p>Wait up to 10 minutes for the first deployment.</p>
</li>
<li><p>Check that your main file is named <code>index.html</code>.</p>
</li>
<li><p>Make sure the repository name is exactly <a target="_blank" href="http://your-username.github.io"><code>your-username.github.io</code></a>.</p>
</li>
</ul>
<p><strong>Website looks broken (missing styles or images)?</strong></p>
<ul>
<li>Check that all links to CSS or images are <em>relative paths</em>, like <code>assets/css/main.css</code>, not <em>absolute paths</em> like <code>C:/Users/YourName/...</code>.</li>
</ul>
<h2 id="heading-step-9-how-to-update-your-site">Step 9: How to Update Your Site</h2>
<p>Once your website is live, updating it is simple.</p>
<p>Just open your files in VS Code, make your changes, and run these three commands:</p>
<p><code>git add .</code></p>
<p><code>git commit -m "Add new update"</code></p>
<p><code>git push</code></p>
<p>Your updates will appear on your live website within a minute or two.</p>
<h2 id="heading-final-thoughts">Final Thoughts</h2>
<p>That’s it, you’ve just built and hosted your personal website for free.</p>
<p>It might seem a bit technical at first, but once you go through it step by step, it’s actually straightforward.</p>
<p>Most online guides make it sound complicated. My goal here was to make it practical and human, the kind of explanation I wish I had when I started.</p>
<p>Now, go ahead and make your website your own space on the internet. Replace text, upload projects, and tweak the design however you like.</p>
]]></content:encoded></item></channel></rss>