
A full-stack aviation job board and recruitment platform built on WordPress with Felan Framework. FlightHired connects pilots and aviation professionals with employers through a multi-role system featuring candidate and employer dashboards, job posting, in-platform applications, subscription packages, and a bulk job upload system — across two major development phases.
FlightHired — Aviation Job Board & Recruitment Platform
Overview
FlightHired is a niche aviation recruitment platform built to connect pilots and flight crew professionals with employers in the aviation industry. The platform required a complete multi-role web application — handling job seekers, employers, and admins — with custom logic for applications, subscriptions, job expiry, and candidate-employer matching, all built on top of WordPress and the Felan Framework.
The Challenge
The project demanded far more than a standard job board. Key challenges included:
- Building a multi-role platform (candidates, employers, admins) with distinct dashboards and permissions
- Customizing and extending the Felan Framework — a third-party theme/plugin system — to support aviation-specific requirements that it wasn't built for out of the box
- Implementing a recurring subscription payment system where Felan had none natively
- Creating a bulk job upload pipeline via Google Sheets with full field mapping and documentation
- Hiding sensitive job and company data behind login/subscription gates
- Ensuring the platform worked seamlessly across guest, candidate, employer, and admin roles
Scope of Work
The project was delivered across two phases covering marketing pages, a full job board, auth and membership flows, candidate and employer dashboards, admin tooling, and platform-wide logic.
- Marketing Pages — Home/Landing, About, Resume Prep with template carousel, Pricing, Post a Job employer landing, Contact/Help/FAQ
- Job Board — Jobs archive with filters and tabs, job detail pages with gated company information for non-subscribers
- Auth & Membership — Sign up, log in, forgot/reset password flows for both candidates and employers
- Candidate Dashboard — Profile, My Applications, Saved Jobs, Job Alerts, Billing & Subscription
- Employer Dashboard — Post a Job form, Manage Jobs, Applicants view with messaging, Company Profile
- System Pages — Search Results, 404, Legal & Cookie Preferences
Development Process
Phase 1 — Core Platform Build & Stabilization
Phase 1 focused on building the platform foundation and resolving deep framework-level issues.
The apply job logic was reviewed and a critical bug was identified in the Felan function responsible for handling application status. The external apply flow had no login check and the email component was entirely missing. The function was rewritten to support email-based applications and enforce login requirements. A secondary bug caused aircraft type mismatches due to multi-array data handling — the requirement check function was updated to resolve this.
Job expiry was configured to 30 days by default, with expired jobs automatically removed from listings and blocked from accepting new applications.
A recurring subscription system was not available in Felan's native payment infrastructure — no recurring webhooks, no recurring logic for Stripe or PayPal. Two custom approaches were attempted before a working solution was implemented by directly modifying the Felan Framework plugin's core payment classes.
Custom meta fields were added to the Jobs CPT for custom company name and logo, enabling admin-posted jobs (including bulk-uploaded ones) to display custom branding rather than defaulting to the posting user's profile.
The bulk job upload system was built around a structured Google Sheet with full field mapping, custom columns for aviation-specific data (flight hours, certificates, aircraft type, commutable, salary), and a complete documentation guide with screenshots and a short walkthrough video.
Platform Logic & UX Refinements
Across multiple sessions, the following was addressed:
- Job archive pagination fixed to maintain correct total job counts across pages and layout switches
- Price filter bugs resolved for fixed salary, hourly rate, and range-based salary types
- Aircraft type taxonomy hierarchy fixed in candidate profile page
- Session-based page storage added to job archive for smoother AJAX pagination
- Candidate profile tab storage method updated from localStorage to sessionStorage
- Auto-renewal badge added to employer packages in the dashboard
- Employer package auto-renew checkbox set to hidden and pre-checked
- "Back to Home" button added to sign in and sign up pages
- Aircraft taxonomy search added within the job archive filter
- Action modals implemented on Post a Job and Flight Crew Directory triggers for non-employer users
- CV download and inline CV preview buttons added to the Applicants page in the employer dashboard
- Salary types expanded to include hourly rate and fixed salary across the full system
- All existing job records updated via SQL query to sync currency meta fields
Phase 3 — Auth Gate, Platform Refinements & UX Improvements
Phase 3 focused on access control, platform-wide cleanup, and UX improvements.
An Auth Gate was implemented on job listings to blur sensitive information for guest users, enforcing registration as a conversion driver. Job expiration was extended from 30 to 60 days. The auto-report interval was reduced from 30 to 10 days. Employer package names and related copy were revised. All UAS/UAV/Drone references were removed platform-wide. The job archive category filter was updated to display all categories without scroll truncation. The archive view limit for both jobs and the crew directory was increased from 12 to 24 listings per page. Informational blocks were added to the employer job posting flow to clarify each apply type option. The job alert popup was reduced in size and the notification bell was removed on mobile.
Key Features
- Multi-Role Platform — Separate flows, dashboards, and permissions for candidates, employers, and admins
- Custom Felan Framework Modifications — Extended core plugin files to add recurring payments, improved date UX, and aviation-specific logic
- Auth Gate — Sensitive job and company data blurred for guest users to drive sign-ups
- Bulk Job Upload — Google Sheets-based pipeline with full field mapping, custom aviation fields, and documented upload process
- In-Platform Applications — All applications handled within the platform with email notifications
- Recurring Subscriptions — Monthly and yearly employer packages with Stripe integration and auto-renewal
- Aviation-Specific Filters — Job search by certificate type, aircraft type, flight hours, commutable preference, salary type, and more
- Job Expiry System — Automatic 60-day expiry with renewal options and blocked applications on expired listings
- Candidate-Employer Matching — Email alerts to employers when matching pilots sign up; job alerts to candidates based on saved preferences
Result
A fully functional, multi-role aviation recruitment platform with custom framework modifications, a recurring payment system, aviation-specific job matching logic, and a bulk upload pipeline — built and refined across two development phases with continuous client revisions and platform-wide quality improvements.