Show HN: A job application tracker with company reviews, recruiter autoresponder (rolepad.com)
These days it is common to apply to dozens of positions (some users track over a hundred opportunities). Without a record-keeping system, it can quickly become an unmanageable mess. Even the better-organized among us often end up juggling spreadsheets, emails, and various notes. Rolepad was built to keep this data (company facts, role details, interview stages, contact info, freeform notes, follow-up actions, and more) in one place. Some of the other neat additions:
- Forward emails to save@rolepad.com to save them as notes connected to specific opportunities. Forward recruiter messages to no@rolepad.com to have the system automatically reply with a decline response.
- Generate shareable Sankey charts of your progress like this: https://app.rolepad.com/metrics/6QEbaktB7bqR8glhuYR32
- Submit anonymous reviews and insights about application/interview/offer processes at a company . This is new and there aren’t great examples to share yet (https://rolepad.com/companies/brilliant.org is an early glimpse), and I didn’t want to create fake data as a matter of principle.
Oh yeah, and it’s totally free :) Creating an account is passwordless and takes seconds, but if you want to kick the tires even faster, I created test credentials for this occasion:
username: test@rolepad.com
password: hntest
With this release, I am also starting conversations with employers (https://rolepad.com/employers). A unified platform for candidates and employers can significantly reduce frustration for both in ways that email cannot. I should note that any solutions here have privacy implications and will require an exceedingly thoughtful execution.And now for the tech stack. The main application uses React with Tailwind on the frontend, C# on the backend, hosted in AWS (App Runner, Lambda, RDS Postgres, SES), with auth provided by Google Firebase, and CI/CD via GitHub Actions. The home page is actually an SSR (server-side rendered) application built with vite-plugin-ssr (now vike) and hosted in a Cloudflare Worker that hits the AWS-hosted API. This is basically a best-of-all-worlds SSR configuration - very fast, zero cold start (!), and essentially free.
Any and all feedback is sincerely appreciated!
139 comments
[ 4.5 ms ] story [ 212 ms ] threadEDIT: Just realized I wrote "applicant tracking system" above. Total slip of the tongue, this is an _application_ tracking platform for job seekers, not an ATS used by companies. Though I do sometimes think of Rolepad as an ATS for the candidate.
The automation of job applications means that basically everyone tunes out when they hit 100+ CV's, go post a small wage globally remote job to test and you will see what I mean.
A dollar here or there definitely means your clients will get actual people who are serious about wanting it rather than the current spray and pray system that inundates and overwhelms anyone who puts up jobs today.
But what Grimburger says is also important - employers will hate your platform if it will become spam city.
If a platform helped me track my applications CRM-style and automate some of the process, especially scheduling interviews, I would gladly pay LinkedIn bucks for it.
I think the only way to prevent spewing/spamming of every employer with resumes, would be if there was a crazy high cost to apply to each job. If someone paid $10 per month for 1 application or 100 applications, or 1000, for many the 1000 is going to happen.
If it was $10 per application, you wouldn't be "changing" human behaviour, you'd be leaning into it, by de-incentivizing 1000 applications with "virtual pain". EG, money leaving wallet.
I don't see how to easily prevent this with such a platform, the per-application cost is a no-go, at best you could have hard limits of apps per month.
One thing I have noticed, as I'm extremely skilled at this stage in my career, is that there are logically fewer jobs.
Spray and pray is more, I think, a junior thing.
Everything I've gotten since then (just a few) was sending an email to someone I knew at a company.
I'm at least intermediate, I've done senior work before, and this is still my strategy. Applying to one or two jobs isn't going to do anything. It takes at least a calendar year to find a job that wants me. I can't imagine applying for less than 5 positions a week, and usually it's at least triple that.
I'd love to hear a different strategy for a developer that doesn't specialize in any given language or technology. Most of the employment gates seem locked for me. Yet I hear of other people doing things just like that and making bank from it. Who knows, maybe people don't like me as much as I don't like them.
Even in school I wasn't applying to multiple positions per day on average. Probably a more focused strategy is indicated than sending applications into the void.
Try to see this from the other side of the equation.
But does it, though? I don't think so.
> I'm talking a few dollars a month to put your best foot forward (...)
No, it really is not, and your portrayal really feels like a fraudulent way to frame the service.
No job applicant becomes better suited for a position if they apply through service A or B. Moreover, the only thing that this sort of service enables is throwing your hat in the race, and it's up to the candidate to successfully pass all subsequent tears. This sort of service does absolutely nothing to help you with those stages of the process, which are the ones that matter.
> Try to see this from the other side of the equation.
This is one of the many mistakes you're making. For the job seeker, there is only one side: the job seeker's side. There a already N services out there that allows them to apply for a job. None of them charges them a cent. Some companies even go through the trouble of posting the same job ad in multiple services. Some companies even hire multiple recruiters to find them the job applicant they are looking for. A job applicant can already apply through N services for free. Why would a job applicant suddenly feel the need to pay for the N+1?
It's stupid to confuse "have money" with willingness to pay, and mentioning vacuous statements like "sides of the equation" changes nothing.
This an an incredibly offensive thing to say, there's definitely a fraud here and it is not me, you should probably try harder next time with your sigint thing :) Good luck with it mate, please don't ever again.
I'm pointing out a fundamental trait of a system: if a service charges users for each job application, regardless of their nature, then there's a perverse incentive for service operators to maximize the number of job ads a user applies to.
This includes but is not limited to creating fake job adverts.
Do you disagree?
Is that not an incentive for the service operators to find more employers? No one is forcing you to apply for a job hopefully.
When the cost for applying is zero all you get is:
- puffed up resumes
- laughable experience in the stack that doesn't last a few minutes upon (time consuming) inspection
- bad cultural fit
- fake human beings who aren't even real and are actually just devshops in third world pretending to be Europeans with fake personas and everything
- the list goes on...
These things are expensive on the other end, yet it costs a person exactly $0.00 to send that resume, it's the bullshit asymmetry principle at work, there's so much time and effort required to refute job applicants that you basically have to give up.
Again I'm asking you to go post a remote job and see for yourself. Please, try to see this from the other side, it might even benefit you as a jobseeker to do so :|
If I was a job seeker, specially if I was out of a job, I would never ever spend a single cent on a job application service, particularly one that does not work as a job board.
All job boards such as LinkedIn already support some job application tracker features, including through third-party services. If you have access to a text file/spreadsheet, you can easily fill in the blanks to track your own job applications. Any third party job application service ends up being only the n+1 webapp you'll be using anyway,so why pay for the one out of n+1 particularly if it doesn't add any value?
There are plenty of job application tracking services out there already, but from the applicant's pov the only issue worth fixing is how you end up using a different service for each company you applied for. Job boards such as LinkedIn kind of mitigate this problem due to its massive adoption, but still some companies only use LinkedIn to route applicants to their own service. Adding yet another job application tracker to the mix solves nothing, and is definitely not worth paying for as an applicant.
Find this very hard to believe. You really wouldn't spend $1 to submit a job application to a position that is your bread and butter while unemployed? Even if it meant there wasn't hundreds of others spamming the same endpoint? Taking such an ideological high ground over a few cents rarely works out well.
I've seen/been on both ends long before covid/wfh stuff and the worldwide remote market is a complete fucking mess today due to automation, it's bots all the way down and not a single bit closer to good client/contractor relationships, you really have to wade through the weeds to find anyone half decent.
Again, I ask you to post a job online and see the results for yourself then reconsider my comment.
No, it's a stupid concept, and one that turns posting fake job ads into a profitable scam.
> Even if it meant there wasn't hundreds of others spamming the same endpoint?
Take a minute to think about that nonsense. Do you really think a company will want to risk losing the ideal candidate to fill it's position just because some mastermind decided to charge for each application?
Specially when every single company out there already has no problem posting their own job ads without charging applicants.
> Taking such an ideological high ground over a few cents rarely works out well.
Nonsense. It's a stupid move that goes against the best interests of all parties involved. But don't take my word for it. Go ahead and invest your cash on yet another job tracking service and put a paywall on applicants. Best of luck.
God forbid that the average software developer actually does 5 mins of research into the company before shooting off a resume, even worse before loading 700 npm packages and running build scripts on their computer for a quick "test" assessment?
All I see in this thread is reactionary stuff from people who get kneejerk offended by the idea of paying to apply to jobs. The market is getting entirely automated from end to end and some who want to hire don't particularly want that.
If someone down the ladder, who exactly?
One concern: All my data incl. CV is stored plainly in the cloud, correct?
I love your tech stack btw - C# backend is Elite (my main stack)!
If you'd really rather not go the monetization of job seekers route, one suggestion would be to try and sell this to people running upskill programs i.e. coding bootcamps as a product they could give their students/graduates access to.
LinkedIn _kinda_ works here but it's a distant afterthought for them.
> The main application uses React with Tailwind on the frontend, C# on the backend
I'm curious what about your experience gave you that stack? I'm sure it works fine, but the "not JS backend" people are usually stuck in older frontend frameworks, and the JS everything world has Next.js and various things to power both the frontend and backend together
[0] https://survey.stackoverflow.co/2023/#section-admired-and-de...
despite having the job open for 6 months
Is it possible to export my data if I decide to leave the platform?
Tracking which job you applied for is the least of the job applicant's concerns when looking for a job. In some circumstances the first step of the job application process is even fire-and-forget, and tracking those only serves to not apply again which is a zero-effort move.
Once you start to get a process going, emails and calendars already leave a good, easy to follow paper trail, and any need you might have is easily fixed with a text file/spreadsheet.
For me, I just have a big plain text file where I keep notes and stuff about companies once they get back to me after I send off a resume. I also have two email folders (one of all job search related stuff, the other for messages about upcoming or pending calls) and iCal.
I object to paying for LinkedIn pro when they're making money off me being recruited but for a tool I can use to manage a stressful process, this feels different.
I think that the area where I'd love some tool to help me would be keeping track of phone calls - ideally even attaching recordings to a proper company, transcribing them and summarizing. It's easy to get back to an email because stored but in case of a phone call I need to make notes quickly.
When I keep track of things in a text file or spreadsheet it's easy to get an overview quickly - because it's all on a "single page". I can even grep for some key word. I don't think Rolepad UI helps here. The current the company list shows only name, position and stage. I would like to at least see some "comment" for each.
The last time I searched for a job I created labels in gmail for each position and created rules to automatically label incoming emails. It was very easy, just select an email -> "filter messages like these" -> label (set new to jobs/company-name) and done. While I could potentially use Rolepad to store notes about companies I doubt that I would forward emails there because I don't see potential benefits since Rolepad won't automatically update any entries on its own. Maybe if I it aggregated all communication channels? emails, phone calls, linkedin messages, etc
By the way - I use multiple email addresses (wildcard in my own domain) when contacting recruiters but the accounts have just one so the email forwarding won't work.
Definitely will acknowledge that searching the provided data has room for improvement. Re: emails, it actually does have some rudimentary capability to detect which opportunity the email should be assigned to, based on a few factors - this too will be improved in the future. One workflow I've thought about was adding save@rolepad.com to cc/bcc on your outgoing emails to avoid the extra step. I have also kicked around the idea of creating custom Rolepad email addresses to use on outgoing resumes so that all communication is automatically captured in the system. Felt a bit fanciful at the time, curious if there's interest.
The multiple addresses is a doozy, will need to noodle on this. I guess easiest would be manually associating multiple emails with your account. Or the whole custom address thing...
It seems like any product offering public ratings will end up having fake ratings.
What have you considered to make sure reviews remain legit?
My employer keeps asking us to "leave honest reviews" to help with hiring efforts. In practice that means they want us to leave GOOD reviews to raise rating scores on websites such as Glassdoor.
Sorry HR, I'm not going to do your work for you.
We eventually got it removed, but it took an extreme amount of effort to convince them to take it down.
I can't imagine how difficult it would be to take a review down that isn't as easy to prove illegitimate.
This was in 2020, so maybe things have devolved since then..
Some of the early thinking I've done is around the system being able to verify that a user did in fact apply to a company (assuming company is a customer of Rolepad). That provides some initial guarantees about the author of the data. With some ATS integration, there could be fairly concrete numbers on "how quickly did X happen" that don't even need to be sourced from the candidate. That said, there is always a bit of a "he said, she said" with reviews, and I haven't fully figured out an obvious way forward here. I think the general sentiment I've seen is that Glassdoor and Yelp reviews should be treated with a grain of salt, but they're still better than nothing.
I was doing business studies research stuff when blockchain was all the rage. The accounting integrity was a major buzzword around that circle. Nobody came up with anything concrete or utilitarian.
The challenge is that you need to remove malicious reviews or spams. But at the same time that review system cannot be exploited.
Is there a systematic way to do this?
Throwing an idea here. What if there was a distributable append only database that obfuscated the content (reviews, company, user, company etc) with hash function only showed the action (new review, update review, delete review etc.)?
The database should be shared across multiple stakeholders as single source database is easily corruptible. For each actions to go through, these stakeholder databases need to be verify them. Tis verification process essentially links these databases to a single system. Then once the verification is done the review can be added.
To incentivize the storing and verification we need to offer an incentive of sort that is not money. As money corrupts everything and is the source of all evil it should be a form of token of gratitude that can be essentially transacted with other participants a form of pseudo currency. The value of the pseudo currency derives from everyone believing in the system.
In fact we can probably create an algorithm that automates the verification process using LLM algorithm and historic patterns. Those LLM algorithms can run on the stakeholder machines preferably on GPU.
Would a system like this work?
Other tools? Have been using Visual Studio mostly (due to C#) until recently when I switched from a Windows laptop to a Macbook. Now all coding is in VS Code, which is ... good enough so far. Really the only other item worth mentioning is I bought the Tailwind UI component library early on. It's been a total lifesaver. Design does not come easy to me at all, and I was able to get started with semi-decent-looking UI from the get-go. It still requires a lot of effort to get things to where I like what I'm seeing, and there's still lots of iteration, but it was definitely the right move, and the cost was well worth it.
How does the email addresses work? When I foward to sales@rolepad.com (or no@rolepad.com), how does it know that the message came from me[1]? Do you send back a confirmation I need to click on? Do I need to include a secret key in the subject line/body?
[1] I assume that you already know that email from/reply-to headers are trivially spoofed (i.e. the email client will let anyone set any value for from or reply-to).
In other words, theoretically spoofing could occur, but there are compensating controls in place to minimize any damage. Given a very low likelihood of an attack in this direction, that felt like a reasonable compromise. Would love to get feedback on that though!
I don't have good recommendations right now[1], but I think not having a way to opt-out for those who are security conscious is a turn-off for some people. After all, having opt-out[2] doesn't impact the existing users who don't care (they won't even notice), while those who care can turn it off.
I mean, as a user I disagree with your assessment of the probability of an attack using this vector, but I don't want to argue with you about it, I just want to turn it off for my account.
After all, if I said something similar about an exploit in my product, I can expect to get roasted by the users. For example, if there is a well-known buffer-overflow in my product, and I said something like this:
"In other words, theoretically users could send a value for the 'email' field larger than 255 bytes and smash the stack, but there are compensating controls in place to minimize the damage from overwriting the return address. Given a very low likelihood of a user sending more than 255 bytes for an email address, it felt like a reasonable compromise."
With security you can't really tell in advance how an exploit might be escalated. The only damage you see from allowing spoofed emails is "attacker causes candidates to reject a position they don't want to reject". Could there be others?
Could a coworker who knows I am on the prowl send an email to no@ with my address set in the 'from:' field and his set in the "forwarded" email? At the very least this sounds like a leak of account email addresses.
Still, see my point [2] below - maybe the return on implementing controls for attack prevention won't help your product at this stage. It might make more business sense to rely on mitigating the damage than preventing it.
[1] Simple: Don't send anything, place it in an outbox that the user can review before hitting 'send all'. Complex: Require user to upload their public key and process messages signed with the private key. Neither of these are 'good' in the sense of frictionless management via email.
[2] It depends on how much time you have. If this is a thing that would take 4 hours to implement, test and document, maybe you product has more pressing issues that those 4 hours would be better spent on. You'll have to triage the feedback you get and determine which feedback would result in the most takeup. IME, people often don't care about security, so you might find that spending even 5m on this has less positive influence on the business than spending those 5m cold-calling customers.
The no@ scenario is an interesting one. The opt-out would certainly be one clean approach here. Going to give it some thought!
If employers pay for this, when will the candidates experience suffer (and vice versa, the party that pays will always have priority though). How can you counteract this in the long-term?
Even if I could trust it at the start, it eventually turned bad.
https://www.reddit.com/r/dataisbeautiful/comments/13if21g/oc...
https://www.reddit.com/r/dataisbeautiful/comments/vrdcfz/oc_...
You could build pretty cool statistics around this once you have enough data.
> These days it is common to apply to dozens of positions (some users track over a hundred opportunities).
Honest question: is it that common? I'm an average software engineer in Western Europe. When I was junior (around 2010-2015) I usually got a job after submitting ~3 job applications (mainly, because I was accepting anything at that time). Nowadays, since I have more experience, whenever I want to switch my job, I know exactly to what kind of company I want to apply to, this means I don't send a dozen applications; rather I send usually 1 or 2. But I do my investigation on that 1 or 2 companies I'm applying to. And I never interview with more than 1 company at a time (it would be very stressful for me).
So, I've never had the struggle of "keeping track" of job applications. I've never worked for FAANG, though (not sure if this has anything to do). I thought my situation was more common, but based on your statement perhaps it's not.
My job search looked a bit like that. Luckily, I had just a few connections from grad school, which of course immediately led to interviews and offers while my hundreds of one-click applications lead to form rejections or have been ghosted. But without those connections, I'm not sure what choice I would have.
Maybe that's the problem. Those platforms are full of garbage job ads. I've never used such platforms (but again, I could be missing something).
Obviously I'm not the target for something like this given that I've applied to three jobs in the past 25 years and none of those were through a regular application system.
> Avoiding the stress of multiple interviews is almost certainly costing you tens of thousands per year
If we are still talking about Western Europe, where almost no one reaches the 100K eur/year salary, saying tens of thousands per year (e.g., 20K? 30K?) implies a power of negotiation of 20%-30% (or even more if we are talking about base salaries of < 100K/year which are the most common ones) when negotiating a salary. Maybe in the US you can negotiate that when applying for a job, but around here I think asking for more than 10%-15% already is basically forcing your employer to pass on you (unless you are the Michael Jordan of software engineers).
Your situation is actually very rare unless you are accepting bottom of the barrel offers or very well connected landing quick offers. I am also from West Europe and for me with a decade of experience it still takes 30-45+ applications because most companies(except boring ones) do not publish a salary range and doesn’t share anything until the last stage, when I realize that what they are offering is garbage. On most applications, they also ask for expectations and some just outright ghost you after or simply hope that post interview they might be able to find some “shallow experience on this specific tech we use” so I might be willing to “take a bit of cut to work with their wonderful team..”.
Also typically every interview process is loooong, on average a complete process takes 4 weeks to 2 months.
Also, some one are out right stupid and start asking me about if am open/passionate about focusing on the work instead of “counting hours and going home”(ELI5: they want unpaid off record overtime).
So shifting through many garbages to find the one(or two) golden ones is a good effort.
I guess that's my trick, then. Somehow I can filter out garbage by just:
- reading the job ad
- reading the company's website/social media
- checking who's working for such company (e.g., linkedin profile of employees)
It takes around 1-2h for me to check a company. That's why I only submit very few applications: because I know the companies I'm applying for are not the bad ones.
Although the timing isn’t great, I’m not unhappy about it. The push to improve my presentation and be more thoughtful about these things is ultimately a very good thing. It’s definitely a bit unsettling too, though. Until now I’ve been abnormally fortunate.
And you’re right, interviewing with several companies at once is very stressful. I struggle to keep all of the roles separate in my mind at once, and I’m terrible at knowing which voice on the call is who, and who I asked what, when, why, etc. I have to write absolutely everything down and look over my notes before every call.
Oh boy was I wrong. I tracked over 120 applications, had 20+ open processes with multiple interviews and in the end only got 1 offer (which I took).