Projects are found using the GitHub API, searching for projects first on whether they have issues labelled for new contributors and then also by language, topics, etc. After that you can write a bit more code to get metrics like percentage of first time pull requests accepted, median time until a maintainer responds to a new contributor, etc. Results are then placed on an Algolia index (stored in Postgres first) which is what powers the search + Algolia React components.
For the interviews, I write/edit them with a self hosted version of Ghost and then use their webhooks to sync them with my own Postgres database (I need to add extra fields like for projects/people and Ghost doesn't allow you add custom fields yet).
Backend is Node.js/Express, I just use EJS templates for the other less interactive pages since I think React would be overkill there.
I was until this morning hosting it on Heroku but switched over today to Dokku + DigitalOcean (mainly because I have a load of free credits and didn't want to end up with a large bill in case this hit the top of HN). First time using Dokku and it's pretty great.
Besides the GitHub API, which I need to get the project info, I wouldn't say anything else is indispensable. Heroku/Dokku is pretty important because I'm not much an expert with managing servers.
Glad you like the design, I think the search UI could be better. For the interviews I just tried to focus on typography first and foremost. Matthew Butterick's Practical Typography is a great book for reference.
That's a lot of info, hopefully not too much. Hope it's informative!
For example, you offer a checkbox ("Code of Conduct") to select projects with lots of nasty political fighting to distract from the engineering effort. Maybe somebody would rather focus on nerdy hacking.
Another example is "Has full documentation". That is a bad thing if you want to contribute by writing documentation.
Yep, those are fair points. For documentation (and for other things) it would be better to be able to search on that directly by e.g. looking for projects that have open issues around documentation. Will try and add these soon, I've just been focused on the interviews recently.
For the interviews, I write/edit them with a self hosted version of Ghost and then use their webhooks to sync them with my own Postgres database (I need to add extra fields like for projects/people and Ghost doesn't allow you add custom fields yet).
Backend is Node.js/Express, I just use EJS templates for the other less interactive pages since I think React would be overkill there.
I was until this morning hosting it on Heroku but switched over today to Dokku + DigitalOcean (mainly because I have a load of free credits and didn't want to end up with a large bill in case this hit the top of HN). First time using Dokku and it's pretty great.
Besides the GitHub API, which I need to get the project info, I wouldn't say anything else is indispensable. Heroku/Dokku is pretty important because I'm not much an expert with managing servers.
Glad you like the design, I think the search UI could be better. For the interviews I just tried to focus on typography first and foremost. Matthew Butterick's Practical Typography is a great book for reference.
That's a lot of info, hopefully not too much. Hope it's informative!