jp ferreira
← All projects
Archived after company closure

Avondale Recruitment

A bespoke recruitment platform built end to end for a small construction-sector recruitment agency. Construction workers uploaded CVs and built profiles; recruiters searched and reviewed candidates to match against open roles. Built solo in Ruby on Rails. Archived after the company closed.

Role
Freelance
Period
2021

// 01

Problem

Avondale Recruitment was a small recruitment agency specialising in placing construction workers into roles for their clients. Their existing process was largely manual - CVs arrived by email, candidate details lived in spreadsheets, and matching workers to open roles meant searching through documents and memory rather than structured data. As the agency grew, that approach didn't scale.

They wanted a bespoke platform tailored to how they actually worked. Construction workers needed a simple way to upload their CV and complete a profile capturing the information that actually mattered for placements - trades, certifications, experience, location, availability. The recruiters needed the other side: a searchable view of every candidate, with fast filtering against the criteria their clients were briefing in.

The engagement was an opportunity on both sides. Avondale got a tailored product built to their specifications at a price a small agency could afford. I got the chance to design and ship a real production application end to end for a real business with real users.

// 02

Technical Approach

The application was built in Ruby on Rails with PostgreSQL as the primary database. Rails was a strong fit: a CRUD-heavy product with two user types, file uploads, authentication, search, and admin tooling, all within one cohesive framework.

The data model had two main user types - candidates and recruiters - each with their own onboarding flow, dashboard, and permissions. Candidates uploaded CVs and filled out structured profile fields; recruiters filtered and searched across the candidate base and reviewed individual profiles in context. CV files were stored in AWS S3, keeping the application stateless. The frontend used server-rendered Rails views with HTML and CSS, appropriate for the scope and what kept the product maintainable.

// 03

Interesting Hard Bits

The interesting work here was scope discipline and direct client collaboration. Working with a small business owner rather than a product team meant translating informal conversations about how the agency operated into a concrete data model, a sensible interface, and a deliverable that matched what they actually needed.

Making decisions about what to leave out was as important as what to build in. A small recruitment agency does not need a generic ATS with every feature - they need their specific workflow, executed well.

The other satisfying part was end-to-end ownership. There was no team to defer to and no senior engineer to escalate to. Every architectural decision, every UX choice, every deployment problem was mine to solve.

The project was eventually archived when Avondale closed - a business outcome, not a product one. The platform did what it was built to do for as long as the company needed it.

Tech Stack

Backend

Ruby on Rails

Frontend

HTMLCSSRails Views

Database

PostgreSQL

Infrastructure

AWS S3

Highlights

Delivery approach

  • Solo build, end to end
  • Direct client collaboration and requirements gathering
  • Scope discipline - built what was needed, nothing more
  • Bespoke product for a real business with real users