GitHub Profile Setup Checklist

Make your GitHub recruiter-ready in under an hour. Everything you need: templates, examples, and a step-by-step checklist.

What Recruiters Look For (Ranked)

Recruiters spend about 30 seconds on your GitHub. Here's what they check, in order of importance:

  1. Profile README — First impression. Who are you, what do you build?
  2. Pinned repositories — Your best work, curated and presented well
  3. Repository READMEs — Can they understand your project in 10 seconds?
  4. Recent activity — Are you actively building or is this a graveyard?
  5. Commit messages — Do you communicate clearly about code changes?
  6. Code quality — Only if they click into a file (rare in 30 seconds)

Profile README Template

Create a file at YOUR_USERNAME/YOUR_USERNAME/README.md to enable your profile README.

# Hey, I'm [Your Name] 👋

## 🚀 What I'm building
[One sentence about your current main project or focus area]

## 💻 Tech I work with
![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
![React](https://img.shields.io/badge/-React-61DAFB?logo=react&logoColor=black)
![Python](https://img.shields.io/badge/-Python-3776AB?logo=python&logoColor=white)
![Java](https://img.shields.io/badge/-Java-007396?logo=openjdk&logoColor=white)
![Next.js](https://img.shields.io/badge/-Next.js-000?logo=next.js&logoColor=white)
![Node.js](https://img.shields.io/badge/-Node.js-339933?logo=node.js&logoColor=white)

## 🎯 Currently
- 🎓 CS student at [University]
- 🔨 Building [current project] — [one-line description]
- 👀 Looking for [internship/grad role/SWE position]

## 📫 Connect
- [Portfolio](https://yoursite.com)
- [LinkedIn](https://linkedin.com/in/yourname)
- [Email](mailto:you@email.com)

Pro tips

Pinned Repos Checklist

You get 6 pinned repositories. Choose wisely — these are your portfolio pieces.

What to pin

What NOT to pin

Repository README Template

Every pinned repo should have a README that lets someone understand your project in 10 seconds.

# Project Name

> One sentence explaining what this does and why it exists.

![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
![React](https://img.shields.io/badge/-React-61DAFB?logo=react&logoColor=black)
![Deployed](https://img.shields.io/badge/-Live-87a96b?logo=vercel&logoColor=white)

## 🔗 Demo
[Live Site](https://yourproject.vercel.app) | [Video Walkthrough](https://youtube.com/...)

## 📸 Screenshots
![Dashboard](./screenshots/dashboard.png)
![Mobile View](./screenshots/mobile.png)

## 🧠 Problem
[2-3 sentences about the problem this solves. Why did you build this?
What pain point does it address?]

## ⚙️ Tech Stack
- **Frontend:** React, TypeScript, Tailwind CSS
- **Backend:** Node.js, Express, PostgreSQL
- **Infrastructure:** Vercel, Supabase, GitHub Actions

## 🏗️ Architecture Decisions
- Used [X] because [reason]
- Chose [Y] over [Z] for [benefit]
- Implemented [pattern] to handle [challenge]

## 🚀 Run Locally
```bash
git clone https://github.com/you/project.git
cd project
npm install
cp .env.example .env.local
npm run dev
```

## 📝 What I Learned
- [Key takeaway 1]
- [Key takeaway 2]
- [Key takeaway 3]

Commit Messages — Good vs Bad

Your commit history tells recruiters how you think. Clear messages show clear thinking.

Bad (vague, lazy) Good (clear, purposeful)
"fixed stuff" "fix: resolve auth redirect loop on logout"
"update" "feat: add dark mode toggle to settings"
"asdfgh" "refactor: extract API client into service layer"
"final version v2 REAL" "docs: add setup instructions and screenshots"
"changes" "fix: handle null user in dashboard query"
"wip" "feat: add email validation to signup form"

Conventional Commits Format

Use a prefix to categorize your changes:

feat: new feature fix: bug fix refactor: restructure docs: documentation style: formatting test: add tests chore: maintenance

Quick Setup (2 Minutes)

These take almost no time but make an immediate difference:

Activity Graph (Green Squares)

Consistency matters more than intensity. Here's the healthy approach:

Do

Don't

The real metric

Recruiters care more about WHAT you ship than HOW OFTEN you commit. One well-documented project with a live demo beats 365 days of meaningless commits.

Complete Profile Checklist

Go through this list to make sure your GitHub is fully optimized: