hasjob
hasjob copied to clipboard
Change the application form to be an interactive conversation
The JobApplication
model records a single application and response between a candidate and a job post, with a unique constraint1 preventing a candidate from applying again. This model is simplistic and causes problems:
- Any further conversation happens off-site, typically breaking the employer's workflow.
- If the candidate forgot to include something in the submission, there's no option for them to follow up until the employer responds (which then takes it into email).
- Hasjob has no insight into whether the connection panned out, a requirement for us to improve matchmaking.
JobApplication
should be augmented with a new JobMessage
model that captures to-and-fro messages between the candidate and the employer (in the context of a specific job, or perhaps even without a related JobPost
). JobApplication
could remain the link that tracks the candidate's status, or be eliminated altogether.
1 Enforced at the application level rather than the database level due to an initial oversight that has resulted in multiple applications caused by users double clicking the submit button. Since responses are included in the same object, enforcing a database constraint will now require manually reviewing and removing the dupes. ↩