Jobs
A job belongs to an organization and has a URL-safe slug that is unique
within that org. Its lifecycle is tracked by status:
| Status | Meaning |
|---|
draft | Not yet public. |
open | Live on the public board and accepting applications. |
closed | No longer accepting applications. |
Only jobs with status open appear on the public board.
Each job carries a title, description, optional location, and optional
employmentType.
The public board
Every org gets a public job board at its subdomain:
The org slug is defaulted from Clerk at signup, editable in settings, and
unique across all orgs. Individual jobs live at:
{slug}.trexi.ai/{jobSlug}
The board is rendered from the /board/[slug] route.
Applications
When someone applies to a job, a job application is created against that job
with their name, email, optional coverLetter, and optional resumeUrl.
Applications move through a review pipeline via status:
| Status | Meaning |
|---|
new | Just submitted, not yet reviewed. |
reviewing | Under review. |
rejected | Not moving forward. |
hired | Offer accepted. |
Deleting a job cascades to its applications; deleting an organization cascades to
its jobs.