
A tech portfolio is a small set of finished projects that a stranger can understand in about two minutes. On GitHub, that means a few pinned repositories, each with a README that says what the project does, how to run it and what you decided along the way. For career changers without years of tech experience, it is the closest thing to proof of work that a hiring manager can open in a browser.
This guide covers what employers look at, which projects are worth building, how to set up your profile, and how to write the README and commit messages that make a project easy to read.
- Two or three finished, documented projects say more than a long list of half-built tutorial copies.
- GitHub lets you pin up to six repositories and gists to the top of your profile. Pin three to five, and pin only the ones you would happily walk someone through.
- Every README should answer four things: what it does, how to run it, what you used, and what you would do next.
- Keep passwords, API keys and personal data out of public repositories from the first commit.
- A portfolio supports your application; it does not replace a resume. Link it from both your resume and your LinkedIn profile.
What a hiring manager sees in the first two minutes
Someone reviewing a candidate with little work history usually opens the profile, looks at the pinned repositories, opens one or two READMEs and scans the recent activity. They are asking simple questions. Does the project do something recognizable? Can I tell how it works without cloning it? Did the person finish it?
Clean, readable code, a problem that is easy to describe, documentation that explains what you built and why, and evidence that you can finish what you start are what that scan rewards. Two well-documented original projects send a clearer signal than a dozen tutorial clones that stop halfway.
Some honest context from the labour market data. Job Bank reports that in Alberta, 55% of software developers and programmers hold a bachelor’s degree and another 18% a degree above that, against 21% and 9% across all occupations. Sixteen per cent have a college certificate or diploma. Job Bank rates the 2025–2027 outlook for the occupation as Moderate, with most opportunities in Calgary or Edmonton. A portfolio does not change those numbers, but it gives an employer something concrete to judge when your resume does not list a degree in computer science.
Four projects worth building first
You do not need an original idea. You need a small problem, solved end to end, in a form someone else can run. Each of these fits in a few weekends.
| Project | What it shows an employer | Scope for a first version |
|---|---|---|
| Database project, such as a library system, inventory tracker or appointment scheduler | You can design a relational schema, write SQL queries and explain your choices | 5 to 8 tables, a diagram of how they connect, and 10 sample queries in the README |
| Automation script, such as file organization, data extraction or report generation | You can solve a repetitive task and write code other people can run | One command-line script, one sample input file, one sample output |
| Web application with a front end, a back end and a database | You understand how the pieces connect | One feature done properly, such as create, edit and delete a record. Skip user accounts until the basics work |
| Data analysis notebook on a public dataset | You can ask a question of data and show a clear finding | One question, one dataset (Government of Alberta and Government of Canada open data portals are a start), three charts, a written conclusion |
Scope guidance is practical advice from the author, not an employer requirement.

Choose a project that comes from your own work history
Career changers have an advantage here: you already know what a real workflow looks like. Someone who spent years in retail might build an inventory tracker with low-stock alerts. Someone from administration could write a script that turns a weekly spreadsheet into a formatted report. Someone from healthcare support might design a simple booking database and document how it prevents double bookings.
These are examples of how a past job turns into a project, not a template. The point is that you can explain the problem in one sentence because you have lived with it, and that makes your README and your interview answers sound specific.
Set up your GitHub profile in six steps
- 1Choose three projectsPick the three you are proudest of. Finish them before you start a fourth.
- 2Name repositories clearlyUse
appointment-scheduler, notproject2-final. The name appears in your pinned list. - 3Write the READMEUse the template below. Add a screenshot or a sample of the output near the top.
- 4Clean up the historyWrite commit messages that say what changed and why. Remove files that do not belong, such as editor settings and downloaded dependencies.
- 5Pin the best workPin three to five repositories. GitHub allows up to six pinned items, repositories and gists combined.
- 6Add a short bio and linkA profile photo, a one-line bio, your city or province and the link to your LinkedIn profile are enough.
Pinning limit: GitHub Docs, “Pinning items to your profile”.
What a good README contains
GitHub’s own documentation describes a README as the place that tells visitors what the project does, why it is useful, how to get started, where to get help and who maintains it. For a portfolio piece, add one more thing: what you learned or would change.
Title and a one-sentence summary of what the project does and for whom.
Why I built it: two sentences on the problem.
Screenshot or sample output: show it working.
Built with: languages, framework, database.
How to run it: numbered steps that someone could follow on a clean computer.
What I would improve next: two or three honest items. This shows judgment, not weakness.
Weak and strong versions of the same details
“A website I made for class.”
“Appointment scheduler for a small clinic. A Flask web app with a SQLite database that books, moves and cancels appointments and blocks double bookings.”
Commit message: “fixed stuff”
Commit message: “Fix off-by-one error in monthly report totals”
Commit message: “update”
Commit message: “Add input validation for blank rows in CSV import”
Examples written for this article to show the difference; they are not taken from a real repository.
Keep secrets and personal data out of public repositories
A public repository is public, including its history. Never commit passwords, API keys, tokens or real customer data. Keep them in a local environment file that is listed in .gitignore, and give people a sample file with fake values instead.
If a secret does reach a public repository, GitHub’s guidance is to revoke or rotate it first. Deleting the file later does not help, because the old commit still contains it.
Checklist before you send the link
- Each pinned repository has a README with a summary, a screenshot or sample output, and run instructions.
- The project runs on a clean copy by following your own steps. Try it once.
- No secrets, no personal data, no downloaded dependencies in the repository.
- Commit messages say what changed. The last commit is not “final final”.
- Your profile has a photo, a short bio, your province and a link to LinkedIn.
- Your resume lists the portfolio link and names the strongest project in one line.

Start building while you learn
Do not wait until a course is finished. Every exercise that solves a real problem, once it is cleaned up and documented, is portfolio material. Starting early also gives you a commit history that shows steady work over weeks, which a single weekend upload cannot.
Once you have two projects, put them to use. Our guide to the entry-level tech resume in Canada shows where to list them, and the tech interview preparation guide covers how to walk an interviewer through a project. If you are weighing a self-taught route against a structured one, read how to become a software developer in Alberta without a degree.
Ucademy’s online Software and Web Developer Diploma (960 hours, self-paced) includes portfolio projects and Git work, so the projects you build while studying can go straight into your repositories. See our program list to find the right fit.
Sources
- GitHub Docs — Pinning items to your profile (up to six repositories and gists, combined)
- GitHub Docs — About READMEs
- GitHub Docs — Removing sensitive data from a repository
- Job Bank — Job prospects: software developers and programmers in Alberta (outlook 2025–2027, education of workers)
Checked October 20, 2026.
Frequently Asked Questions
Why does a GitHub portfolio matter more than a degree for some tech roles in Canada?
A GitHub portfolio is direct, verifiable evidence of what you can build. Hiring managers in software development, web development, and data roles often review actual code before or instead of screening by credentials. For career changers and self-taught developers, a strong portfolio can compensate for a non-traditional background.
What kinds of projects should I include in a tech portfolio for Canadian employers?
Aim for variety that reflects the role you want. A web developer might include a responsive personal site, a small CRUD application, and a collaborative open-source contribution. A data analyst might show a data cleaning project, a visualization, and a simple predictive model. Projects that solve real problems are more compelling than tutorial clones.
How do I make my GitHub projects stand out to recruiters?
Write clear README files that explain what the project does, the problem it solves, the technologies used, and how to run it. Keep your commit history clean and descriptive. Pin your best repositories to your profile, and link your GitHub prominently on your resume and LinkedIn.
Do I need to have original project ideas, or can I build on tutorials?
Tutorials are a fine starting point for learning, but you should extend or modify tutorial projects before featuring them prominently. Add a feature, change the data source, improve the UI, or apply the concept to a problem you care about. Original intent and problem-solving show more than a copied tutorial does.
