Hacker News new | past | comments | ask | show | jobs | submit login
Building a self-updating profile README for GitHub (simonwillison.net)
326 points by ra7 on July 12, 2020 | hide | past | favorite | 55 comments

Since I wrote this I've seen a bunch of cool automated profile READMEs show up.

Two of my favourites:

Zhi Yang built one which fetched their latest tweet, renders it to a PNG using headless Chrome (from an R script) and adds it to her profile: https://github.com/zhiiiyang

Katie McLaughlin built one that does an ASCII art render of her profile: https://github.com/glasnt

I'm collecting these in a Twitter thread as I spot them: https://twitter.com/simonw/status/1281435464474324993

Nice work, Simon.

Started collecting some of those examples here:


Thank you for your awesome blog post. You also inspired me to make something fun:


How do you stumble upon all these new applications?

Both of those people tweeted at me about them.

This post taught me about two GitHub Actions features I've been wanting and didn't know existed:

1. You can schedule workflows. This is super useful for running dependency vulnerability scanners on repos that don't see active development.

2. You can manually trigger workflows. This is perfect for one repo I have where I manually build releases. The branching model doesn't lend itself well to a PR release action, and the need for inputs complicates things further. But now I can move the release infrastructure off of my laptop and into GitHub Actions.

Pretty new features actually.

Scheduled workflows aren't new.

Another option is to include a dynamically generated svg image. Usually these are used for tiny badges, but they can be used for displaying data as well. There's an app called feathub that does it. Here it is in action:


heh, I just knocked together a little viewcounter / webring thing that does this exactly this. I haven't spent much time with SVG in the past, but it was really easy to do. (This was an excuse for me to play with both SVGs and Nim).

It's just XML so it's really simple (here's the webring thing, if you want to see for yourself: https://github.com/pmn/randos.online)

Translation to recruiters: "Building a LinkedIn-like Developer profile on GitHub"

Next stop for Microsoft: Add your real LinkedIn profile. What could possibly go wrong?

Why so dystopian? I actually really like the idea of a profile. Pins and recent activity don’t provide a lot of info.

I see this feature more as MySpace for developers, where everyone will bring their own personality with custom scripts and integrations.

So, where's the distinction going to be? Use Github for developer networking, LinkedIn for non-developers?

You know a lot of developers arent on linkedin right?

You know a lot of developers don’t have public github profiles right?

Neither of these places will find you every possible developer

But there will be pressure to have one, once GH becomes the place for IT companies to recruit. There'll be FOMO and less people have their projects/contribs in other forges.

And like that it turns into another linkedin, and everybody will go somewhere less bloated

Thats my point..

Maybe its not a problem for microsoft to be using the multiple channels available to them to diversify and extend their reach.

Looks neat on Desktop version of GitHub. Looks less neat on mobile version of GitHub. Still cool though.

Simon chose to mimic a two-column layout using a table. I’m not sure if a overflow-x style [1] would work on GitHub or improve the responsive design.

[1] https://www.w3schools.com/howto/howto_css_table_responsive.a...

Unfortunately GitHub flavored markdown really limits your options for styling - it doesn't allow CSS at all. https://twitter.com/simonw/status/1281450155170922496

The style="overflow-x:auto;" seems to be the default now. "Ask and thou shall receive"? I'm pretty sure it wasn't scrolling when I first tried it but I may have just started searching first out of curiosity. Several posts indicated that inline CSS was possible on GitHub. I did a quick test and I can't get the original overflow-x:visible; behavior so who knows.

Great, I already feel inferior. I only put an ASCII cat on my profile.

Don't feel that way. I initially had to jump on the bandwagon and have a nice, link-filled README on my profile, but I ended up removing it all. The profile page is already good. It has your avatar, a short description from your profile, your group memberships, a list of your repos, and a good graphical representation of your work on Github.

It is a github profile, after all. A personal webpage is better for all the other information about you, and you can just put that link in your profile description.

It's a new addition, so I'm giving it time to see how it's going to be used in the wild and although I kinda like OP's take, the ones with giant images, GIFs, too much text... I'm not so sure. Maybe it's just like this now because it's a shiny new toy and people are pushing its boundaries but will die down later.

I'm lightly skewing towards just hiding it with a custom rule and forget about them. I visit a Github profile to quickly see what the developer codes instead of a showcase of their personality which, as you said, would be better served by a personal website.

I just put a single gif (a "cinemagraph" to be exact) in my profile for now:


I'm already amazed by the different profiles I've seen so far.

Your website with the same gif seems blanking out on each cycle: https://y.defret.in/

Quite a big file for basic vanity...

This is awesome. I just made one for my account, with a picture on the left and some notes about myself on the right. If anyone's interested, you simply use align="left".


Edit: Include the image with html in Markdown, so <img src="..." align="left">.

You should probably credit the artist: https://twitter.com/bysau_/status/1281590003701813254

Thanks, added a link.

Thanks! I've borrowed this one, with very basic info.

Anybody know how you create one of these profiles if you already have a private repo with the same name as your username?

Assuming you don't want to make the current repo public, you have to rename the current repo and create a new public repo with your username. Obviously that will break redirects, so update your existing references to that repo.

Pretty sure it has to be a public repo with a README.md in it

Indeed, hence my question...

Hence his answer: It has to be a public repo with a README.md in it.

Get your Github repositories to that state.

Put the README in it?

The secret trick is to create a new public repository and name it your 'username'. That should do it.

Also nice to see this new hack using GitHub actions to keep the current updated. Here is my profile README (kept it simple), love to see others as well: https://github.com/suyashjoshi

GAMD is the new stack? ;)

Why GitHub and not GitLab or Gitea.

I’m not OP but, I run a Gitea instance for myself but still use GitHub because of things like both collaborating with others on their stuff and for others to be able to discover my stuff.

Besides, I don’t know that either GitLab nor Gitea has the kind of feature with profile README that is mentioned in the submitted link.

What type of collaboration can you do on GitHub that you can't get with Gitea or GitLab?

Open source projects are most commonly found on github.

For me, I’m the only user on my Gitea and there are millions more on Github. I mirror most of my repos to Github and that’s pretty much the only place people contribute (with issues or PRs).

The issue tracker isn't distributed.

Because GH just released a feature that shows github.com/username/username/readme.md on your profile page.

So now we're building tools to simply update a single markdown file exclusively for GitHub profile pages? You know what would be really awesome? Providing a link to your website where you self-host a decentralized SCM platform.

I'm a Gitea maintainer and I still do most things on GitHub rather than my self-hosted Gitea instance because a lot of open source projects as well as the people willing to help with them are there. Overall, your project tends to get more attention and contributions if it's on GitHub.

Now, we can discuss about whether or not that's a good thing and the quality of the kind of contributions you tend to get because of the lower barrier but GitHub, at least currently, still has a place in the workflow of a lot of people.

What you propose would also be really awesome. A feature like this in Gitea could be really nice. If you'd like, you can open an issue on the Gitea issue tracker [1] for the feature.

[1] https://github.com/go-gitea/gitea/issues/new/choose

I use Gitea and I love it. The network effects and reach of GH are holding people back from discovering / using / contributing to other forges (gitlab, gitea, sourcehut) that are spread over numerous instances. Even just giving a star to show your appreciation for a project or a comment on the issue tracker often requires you to create a new account just for that.

Microsoft with features like these, acquiring NPM etc. and more to come, will be 'the Google of the dev world' (or they already are). Locked-in by the platform and by FOMO we'll be. And Gitea and other such fine works only used in the fringes of software development is my fear.

Big tech is causing big problems, as often discussed on HN. In this domain there are still competitors that can pick up the glove and put up a real fight. Gitlab can, but Gitea could do too. And imho here's how:

Federated forges, by adopting ActivityPub-based ForgeFed protocol [0]. I've searched your issue tracker and see [1] you are already considering adoption of parts of it.

I think federation support will greatly boost the attractiveness of Gitea as an alternative to GH.

PS. I've also heard talk to create federated LinkedIn alternatives.

[0] https://forgefed.peers.community

[1] https://github.com/go-gitea/gitea/issues/9045

Oh wow, this looks interesting, I hope it gets some traction. As someone who migrated away from Github the moment Microsoft bought it, I will be watching it and keeping fingers crossed.

Anyone can build whatever they want. Who made you the arbiter of what's right and wrong?

This is a discussion board not a circle jerk forum

hey github desktop team if you are reading this post...

a feature i love about github desktop is auto-generated commit messages. some commit messages are not worth spending time on. and yet people insist on us wasting time writing them. github desktop makes me extremely happy with these "boring" but so useful messages.

auto-generated commit messages are the best things any git client has ever done!

hoping that the team will continue to work on that feature. in fact, i would love to not have have to write a single commit message except for merges, amending, and pull requests.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact