Multiphase Workforce Platform
Turning a workforce outsourcing business that ran on spreadsheets into the system that runs it.
Product definition, product decisions, direction of an AI-assisted build
Multiphase Projects
2026
Next.js, TypeScript, PostgreSQL, Prisma, Vercel
Multiphase Projects recruits and verifies industrial and trades professionals, then supplies them to client organisations. It stays involved for the life of every placement. That is the business.
The operation ran on spreadsheets, email threads and shared folders. Candidate records lived in several places at once and duplicated. Every client enquiry about available talent required a staff member to go and assemble an answer by hand. There was no reliable view of who was available, no standard verification process, and no way to track a placement through onboarding without someone remembering to.
The obvious fix was an off-the-shelf applicant tracking system. That fix was unavailable, and understanding why is the whole project.
So the requirement was not “a recruitment system.” It was a recruitment system where clients can genuinely evaluate real professionals and still cannot identify them.
Applicant tracking software is built for direct hiring. It assumes the employer should eventually see the candidate's name, email and phone number, because in direct hiring the employer is the one doing the hiring.
Multiphase does not work that way. It is the permanent intermediary. If a client can contact a candidate directly, the client can place that candidate directly, and Multiphase is cut out of its own business. Every standard product in the category solves the visible problem while creating the fatal one.
Four decisions, from data model to marketplace gate.
Anonymisation enforced in the database
Client-facing queries are restricted to a fixed whitelist of safe fields, so identifying data is never selected in the first place. Route-level tests assert that client API responses contain no personal data.
Every interaction routes through an admin
There is no messaging feature anywhere in the product. When a client wants a specific person, they express interest and an administrator handles it.
Approval is the only route to visibility
Not profile completeness, not recency. A human approves a candidate or that candidate is not visible.
Credentials as structured records
Certifications and safety tickets are modelled as records with issuers, numbers and expiry dates, so they're searchable, filterable, and monitorable. A scheduled job flags credentials expiring within thirty days.
The platform is live at portal.multiphaseprojects.ca and in real use, with real candidates and real client organisations moving through it. Some things were deliberately deferred rather than quietly dropped — marketplace ranking, reporting and analytics, and a handful of admin controls remain outstanding, each recorded rather than discovered later.
What the project demonstrates is the part that AI does not do for you.
Deciding that anonymisation had to be structural rather than cosmetic is a business judgement before it is a technical one. So is refusing to build a messaging feature. So is treating approval as the only gate. Those decisions came from understanding why the business exists, and they are the reason the system supports the business model instead of quietly undermining it.