I've thought on this for a bit and I think it's because the applicant tracking systems (ATS) (Greenhouse, Lever, Breezy, etc.) are built for the employer, not the applicant.

This one-sided process is dehumanizing due to a lack of visibility and transparency of the process. Inconsistencies in the process develop when the hiring managers are responsible for too much and just let things slip. I'm of the opinion that increased automation could actually make the process feel more humanizing.

Here's my ideal state I've envisioned in a platform. I'm not in a position to explore this right now, but I'd love to chat with someone who is.

1. Employers should be forced to define their applicant funnel stages. Each stage, including the initial application, should be associated with an expected timeline and an automated message.

2. Rejection types and corresponding automated messages should all be set up front. Standard picks would be "Did Not Meet Requirements" (location, sponsorship, etc.), "Bad Fit (Resume Review)", "Bad Fit (Screening)", "Bad Fit (Post-Interview)", "Did Not Respond", and "Position Filled/Closed".

3. Applicants should have a dedicated portal where they can see the status of their application. It should show the entire funnel, their current status in that funnel, and the expected timeline based on their position in the funnel. It should even show details like who has viewed your application, when, and how many times. Additionally, all communication between the applicant and the employer should be shown here in a consolidated chat view.

4. When an employer moves the applicant from one stage to the next (kanban style) the applicant automatically receives a message with clearly defined steps to engage with the new stage. This should include scheduling links, project uploads, etc.

5. Stage timelines should be treated as SLAs. Employers can set up automated reminders to ensure they meet their SLA timeline for each candidate. If the employer doesn't meet their SLA, the situation should be handled based on automated rules. If the SLA isn't met due to lack of response/scheduling from the applicant, automated processes can be put in place to follow up or close out the application. If the SLA isn't met due to lack of employer interaction, the candidate gets the choice to let their application expire (incentivizing employers to be on time) OR the candidate can be automatically moved to the next stage (if feedback is present).

6. Using all of this information, applicants should be able to see an employers average response time, timeline adherence, etc.

7. When the position is closed, all applicants currently in the funnel should receive the appropriate rejection message.

8. Through (hopeful) economies of scale, applicants would eventually be able to track multiple applications through a single portal on their side.

If you want to get extra dicey, you could have it where applicants are also able to see team comments/feedback so employers are forced to be very structured about their feedback and there are fewer rejections without a shared understanding. I sympathize with both sides here.

---
I'm not a saint - I've created my fair share of bad candidate experiences. But it's never out of malice. It's always from bad process or tooling. Would love to hear thoughts on this idea.