I built an AI-assisted business development workflow for a recruitment team. Starting with a project and its vetted candidates, the system identifies companies that could hire those profiles, finds relevant contacts, and prepares outreach for a recruiter to review.

From candidate profiles to employer discovery

The pipeline infers suitable employer characteristics from candidate skills and seniority, discovers companies, scores the results, and looks for the person to contact. It connects recruitment data with external company information and outreach tooling.

Draft emails use anonymized candidate profiles: they describe relevant experience without including candidate names or current employers. Recruiters work through an Italian-language web interface.

Making the workflow controllable

Four human approval checkpoints sit before consequential stages of the process. Vendor calls pass through shared budget and cache controls, and the workflow is divided into resumable stages so progress is stored rather than held only in a running process.

The core pipeline is separate from HTTP handling and background jobs. The same logic can therefore be exercised through command-line tools, the web application, and tests. PostgreSQL stores application state and supports the job-processing workflow.

What I delivered

The implementation includes the pipeline, vendor adapters, recruitment-system integration, review interface, job runner, and deployment configuration. It shows how I approach AI automation as an operational product with review points and recovery paths.

Stack: TypeScript, Node.js, Hono, HTMX, PostgreSQL, pg-boss, Gemini, GraphQL, external company-data and outreach APIs.

Client identity and candidate data are omitted.