Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Interactive AI Resume/LinkedIn for better networking/job hunting (protoconstruct.com)
66 points by anyeung on Nov 13, 2023 | hide | past | favorite | 50 comments
Generally, I found resumes too vague to get to know anyone (hence why no one networks with them), professional blogs too low ROI, walking up to people unscalable, and cold messaging fairly low success-rate.

I wanted the 'marketing tool' of networking to get myself out there. Something that lets me: 1) Draw people into a conversation before they've realized it 2) Make them remember me and ultimately reach out to me 3) See what people asked me so I can further refine my interactive profile and start the networking cycle again

So I built a website where anyone can create these interactive profiles starting with a resume import.

The one I linked is a test profile but on my personal one, I got: 1) >10x more people reaching out to me when I put myself out there to network (some were VCs actually; though I'm not fundraising right now) 2) A bunch of engagement questions where I can see what people want to know about me so I can further enhance my profile and improve my own outreach

This is still in early stages, but if I go to a conference/join a new team at a new job/need to network for some other reason, I think I'll put this on my LinkedIn/business card/etc.

The (limited) data so far suggests people are more willing to first talk to the interactive profile before reaching out to me. I guess that makes sense, it's less commitment than emailing me. But ultimately, it does seem to increase the total number of people remembering/messaging me (i.e. improving the professional networking funnel as it were).

I would love y'all's thoughts on it

Edit: I can see some of you asking questions lol. Way more fun than LinkedIn's 'This random person looked at your profile but what did they want to know? We have no idea'.



This is kind of cool, but there are NO affordances. It's like you walk into a restaurant and you have to ask the waiter exactly what food they have, and they'll answer your question, but you never know if you they gave you the breadth of what the restaurant serves. Frustrating!

Better if you had a snapshot of what's on offer, and then you could ask a special thing (does this dish contain nuts; I'm allergic) etc. — similarly, would be nice to have a small snapshot of the work, and then I could ask what specifically a person did on a project, see some demos / github, etc


Great callout. I don't actually see this replacing LinkedIn profiles or resumes, more like an add-on so you can figure out more about a person. Example: "Proficient in C++", that's about as much as you get from a resume. But what projects did I use C++ in? What tooling did I use? Did it ship in a product?

Better yet, the interactive profile should say 'yes, they worked on C++ on these projects, here's a link to the specific github project'.

Eventually, if this turns out to actually be a good idea and gain traction, I'd want to build recruiter/candidate matching tools that let you just ask 'I need someone who's worked on Raytracing Shader Compilers before'. Something very narrow and specialized and it should still be able to bring up the 50 people in the world who have that intersection, then you can ask those people's profiles for more about their experience.

Other crazy idea: The resume and linked in profiles are like the table of contents of your career. Why do I have to write the table of contents and not just generate from my append-only work history. The table of contents of documents are generated, why is my resume not generated from something persistent instead.


It's very similar to how the entertainment industry works. A director can specify a broad range of qualifications and search an actor database for potential matching candidates.

The biggest issues I see are:

- getting candidates to put their data in, you can't really rely on scraping because a résumé doesn't provide enough information, and your hallucination quantity will go up

- getting critical mass of users, so that recruiters and potential employers would find the database valuable

- candidates embellishing their accomplishments, though admittedly this is also a problem with basic resumes


I think OP has solved some of those issues with this approach. Initially, this is a fun tool that provides value to individuals. The result at scale becomes extremely valuable. The biggest missing piece is verification of skillset. I'm not sure how to solve that. Current employers? Motivated to keep their top performers and little incentive to engage early on. Peers are easy to game and are susceptible to generative AI for automation. You would almost need to integrate some kind of in person meeting for verification. Establish known experts and have them review and verify, then feed that into employer feedback after hiring for a sort of credit system. Employers using the rating system would themselves need to be monitored and policed.


This was a fun one to think about. The secret is in where this link is posted. I was thinking through domain name verification and realized that if employers trust LinkedIn, and you can put this link onto your LinkedIn, it inherits that trust.

So basically, if you link it on your resume/LinkedIn, then the consumer of your AI profile should be able to have the same base level of trust in it.

As for the candidate themselves lying, well, you can always do that. In this case, you can actually verify it better than just having to trust a candidate in the moment in an interview. I see these interactive profiles as a way to actually build more trust and credibility between people by giving everyone more to cross-reference.

The candidate gets to be remembered and have the details of their skills and accomplishments shown, the employers get to select with more precision and make valuable interview time even more value dense by having a better/more informed starting point.


Dealing with hallucinations was really finicky. I think I have a way to prevent that now though and ultimately give you control. 'Document search' style things always hallucinated for me so I needed something else. I made another comment on dealing with that but let me know if you have more questions.

The critical mass of users was a weird one to think about yeah. I had two choices, go with breadth first tools (e.g. recruiter tools), or depth first tools (e.g. individual tools to 'market yourself' or just network). I went with the latter first because it would provide value to a single person, just like how my test profile here is providing value to me right now; I didn't want to have to rely on critical mass.


You should ask the LLM what the topmost relevant things would be to put on the homepage.


Okay since this is getting way more attention than I thought. Maybe it ends up just being a toy, but if you want one of your own, sign up or email me at anyeung@protoconstruct.com. It's a no-code solution, and starting takes only a few minutes with a resume/blogpost/autobiography/etc import.

Here's a screenshot of the no-code AI profile build tool: https://imgur.com/a/YKQ902P

I thought I'd get like, 1 upvote and no comments. Y'all are breaking my question review page. I'll need to paginate it.

Sidenote: I was thinking of making an FAQ of my website as one of these AI profiles too. Maybe I should do that.

The count is up to >1700 questions asked, as a networking tool, I guess it does actually draw attention. Lots of good questions too (and some strange ones), y'all are weird.

Timeline:

3hrs: 1300 questions

4hrs: 1700 questions


5hrs: 2000 questions

6hrs: 2300 questions


Problem remains if the model "hallucinates" and makes information up. For example, it says candidate is a Lisp expert and later, turns out not.

If even it happens some 10 percent of the time, it'll get a reputation for being unreliable and would lead to "oh, why waste time, I better ask the candidate directly" situations.

But other than that, it's a very creative idea. Really. 10 out of 10.

EDIT: Idea is great nevertheless.


Yeah that was REALLY finicky to get right. I have a few ways to prevent hallucinations and I haven't gotten any in the latest iteration even with really crazy questions being asked. (I encourage you to try to break it).

This is partly why I show the source Snippets (Q/A Pairs written directly by the owner) below the summary as a way to verify the information. Kind of like the AI 'showing it's work. It also let's see more about the owner which is a nice side benefit, or maybe the main benefit.

I can also turn off the AI summary part and leave the AI search part. If this becomes a bigger thing, I might give users a way to enable/disable the potentially hallucinogenic part, but it'll be their choice.


Ack on your edit. Thanks, it means a lot.

I think there's a lot of work to do to work out the kinks with things like hallucinations, but I think we forget sometimes so much of what we do is statistical in nature already. Your car has a statistical chance of breaking down within x timeframe and while you're on the highway, it's just, low enough that you don't worry about it. I think AI will be a similar thing where we have to get comfortable with how we evaluate and mitigate risks, but like many things, they'll never be 0.


The idea of the tool you're using "hallucinating" is quite asinine. It makes me question why anyone is building products using ML systems that can do that. Like, why put a rudder on your plane that very rarely just decides to fly you into the ground?


For the precise reason, I would never put LLMs in my product (if I have one) be it financial (tell me what two products are doing good together in winter seasons near XYZ location) or even user facing (how can I turn off photo sharing so that only I see what I take with my camera) or something similar as trusting LLMs might lead to serious troubles if the output is wrong.

Just dry run through the scenarios and assume LLM's output is wrong even if 10% of the time.


The LLMs were never designed to be fact checkers, they're text generators, not fact generators.

Additionally you don't need ML to get your computer to show you confidently something that is completely wrong, all it takes is to multiply specific floating point numbers repeatedly, really.


Resumes are not the issue. Frankly the focus on resume writing is nonsense, and seemingly a grift.

What matters in a resume is: Employer name, Your title, brief description of what you did in bullet points.

It does NOT need to use the STAR format.


If you're a halfway attractive employer, reducing the number of candidates is the primary problem in recruiting.

Resumes and cover letters are in theory basically a proof of work check to ensure you're interested enough to spend time on the application.


STAR is for interviewing, not resume'ing


Wrong


This is a very interesting idea. Given access to long form descriptions of what has been worked on, ideally with some kind of trusted verification, this approach seems like it would operate at scale quite well and could transform the way we network and hire. A technical expert could explain what is needed for a role, and with AI assistance candidates could be sorted through extremely effectively and matched to companies that are a good fit for their experience. Given, this doesn't account for junior developers who have yet to build up their skillset, but for experienced developers this could result in a much more efficient hiring process.


Yeah, there are two angles I'm exploring. LinkedIn is a very recruiter focused breadth first search and not very candidate friendly. I think that's why so many profiles are incomplete, non-existent, old, etc.

So I decided to build something that is useful to a single person first, the person that wants to market themselves. This is the first iteration that seems to be working for me in that regard; as a depth first tool.

This is intended as a 'show and tell and get feedback post', but if any of you want to actually try making one, you can reach out to me at anyeung@protoconstruct.com.

I'm intent on making networking just less painful for everyone, in particular, for the individual. If this gets big enough, then I'll think about breadth first tools.


I think it's a fun idea worth exploring.

I've built a basic POC for JSON Resume. You can interview or be interviewed by anyone who uses the registry by appending "/interview" to the url

https://registry.jsonresume.org/thomasdavis/interview (it pre-prompts using the data from your resume json)

I've also played with having microphone access, it feels extra natural when you can just talk to "someone".

For extra value, I think you to upload a job description for added context.


The idea of "bot" interfaces like this (as opposed to what's termed "direct manipulation" UI) go back a long time, and are subject to quite a bit of debate in the field of usability. The issues are summed up here pretty well, but it will be interesting to see how long the issues persist as (or if!) AI gets better from now on: https://eagereyes.org/blog/2016/the-personified-user-interfa...

I think as with most things, there is probably a complementary relationship which depends heavily on the context of use. Whether the context in the case of a resume for a hiring manager is any good I'm not really able to say.


This is a neat project! I did find the UX a big confusing. If I ask "What was your major?" the start of the answer is "Ian Woods graduated ...". But If I ask "What was Ian's major?" I get "no results".

In responds in third person but can't comprehend questions in third person?


Hmm. Interesting bug. I'll have to look into that. Thanks for the report.


Off topic - the web design / color theme is slick. Definitely stands out among the many chatbots of today.

Is it a template that is available openly so we might repurpose / customize starting from this baseline?


Nice thanks lol. I had to do a recent overhaul of this. And I agree, this is not a chatbot. v1 was a chatbot actually, but it wasn't received well for various reasons, one being that you get just one response per question, no peripheral information. I designed it to be more like tweets where you see the thing you looked for, but also get to see related stuff.

This provides a secondary benefit of making hallucinations much much rarer. Try making it lie or make stuff up, it's pretty resilient now. If you find one, let me know; I haven't seen one in a while now thanks to y'all's redteaming.

It's a custom template unfortunately, I can change the colors but it's not modular at all (yeah I know, should have maybe started that way).

For reference, I'm using React + Typescript + Tailwind.


Ha this is great! I built something similar to this for myself a few months back at my personal site at https://jakobs.dev/chat


Hahahaha that's great. Yeah I see what you did there.

Originally I had mine in chat form but for various reasons, it seemed like an FAQ format with 'sources' resonated better. I could be wrong, but I think that makes OpenAI's custom GPTs an ill fit for the specific problem of networking.


I am sorry, I am asking your resume all of the questions I have wanted to ask in interviews but deemed it too strange or inappropriate to actually ask


Lol, this is exactly the point. You're more willing to ask what you really want to ask which draws you into a conversation and ultimately makes the person you're asking more memorable to you.

Also, so far, looks like the anti-hallucination stuff is working well but let me know if you run into something unexpected.


How one can build this? does that mean we need to train the model with resume data OR asking on questions along imported data each time?


Right now I have it set up so you can import your resume and it generates what I call 'Snippets'. They're kind of like mini Q/A pairs about your career (which you can see as sources below when you ask a question). This does two things:

1) Provide the information exactly as the person has written it 2) Make it easy for you to incrementally add little bits about your career as you think of them or as they come in

Questions you get asked can be seen by you and you can quick add a Snippet to your interactive profile which it'll then use to answer future related questions. I.e. Over time, it gets more and more complete.

Eventually, I want to build an export tool that takes a job description, looks through your history, and generates the right resume for that job.

This is a no-code solution, all in the browser. You don't need to mess with training data, training times, or anything. It's just: Import resume/blog posts/autobiography/whatever, generate Snippets, add more detail and Snippets as you see fit, get asked questions, rinse and repeat.

Edit: Posted an image of the building interface as it is today.


Thanks for detailed answer. Wondering if:

1. we build this as browser extension for LinkedIn profile page

2. Or ask people to input their LinkedIn profile page, Twitter handle, GitHub etc & interactively answer questions.

I see this as a tool for recruiters & hiring managers. Great!


I'm sticking to just URLs for now because they can go anywhere but eventually if it actually becomes a bigger thing, I'd make it easy to integrate into anything (extensions, iframes to put on your personal website, etc).

Also, does anyone else find it ironic that we put LinkedIn links onto our resumes even though it's usually older/more out of date/emptier than the resume. My dream is that a link to your AI profile is on your resume, LinkedIn, etc instead. Give people a way to dig deeper instead of just circularly referencing things.

And yes, doing integrations to your twitter, github, LinkedIn, etc is something I was thinking about too. That being said, you as a candidate might not want all that searchable. I certainly don't. I wanted more control about what was said about me when asked certain questions so I went the import, edit, add route with Snippets (which are like Q/A pair tweets about your career).


Hey I launched Leet Resumes on HN a couple years ago - love what you’re doing with this. https://news.ycombinator.com/item?id=25678568

The biggest challenge you’ll find is not getting the info OUT to the reader / recruiter / hiring manager, but getting the information IN to your system. You’ll start with the resume, but most people don’t put enough about their specific achievements and accomplishments in their resume in the first place.

As we write great professional resumes for free, we needed a fast, scalable way to get more info from each user.

We’ve used AI to help us ask better questions (“As a front-end engineer did you ever have to scale by 10x or orders of magnitude? What did you do and what worked well?”) so that we could get better answers and turn it into better information.

Will the Chat UI replace reading linear text? At our sister company Ladders, we rather famously ran the study that led to the factoid that recruiters look at your resume for six seconds on first pass. For a while, people were touting video as a replacement for resumes, but the challenge always ended up being that people can read/scan at far, far greater rate of speed than they can listen. I guess we will see the same trade-off preference development with Chat, but time will tell.

Overall, great innovation and clever use of the new tech.


Thanks, yeah! I agree. The import tools was one of the biggest things I had to work on recently.

I needed to balance import everything with no user input (which is prone to hallucinations and doesn't give you an idea of how the AI will answer about you) and asking the user to do too much.

I landed on a halfway point kind of like writing little blurbs about your career that you can add on incrementally. Unlike retraining an AI, you can just add incremental bits.

So the current form is import resume/blog post/etc which generates questions and answer pairs called 'Snippets'. You can add more detail since the resume is usually pretty vague, then officially add these Snippets to your AI.

Once people ask you questions, if there is an answer, it'll use those blurbs. If there is no information yet, it'll say so. You will see all the questions asked of your AI so you can incrementally add Snippets on your Monday night or whatever based on what people had asked your AI profile.

I might change it, but this seems like a good balance between automation, giving you control, and making it incrementally updatable.

Btw, it's all zero-latency, if you make a change, it basically takes immediate effect on your AI. This was an important property to me.


I had this idea, and you did a good job executing it. Do you use openai under the hood?


Thanks! They're a part of what I'm using yes but I actually have a pluggable AI system because their API had...we'll say reliability issues. So I can diversify more if needed. I've moved some stuff off OpenAI infra already.


Very impressive.


Very cool.


Thanks! It's very early, like, <2 weeks old in its current form, but I'm pretty pleased with it so far.

I can imagine this being a way to pre-warm any cold interactions I might have with new people I meet at work, conferences, etc. More importantly, as something that helps people remember who I am because you know, why network or meet people if they just forget you.


FYI. Here is an image of the no-code AI profile build tool:

https://imgur.com/a/YKQ902P

You don't need to mess with training data or training times. The AI is built up from things called Snippets (think of them as mini interview tweets about your career) that you can add one at a time.

Import tools to generate Snippets include Resume/Auto-biography/Blog-post. These will generate Q/A pair Snippets which you can edit/append to then officially add to your interactive profile. From that point on, they're made searchable from the UI you see in the link I posted.

Edit: Lol who asked this "how is gpu programming different than traditional programming?". I put related data for that though so you good :)

Edit 2: Here's another one someone put in "im fat". That was the question, not the response.

Edit 3: And another "do you have experience in react?". Yes, the website is built with React, a custom D3 integration thing for a graph visualization of your AI, and expressjs right now.

Edit 4: Y'all redteaming this eh. Q: "describe a time where you had to commit a felony", A: "I'm still learning and don't have an answer for that yet.". Success :)

Edit 5: Here's an actual good one. Q: "isn't getting to know people personally better than protoconstruct?". Yes, it is. ProtoConstruct isn't intended to replace personal interactions, it's intended to pre-warm them. If you remember me and this post, it'll have done it's job even though we've never spoken. In fact, it's gotten us to speak in the first place even if virtually. My goal is to improve all of our 'professional networking funnels' by making every cold interaction a little bit warmer than an old and crusty LinkedIn profile.

Edit 6: Oh my y'all are breaking my question review page. I didn't make it paginated yet. No hallucinations yet though. All good on that front.


I'll say it: This is a shit idea


We've banned this account for breaking the site guidelines.

If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future. They're here: https://news.ycombinator.com/newsguidelines.html.


> Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.

From the HN guidelines: https://news.ycombinator.com/newsguidelines.html


Without any specifics, yours is a shit response.


The best resume is one started with vi or Notepad and written in your own words, not using a template, not reviewed and edited by someone, certainly not one which involves AI in any capacity.


I have pretty extensive personal experience that this is not true.

Any time the resume actually matters (i.e it’s not just a formality during a personal reference application), resumes that are formatted in a standard and machine readable way, don’t use columns, don’t rely on graphics, and hit on the required keywords that match up in ATS systems that’s matching against the job description are going to immediately filter to the top. After that, font sizes and formatting choices that make your resume human scannable and easily referenced help. Even giving your screener margins and space in your resume to write notes or annotate your resume can help a lot. The “in your own words” then finally comes into play once somebody actually reads it after it’s passed 5 prior filtering events.

Playing the game matters a lot when you’re competing with hundreds of other resumes, recruiters and hiring managers are going to spend a few seconds on each one before rejecting it 90% of the time. Getting your resume read is the real challenge.


The best resume are often made by paying a professional to do it. It's not because you made something yourself it represents you the best.




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

Search: