The typing got cheap.
The judgement didn't.
Large language models are good at one thing that matters to a recruitment agency: reading unstructured text and turning it into structured data.
Stack Logic builds them into integrations where they earn their place, with a check on every write, and tells you plainly when a product on the market already does the job.
The typing got cheap.
The judgement didn't.
Large language models are good at one thing that matters to a recruitment agency: reading unstructured text and turning it into structured data.
Stack Logic builds them into integrations where they earn their place, with a check on every write, and tells you plainly when a product on the market already does the job.

Extraction, checked
The useful part is reading text into structured data.
An interview transcript contains a salary expectation, a notice period and a location. A CV contains a work history. A job spec contains requirements.
Before large language models you either paid someone to read these and type the contents into a database, or you accepted that the database would stay half empty.
Most agencies chose the second and then complained about data quality. That work can now be automated to a standard worth having, as long as a person still sees the result before it becomes permanent. The catch is that extraction fails quietly.
A model that cannot find a notice period will often produce a plausible one rather than say it does not know, which is why every AI step I build has something checking it.
Extraction, checked
The useful part is reading text into structured data.
An interview transcript contains a salary expectation, a notice period and a location. A CV contains a work history. A job spec contains requirements.
Before large language models you either paid someone to read these and type the contents into a database, or you accepted that the database would stay half empty.
Most agencies chose the second and then complained about data quality. That work can now be automated to a standard worth having, as long as a person still sees the result before it becomes permanent. The catch is that extraction fails quietly.
A model that cannot find a notice period will often produce a plausible one rather than say it does not know, which is why every AI step I build has something checking it.
What I build
Where a model earns its place in the pipeline.
The sequence in most recruitment admin is already known, so the model is not there to work out the steps. It is there to do the one step code cannot: read the document. Everything around it stays deterministic, which is what makes it debuggable when something goes wrong at two in the morning.
Transcript and document extraction
Interview transcripts, CVs and job specs read into structured fields and readable notes. Two extraction passes, one for data and one for prose, because they fail in different ways and need checking differently.
Write protection
A rule that refuses to overwrite an existing value with a blank, so a model that could not find a salary never destroys one a consultant typed. Populated fields are protected before anything commits.
Confirmation back to a person
Every write is confirmed to the consultant in an email showing exactly which fields changed, so a wrong value is corrected in the minute after it happens rather than the month after, in front of a client.
Plain integrations around the model
The plumbing is ordinary code: matching candidates without an email address, identifying the consultant, filing the output against the right record. The model does one job inside a pipeline that would run the same way every time without it.
What I build
Where a model earns its place in the pipeline.
The sequence in most recruitment admin is already known, so the model is not there to work out the steps. It is there to do the one step code cannot: read the document. Everything around it stays deterministic, which is what makes it debuggable when something goes wrong at two in the morning.
Transcript and document extraction
Interview transcripts, CVs and job specs read into structured fields and readable notes. Two extraction passes, one for data and one for prose, because they fail in different ways and need checking differently.
Write protection
A rule that refuses to overwrite an existing value with a blank, so a model that could not find a salary never destroys one a consultant typed. Populated fields are protected before anything commits.
Confirmation back to a person
Every write is confirmed to the consultant in an email showing exactly which fields changed, so a wrong value is corrected in the minute after it happens rather than the month after, in front of a client.
Plain integrations around the model
The plumbing is ordinary code: matching candidates without an email address, identifying the consultant, filing the output against the right record. The model does one job inside a pipeline that would run the same way every time without it.
Is this you?
We should talk if...
You run a recruitment agency and the AI question has landed on your desk in one of its usual forms.
The ATS vendor has added a feature and nobody is sure whether to turn it on.
Someone has quoted you a five-figure sum for an agent platform that promises to handle the admin. O
r there is a pile of transcripts, CVs and job specs holding information your database is supposed to have, and typing it in has never survived a busy week. I build with these models most weeks, which is exactly why I will not tell you they solve everything.
Is this you?
We should talk if...
You run a recruitment agency and the AI question has landed on your desk in one of its usual forms.
The ATS vendor has added a feature and nobody is sure whether to turn it on.
Someone has quoted you a five-figure sum for an agent platform that promises to handle the admin. O
r there is a pile of transcripts, CVs and job specs holding information your database is supposed to have, and typing it in has never survived a busy week. I build with these models most weeks, which is exactly why I will not tell you they solve everything.
How it works
Every process goes through the same three steps.
Discovery
A focused look at where the unstructured text is, what the database is missing, and which processes actually repeat. We agree what the model reads, what it is allowed to write, and what checks stand between the two. This takes a week.
Discovery
A focused look at where the unstructured text is, what the database is missing, and which processes actually repeat. We agree what the model reads, what it is allowed to write, and what checks stand between the two. This takes a week.
Build
I build the pipeline with the model doing the one step code cannot, and plain code doing everything else. Every write is gated and confirmed, nothing overwrites a populated field with a blank, and it is documented as it is built. Typically two to four weeks depending on scope.
Build
I build the pipeline with the model doing the one step code cannot, and plain code doing everything else. Every write is gated and confirmed, nothing overwrites a populated field with a blank, and it is documented as it is built. Typically two to four weeks depending on scope.
Handover
You get a working pipeline, documentation of what runs when and where to look when it does not, and error alerting so a failure reaches a person rather than a log. I stay available for 30 days post-launch, with retainer support after that if you want it.
Handover
You get a working pipeline, documentation of what runs when and where to look when it does not, and error alerting so a failure reaches a person rather than a log. I stay available for 30 days post-launch, with retainer support after that if you want it.
what clients say
But don't just take it from me.

We bring Jack in whenever we need serious Bullhorn Automation expertise. He takes our most tangled requirements and turns them into clean automations that just work, and he's become our go-to second pair of eyes whenever a build needs sense-checking. It's clear he has a deep understanding of Bullhorn and the recruitment industry as a whole. Overall, he's saved us hours of build time.
Kathy Walker, Fractional Marketing Director & Co-Founder, JK&Co.


We’ve had the pleasure of working with Jack across several projects and have consistently been impressed with the quality of work delivered. Communication is always clear, deadlines are met without issue, and there's a strong sense of accountability and transparency throughout. What stands out most is the flexibility to adapt to varying requirements while maintaining a high standard of execution.
Tina Tucker, Marketing Account Director, Thrive Recruitment Marketing

what clients say
But don't just take it from me.

We bring Jack in whenever we need serious Bullhorn Automation expertise. He takes our most tangled requirements and turns them into clean automations that just work, and he's become our go-to second pair of eyes whenever a build needs sense-checking. It's clear he has a deep understanding of Bullhorn and the recruitment industry as a whole. Overall, he's saved us hours of build time.

Kathy Walker, Fractional Marketing Director & Co-Founder, JK&Co.

We’ve had the pleasure of working with Jack across several projects and have consistently been impressed with the quality of work delivered. Communication is always clear, deadlines are met without issue, and there's a strong sense of accountability and transparency throughout. What stands out most is the flexibility to adapt to varying requirements while maintaining a high standard of execution.

Tina Tucker, Marketing Account Director, Thrive Recruitment Marketing
what clients say
But don't just take it from me.

We bring Jack in whenever we need serious Bullhorn Automation expertise. He takes our most tangled requirements and turns them into clean automations that just work, and he's become our go-to second pair of eyes whenever a build needs sense-checking. It's clear he has a deep understanding of Bullhorn and the recruitment industry as a whole. Overall, he's saved us hours of build time.

Kathy Walker, Fractional Marketing Director & Co-Founder, JK&Co.

We’ve had the pleasure of working with Jack across several projects and have consistently been impressed with the quality of work delivered. Communication is always clear, deadlines are met without issue, and there's a strong sense of accountability and transparency throughout. What stands out most is the flexibility to adapt to varying requirements while maintaining a high standard of execution.

Tina Tucker, Marketing Account Director, Thrive Recruitment Marketing
Book a Call
Book a Diagnostic Call
The diagnostic call is 30 minutes. You tell me where the admin time goes and what the AI pitch you have received is promising, and I'll tell you honestly which parts a model can do to a standard worth having, which parts it cannot, and what I'd build first. If the answer is a product rather than a build, you'll hear the product's name.
Trusted by SMEs from Recruitment and HR to Marketing, Finance and Tech.










Where this fits in the stack
Custom Integrations
The build side of this page: integration work for the jobs off-the-shelf connectors leave behind.
Bullhorn
The automation layer on top of Bullhorn, where most of these pipelines end up writing.
JobScience
Salesforce-based ATS work, including the custom objects standard connectors do not reach.
frequently asked questions
Common questions answered
Can AI update our ATS records automatically?
Yes, and that is exactly where it needs the most supervision. Extraction fails quietly: a model that cannot find a notice period will often produce a plausible one rather than admit it does not know. So every write passes a check. Populated fields are protected, blanks never overwrite a real value, and the consultant gets an email showing exactly what changed, so a mistake is corrected in the next minute rather than found months later.
Can AI update our ATS records automatically?
Yes, and that is exactly where it needs the most supervision. Extraction fails quietly: a model that cannot find a notice period will often produce a plausible one rather than admit it does not know. So every write passes a check. Populated fields are protected, blanks never overwrite a real value, and the consultant gets an email showing exactly what changed, so a mistake is corrected in the next minute rather than found months later.
Should we buy an agent platform?
For most recruitment admin, no. Agent platforms are sold on describing an outcome and letting the system work out the steps, which is appealing and occasionally true. But a process that runs differently each time is very hard to debug, and when it does something wrong in your ATS at two in the morning you will want to know precisely which step did it and why. For most agency processes the sequence is already known, so there is nothing to work out, and no reason to pay a model to work it out again on every run.
Should we buy an agent platform?
For most recruitment admin, no. Agent platforms are sold on describing an outcome and letting the system work out the steps, which is appealing and occasionally true. But a process that runs differently each time is very hard to debug, and when it does something wrong in your ATS at two in the morning you will want to know precisely which step did it and why. For most agency processes the sequence is already known, so there is nothing to work out, and no reason to pay a model to work it out again on every run.
Is it not cheaper to just buy a product?
Sometimes, and when it is I will say so instead of quoting. What has changed is the arithmetic. Writing code has become substantially faster, which has pulled a lot of work below the line where building costs less than licensing a tool that does most of what you want. A piece of work that would have been a £30,000 project a few years ago is now a £4,000 one. The judgement about what to build has not got cheaper, and that is the part you are paying for.
Is it not cheaper to just buy a product?
Sometimes, and when it is I will say so instead of quoting. What has changed is the arithmetic. Writing code has become substantially faster, which has pulled a lot of work below the line where building costs less than licensing a tool that does most of what you want. A piece of work that would have been a £30,000 project a few years ago is now a £4,000 one. The judgement about what to build has not got cheaper, and that is the part you are paying for.
What does the AI actually do in these builds?
One thing: it reads unstructured text and turns it into structured data. An interview transcript contains a salary expectation, a notice period and a location. A CV contains a work history. Before these models you either paid someone to read and retype, or accepted a half-empty database. Everything around that step is ordinary code, deterministic and debuggable.
What does the AI actually do in these builds?
One thing: it reads unstructured text and turns it into structured data. An interview transcript contains a salary expectation, a notice period and a location. A CV contains a work history. Before these models you either paid someone to read and retype, or accepted a half-empty database. Everything around that step is ordinary code, deterministic and debuggable.
Our ATS vendor has added AI features. Should we use them?
If a native feature does the job, use the native feature, and I will tell you when it does. Vendor AI features tend to be built for the average of their customer base, which means they do the generic part and stop at the part specific to your process. The test is the same as for any tool: does it write reliable data into the fields you actually use, and does someone see what it wrote.
What does it cost?
Custom builds start at £3,000, priced fixed and phased, so you can stop after a phase if it is not working out. The price moves with how many systems are involved and how much of the process needs untangling before anything can be automated. If the honest answer is a product licence rather than a build, that is what you will hear on the call, which is free.
What does it cost?
Custom builds start at £3,000, priced fixed and phased, so you can stop after a phase if it is not working out. The price moves with how many systems are involved and how much of the process needs untangling before anything can be automated. If the honest answer is a product licence rather than a build, that is what you will hear on the call, which is free.