Get your has-a.tech address
This guide takes you from nothing to a live website at yourname.has-a.tech. It takes about 30 minutes, plus waiting for a review. You don't need to know how to code.
Before you start
You need:
- A GitHub account that's at least 30 days old. If you don't have one, sign up now and come back in a month. This rule helps keep out spammers.
- Your school email address, or another way to show you're a student (see no school email).
- To be 13 or older. That's GitHub's minimum age too.
1. Build your site on GitHub Pages
Your address points to a website, so the website needs to exist first. GitHub Pages hosts it for free. If you already have a site somewhere else, skip to using another host.
Create the repository
- On GitHub, click + (top right) and choose New repository.
- For the name, type
your-username.github.io, using your exact GitHub username. For example, if you'remaya-codes, it'smaya-codes.github.io. - Choose Public, tick Add a README file, and click Create repository.
Add your first page
- In your new repository, click Add file → Create new file.
- Name it
index.html. - Paste this in, and change the text to be about you:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Maya's site</title>
</head>
<body>
<h1>Hi, I'm Maya</h1>
<p>I'm a grade 11 student who likes robotics and drawing.</p>
<h2>Projects</h2>
<ul>
<li>Line-following robot for our school club</li>
<li>A comic about my cat</li>
</ul>
</body>
</html>
- Click Commit changes…, then Commit changes again.
Turn on GitHub Pages
- In the repository, click Settings, then Pages in the left menu.
- Under Build and deployment, set Source to Deploy from a branch.
- Set Branch to main and the folder to / (root), then click Save.
- Wait a minute or two, then open
https://your-username.github.io. You should see your page.
Your site has to have real content before we can approve your name. A finished design isn't needed, just something that's genuinely yours.
2. Verify you're a student
- Go to the verify page and click Sign in with GitHub. We only see your public profile.
- Enter your school email address and click Send code.
- Check your school inbox (and spam folder) for a 6-digit code, and enter it.
You only do this once. We don't keep your email address: we just remember that your GitHub account belongs to a verified student.
3. Choose your name
Type a name into the box on the home page to see if it's free. Names:
- use only lowercase letters, numbers and hyphens, and can't start or end with a hyphen
- are at least 2 characters long
- can't look like a login page or a well-known brand (like
paypalorsecure-login), since those are used for scams
Each GitHub account gets one name. Using your own name or nickname is a good choice.
4. Send your request
Your request is a small file added to our register on GitHub. The easy way:
- Open the claim helper, fill in the form, and click Create my file on GitHub.
- GitHub opens with your file ready. Click Commit changes…. GitHub makes your own copy (a "fork") automatically.
- Click Propose changes, then Create pull request.
- Fill in the short checklist, including the link to your site, and click Create pull request again.
What the file looks like
If you'd rather write it yourself, create domains/yourname.json in your fork:
{
"description": "My portfolio: robotics and drawing projects.",
"owner": {
"username": "maya-codes"
},
"records": {
"CNAME": "maya-codes.github.io"
}
}
description: what your site is, in a sentenceowner.username: your GitHub username. It must match the account sending the request.records: where your address points. For GitHub Pages, that'syour-username.github.io.
Don't put your email address in this file. Everything in it is public.
5. Wait for the review
Within a minute, our bot comments on your pull request:
- ✅ Looks good: a person will look at your site and approve it, usually within a few days.
- ❌ Problems found: the comment says what to fix. Edit your file in your fork, and the bot checks again automatically.
Keep an eye on your GitHub notifications in case a reviewer asks a question. Once your request is merged, your address goes live within a few minutes.
6. Connect your address
GitHub Pages needs to know about your new address.
- In your
your-username.github.iorepository, go to Settings → Pages. - Under Custom domain, type
yourname.has-a.techand click Save. - Wait for the DNS check to pass. It shows a green tick.
- Once it's available, tick Enforce HTTPS. GitHub sets up the security certificate for you, which can take up to an hour.
Visit https://yourname.has-a.tech. That's your site, at your own address.
Using another host
Any host that supports custom domains works. Use the right value in records, then add yourname.has-a.tech as a custom domain in your host's settings after your request is merged.
- Azure Static Web Apps:
"CNAME": "your-app.azurestaticapps.net". In Azure, choose Custom domains → Add → Custom domain on other DNS. - Vercel:
"CNAME": "cname.vercel-dns.com" - Netlify:
"CNAME": "your-site.netlify.app" - Cloudflare Pages:
"CNAME": "your-project.pages.dev" - Your own server:
"A": ["203.0.113.10"]with your server's public IP address
If your host asks you to add a TXT record to prove you own the address, send a second request with a file like domains/_vercel.yourname.json containing "records": { "TXT": "the-value-they-give-you" }.
Troubleshooting
The bot says my account is too new
Your GitHub account needs to be at least 30 days old. Come back once it is.
The bot says I'm not verified
Make sure you completed the verify page while signed in to the same GitHub account that opened the pull request. Then close and reopen your pull request to run the check again.
My browser says the site is "not secure"
Your host hasn't issued a certificate for your address yet. Check you added yourname.has-a.tech as a custom domain in your host's settings, then give it up to an hour.
I see a 404 page
Check that index.html is in the main folder of your repository, and that the custom domain is saved in Settings → Pages.
My school isn't recognized
Ask us to add your school, or verify by email instead.
Changing or removing your address
Open a new pull request that edits or deletes your file in domains/. Only you can change your own name.