01 · Product · JavaScript · Full-stack · Automation
Apply Pilot
A job-search and application workspace I built so African job seekers can discover roles, tailor CVs and cover letters, and track applications without spreadsheets.
The problem
I built Apply Pilot after noticing that many job-search platforms did not adequately cater to African job seekers. I also wanted to reduce the repetitive work involved in tailoring CVs, creating cover letters, and manually tracking job applications through spreadsheets.
The idea
I designed a single workspace around product thinking and real job-search friction: discover opportunities, tailor documents for a specific role, and keep application status in one place instead of Excel.
The solution
Apply Pilot is a JavaScript and Next.js job search and application management platform. Users can search roles by title and location, including African sources such as BrighterMonday and Ethiojobs alongside remote boards. Results can be labelled for eligibility from Africa, matched against saved CV text, and saved to a tracker.
Users can upload or paste a CV and add a job description to generate a tailored CV, cover letter, application Q&A, and a fit analysis. Applications are managed on a Kanban board (Applied, Interview, Offer, Rejected), with response-rate analytics, CV version tracking, a weekly digest, and interview-prep tools. A Chrome extension scaffold can read form fields and send a draft into a review queue — it does not submit applications automatically.
What I built
I defined the product and implemented the full-stack application: Next.js workspace, JavaScript modules, REST API routes, and a browser-extension scaffold.
Product definition, UI and workflow, job-search aggregation and Africa eligibility labelling, the Kanban tracker, CV/cover-letter tailoring, interview-prep and analytics views, and the extension review-queue API.
Engineering decisions
Job data arrives from several boards with inconsistent location language, so eligibility from Africa has to be inferred conservatively rather than assumed. Application history currently lives in the browser (localStorage) so the product can run without accounts. The extension-to-app bridge is intentionally manual: drafts land in a queue for approve/reject before they are tracked.
Outcome
Phases 1–6 are implemented and the source is public on GitHub. User accounts, cloud sync, and payments are not shipped yet.
A working job-search workspace that replaces spreadsheet tracking and reduces repeated CV and cover-letter work, with discovery that accounts for African eligibility.