
Project Overview
A US staffing agency posting 30 to 50 new job descriptions every week had a production problem disguised as a writing problem. Each job description required customization for the specific role and for the employer brand of the client company. In practice, the team was copying old descriptions and editing them by hand, a process that took 45 minutes per posting and produced inconsistent results. Brand voice varied between postings for the same client. Older language from different roles leaked into new ones. The quality problem compounded week after week as the volume of postings grew. We built a generative tool that took a small set of role inputs and produced a polished, client-customized job description in under five minutes.
The Challenge
The agency managed accounts for clients across several industries, each with different employer brand identities. A technology company expected a different tone and vocabulary in its job postings than a healthcare provider or a manufacturing firm. There was no system to capture those differences, so they existed only in the memory of whichever team member happened to write a particular posting that week.
- No structured system for capturing or applying client employer brand guidelines to job descriptions
- Each posting took 45 minutes of manual copying and editing from old descriptions
- Brand voice and tone were inconsistent across postings for the same client
- Volume of 30 to 50 postings per week meant the team spent a significant share of their working hours on repetitive writing
Our Solution
We built a generative job description tool with a client brand profile layer as its foundation. Before any generation could work at the required quality level, we worked with the agency’s account managers to document the employer brand guidelines for each client account in a structured format the system could reference per client.
- Client Brand Profile Library: A structured profile for each client account documenting tone, preferred vocabulary, role description format, benefits language, and any specific requirements or restrictions for that employer’s postings.
- Role Brief Input Form: A short form where the team enters the role title, key responsibilities, required experience, and any role-specific notes. The system retrieves the relevant client brand profile and generates the full job description automatically.
- Output Review Step: Generated descriptions are presented for a quick review before posting. The review step takes two to three minutes compared to the 45-minute manual writing process.
- Bulk Generation Option: For clients posting multiple similar roles simultaneously, a batch mode allows the team to generate multiple descriptions from a shared brief template in a single session.
Technical Approach
The tool was built as a lightweight web application with a React frontend and Node.js backend. Client brand profiles were stored as structured JSON documents retrieved by client ID at generation time. The generation layer used the OpenAI API with a prompt that combined the brand profile, the role brief input, and a job description format template specific to the role category. Average generation time from form submission to first draft was under 60 seconds.
Results & Impact
- Job description production time reduced from 45 minutes to under 5 minutes per posting across all client accounts
- 30 to 50 postings per week handled consistently without the quality variance that came from the previous manual copy-edit process
- Brand voice consistency improved significantly across all client accounts as the structured brand profiles replaced memory-dependent writing
- The brand profile documentation process surfaced gaps in how the agency had been representing several clients, which account managers used to improve client relationships
- The team recovered several hours per week of time previously spent on repetitive writing, redirected to account management and business development
Lessons Learned
The brand profile documentation phase required more effort than the agency expected but produced value beyond the generative tool itself. Account managers discovered during the documentation sessions that their internal understanding of several clients’ employer brands was vague or inconsistent. That clarity improved client communication and reduced revision requests on postings independent of the AI system. The lesson is that forcing specificity about brand voice tends to expose gaps in brand understanding that exist regardless of whether AI is involved.