How to share a repository with someone who does not use GitHub

A repository link sent to a designer, a client or a hiring manager lands them in a file tree. They wanted to see the thing you built.

Sharing a repository link works for developers and fails for everyone else, because it lands the reader in a file tree rather than in front of the thing you built.

The fix is not a better README. It is sending what the recipient came for.

A repository page as a non-developer sees it. Folders, commit messages, no sign of what the project does.
A repository page as a non-developer sees it. Folders, commit messages, no sign of what the project does.

This guide covers what a repository looks like to someone outside development, what to send each kind of recipient, and where the repository link is exactly right.

Who you are sending it to

The same link serves these people very differently.

Recipient What they want What a repo link gives them
A developer joining the project The code and its history Exactly right
A hiring manager Evidence you can build A file tree, then maybe a README
A client To see it working Nothing they can use
A designer The rendered output Nothing they can use
A non-technical colleague A summary An interface they will not read

Only the first row is the audience the interface was designed for. For the rest, you are asking them to translate.

Lead with the result

Whatever the project is, there is something that shows it works. A rendered page, a chart, a screenshot of the interface, a short recording.

Put that first, on a page, above a paragraph explaining what the project does and why. Then link the repository underneath for anyone who wants the source.

<article>
  <h1>Catchment flow model</h1>
  <p class="what">Estimates sediment load from gauge readings, and produces
     the monthly figures the drainage board reports on.</p>

  <figure>
    <img src="/proj/flow-output.webp" alt="Monthly sediment load, four stations, 2024-2025"
         width="1200" height="740">
    <figcaption>Output for the 2024-25 water year.</figcaption>
  </figure>

  <p><a href="https://github.com/example/catchment-flow">Source on GitHub</a></p>
</article>

That ordering serves everybody. The client sees the output. The hiring manager sees the output and then clicks through to read the code. The developer scrolls past the picture and goes straight to the link.

The private repository trap

A private repository link sent to someone without access returns a not-found page rather than a permission message.

That is deliberate, since revealing that a private repository exists would leak information. The practical effect is that your recipient concludes the link is broken, and either chases you or quietly gives up.

If the project is private and you want to show it to someone outside the team, a page is the only clean answer. You control what it shows and there is no access to grant.

A project summary page. The rendered output at the top, a short description, a source link beneath.
A project summary page. The rendered output at the top, a short description, a source link beneath.

For a portfolio, the repository is the footnote

A hiring manager reviewing applications looks at a lot of them under time pressure.

A repository link asks them to assess your work by reading a file tree. A page showing what you built, what problem it solved, and what you chose to do differently gives them the assessment in thirty seconds, with the code one click away if they want to verify it.

The code matters and it is the second thing, not the first. Related: portfolio to link.

Send it without hesitation to developers, to anyone who will contribute, to anyone reviewing an implementation, and in any context where version control is the shared language.

Also use it as the canonical home. A page summarising a project should link the repository, not replace it, because the repository is where the work actually lives and where it stays current.

If the project is a site

Where the output is itself a web page, hosting it directly is usually simpler than summarising it. Options are covered in hosting HTML on GitHub Pages, and the limits of viewing raw files in the interface in previewing an HTML file in GitHub.

Put it at an address

Work out what the recipient is trying to see, put the result at the top of a page, link the repository underneath, and create a share link.

Developers get the source either way. Everyone else gets the thing you built.

Questions people ask

What does a repository link look like to a non-developer?

A list of folders, a row of commit messages, and a README somewhere below. Nothing on that screen shows what the project does or looks like. People who do not use version control daily read it as an interface they are not meant to be in.

So what should I send instead?

Whatever answers their actual question. A client wants to see it working. A hiring manager wants to see it working and then read some code. A designer wants the rendered output. Send a page that shows the result, and link the repository from it for anyone who wants the source.

Is the README not enough?

It helps and it is below the fold, in a file tree, on a site built for developers. A good README is worth writing and it does not change where the reader landed or what surrounds it.

What about private repositories?

A private repository link is worse: the recipient gets a 404 and often assumes the link is broken rather than that they lack access. If you are sharing with someone outside the team, a page removes the permission problem entirely.

Does this replace GitHub Pages?

No, and Pages is a good answer when the project is a site. This is for the cases Pages does not cover: a project summary, a single rendered output, a page shown to someone who will never look at the code.

Keep reading