This is Yet Another Job Site, but only kind of, and not really, so bear with me.
I wanted to offer a provisional, small contribution in the battle for an ATProto
professional networking site. Big shout out to Sifa, Atmos, Xptracker, and all
the other great projects that are working in this direction.
I am going to take a slightly different tack here than those projects. When it
comes down to it, the real value for me in a professional networking site is
finding a job. Conversely, for recruiters, it is finding job candidates (I’m
guessing).
Thus, for any such site, you must have résumés, job posts, and a way to match
them. It is that question of matching that I wanted to try and scratch the
surface of with this project.
Hopefully, it feels pretty obvious when I say that a résumé matches a job post
well when the experience encoded in the résumé matches the requirements for the
job.
That suggests an easy way to make matches: chop up a résumé into experiences and
a job post into requirements, use semantic embedding to vectorize those texts,
then compute matches by looking for vectors that are close to one another.
That is more or less what I have done. For the moment, I just made up some
schemas for job posts and résumés (jsonresume more or less), but it certainly
could be used for lexicons that already exist.
So how might this be useful to you right now? Maybe in a couple ways.
First, like I said, I have just taken jsonresume and extended it to include
media and dids. If you want, you can take your existing (or modified)
jsonresume and add it to your PDS for viewing here: https://res.blueres.org.
(Do you remember the episode of Parks & Rec where Tom creates like 26 different
profiles for a dating site? This is sort of similar in that you can post as
many résumés as you want.)
Second, if you want to test out searching over text for a résumé or job post,
matching one against the other (I added a bunch of fake data), or even matching
your résumé against a job post (I added some functionality to turn plain-text
job posts or résumés into structured versions), then you can do that here:
https://search.blueres.org.
If for some reason you are a recruiter and you want to play around with this,
then you can also check out https://jobs.blueres.org - job posts stored to
your PDS.
Lastly, if you are a developer, and you want to create a semantic search over
data from your lexicon, then you might want to check out the ‘backend/docsearch’
package here: https://github.com/jwindle/blueressearch. Currently, it is
geared towards a single schema. Given that, you can build a system that allows
you to do semantic search on text within a json document alongside standard
filtering criteria on data from a json document.