Mountenna Recruitment
Job Board & Applicant Tracking System
- Role
- Primary Full-Stack Developer (via SETS Tech)
- Dates
- Jan 2026
- Status
- Live
- PHP
Summary
PHP job board and applicant tracking system for a UK recruitment agency, replacing CVs by email and spreadsheets with online applications, an ATS and an applicant portal.
The problem
Mountenna Recruitment ran on a WordPress site. Job seekers couldn't filter vacancies properly, so most applications came by email or as a CV handed over in person, and recruiters tracked candidates in inboxes and spreadsheets. Nobody, candidate or recruiter, could see where an application stood.
Before
- WordPress site
- No useful vacancy filters
- CVs by email or handed over in person
- Candidates tracked in inboxes and spreadsheets
- No one could see where an application stood
After
- Job board filtered by keyword, location and category
- Direct applications with CV upload
- One ATS for shortlisting and status
- Status updates by email and in the applicant portal
- StaffDock for the agency’s staff compliance
CVs and candidate updates were spread across email and manual records, making shortlisting and status communication harder to manage as recruitment activity increased.
My role
Led the architecture and build via SETS Tech. I designed the architecture and data model, planned the work, built the core of the system myself and guided the in-house and freelance developers working with me.
What I built
- Designed the core job, candidate and application data model.
- Built searchable job listings and the direct online application/CV upload flow.
- Developed the ATS dashboard for candidate tracking, categorisation and status updates.
- Implemented automated email notifications.
- Built the applicant portal, where candidates log in to track their application status.
- Replaced the WordPress site with the new platform.
Architecture
One PHP application: the public job board, an application form per vacancy, a staff admin that works as the ATS, and an applicant portal. - Vacancies filter by keyword, location and category. - Each application is tied to one vacancy and carries the CV upload and cover letter. The form uses a honeypot and an anti-spam token. - Recruiters and applicants have separate logins: the admin for recruiters, and the applicant portal where candidates track their application status.
Key decisions and trade-offs
1. Job board and ATS on one data model Chose: one PHP application where a public application creates the recruiter's candidate record directly. Not: a job board plus a separate ATS joined by export and import. Why: no re-keying, and status changes reach the candidate from the same record. Downside: one system to maintain for two audiences. 2. Structured applications over email Chose: an application form with CV upload against a specific vacancy. Not: "email your CV to…". Why: every CV lands on the right job with the details recruiters need to shortlist. Downside: candidates who prefer email have to use the site. 3. Candidate-visible status Chose: candidates see their own application status in the applicant portal. Not: status only on the recruiter side. Why: fewer "any update?" emails and calls. Downside: recruiters have to keep statuses current because candidates can see them.
Results
- Filterable job board
- Direct applications with CV upload
- One ATS for shortlisting and status
Live at mountennarecruitment.co.uk. Vacancies are searchable and filterable, candidates apply directly against a job and follow their application status in the applicant portal, and recruiters shortlist and update status in the ATS. For its own staff compliance the agency uses StaffDock, the SaaS I lead at SETS Tech. Same client: Mountenna Group, Mountenna Edu and Mountenna Tech.
Key features
Application flow diagram.
- A candidate finds a vacancy using the keyword, location and category filters.
- They apply against that vacancy with their name, contact details, CV and cover letter.
- The application creates a candidate record in the ATS.
- A recruiter shortlists and categorises the candidate.
- The recruiter sets the status.
- The candidate is notified by email and can see the status in the applicant portal.
- Job board with keyword, location and category filters.
- Online CV upload and direct job applications.
- Central ATS dashboard.
- Candidate categorisation and status management.
- Applicant portal where candidates log in to track their application status.
- Automated email notifications.
Development timeline
- Discovery
Mapped vacancy publication, application and shortlisting workflows. - Build
Developed job listings and candidate application capture. - Operations
Built ATS tracking, categorisation and status controls. - Automate
Added notifications and the applicant portal for status tracking.
