The connector does most of it.
The rest costs you half a day a week.
Custom-built integrations for Bullhorn, Vincere, JobScience and HubSpot, for the work that off-the-shelf connectors leave behind. Most of my profitable work is custom, and almost none of my clients came to me asking for it.
The connector does most of it.
The rest costs you half a day a week.
Custom-built integrations for Bullhorn, Vincere, JobScience and HubSpot, for the work that off-the-shelf connectors leave behind. Most of my profitable work is custom, and almost none of my clients came to me asking for it.

Where the connector stops
Marketplace tools are built for the average of a thousand agencies.
They arrive having tried the obvious thing first.
There is a connector in the marketplace, or an automation module included in the ATS licence, and it does most of what is needed.
The part it does not do is usually the part that costs every team member half a day a week, because it is the part specific to how your agency actually works. No agency is the average.
Where the connector stops
Marketplace tools are built for the average of a thousand agencies.
They arrive having tried the obvious thing first.
There is a connector in the marketplace, or an automation module included in the ATS licence, and it does most of what is needed.
The part it does not do is usually the part that costs every team member half a day a week, because it is the part specific to how your agency actually works. No agency is the average.
When to build
When custom is the right answer.
Four situations come up again and again. If one of these describes you, a custom build will almost certainly cost less over three years than working around the gap.
Your ATS holds data in a way the connector does not expect
JobScience is the clearest example, because it is built on Salesforce but stores candidates and applications in custom objects, so standard Salesforce integrations do not reach them. Bullhorn has its own version of this once you get past contacts and candidates into placements, rate cards and custom fields.
The process has branches
Anything with an exception path, an approval, or a step where a person has to look at something before it continues will exhaust a marketplace tool quickly.
You are paying per task and the volume has grown
There is a point where subscription automation costs more per year than a build costs once. That crossover arrives sooner than most agencies expect, because a multi-step workflow burns several tasks every time it runs.
A vendor has told you it is not possible
Sometimes that is true. More often it means it is not possible inside their product, which is a different sentence entirely. Working out which one you are dealing with takes about twenty minutes and it is usually the first thing I check.
When to build
When custom is the right answer.
Four situations come up again and again. If one of these describes you, a custom build will almost certainly cost less over three years than working around the gap.
Your ATS holds data in a way the connector does not expect
JobScience is the clearest example, because it is built on Salesforce but stores candidates and applications in custom objects, so standard Salesforce integrations do not reach them. Bullhorn has its own version of this once you get past contacts and candidates into placements, rate cards and custom fields.
The process has branches
Anything with an exception path, an approval, or a step where a person has to look at something before it continues will exhaust a marketplace tool quickly.
You are paying per task and the volume has grown
There is a point where subscription automation costs more per year than a build costs once. That crossover arrives sooner than most agencies expect, because a multi-step workflow burns several tasks every time it runs.
A vendor has told you it is not possible
Sometimes that is true. More often it means it is not possible inside their product, which is a different sentence entirely. Working out which one you are dealing with takes about twenty minutes and it is usually the first thing I check.
When not to build
And when it is not.
If a native feature does the job, use the native feature. If the process is going to change again in six months, wait until it settles. If nobody internally can describe the current process in order from start to finish, then automating it will only produce a faster version of the confusion, and I will say so before quoting for anything.
There is also the question everyone asks and few say out loud: if I build something custom, are you tied to me. The honest answer is that you are tied to whoever can read the code, which is why it is written to be read. Any competent developer can pick it up.
When not to build
And when it is not.
If a native feature does the job, use the native feature. If the process is going to change again in six months, wait until it settles. If nobody internally can describe the current process in order from start to finish, then automating it will only produce a faster version of the confusion, and I will say so before quoting for anything.
There is also the question everyone asks and few say out loud: if I build something custom, are you tied to me. The honest answer is that you are tied to whoever can read the code, which is why it is written to be read. Any competent developer can pick it up.
How it works
Every build goes through the same three steps.
Scope
I map the process end to end and work out where the connector actually stops. You get a written scope with a fixed price, and an honest answer if a native feature already covers it. This takes a week.
Scope
I map the process end to end and work out where the connector actually stops. You get a written scope with a fixed price, and an honest answer if a native feature already covers it. This takes a week.
Build
Working code in plain JavaScript or Python, no framework you have never heard of, sitting in an account you own. Built and tested against sandbox data before it touches anything live. Phased, so you can stop after a phase if it is not working out.
Build
Working code in plain JavaScript or Python, no framework you have never heard of, sitting in an account you own. Built and tested against sandbox data before it touches anything live. Phased, so you can stop after a phase if it is not working out.
Handover
Documentation that describes what runs when and where to look when it does not, plus error alerting so a failure reaches a person rather than sitting silently in a log. Most clients take a maintenance retainer because APIs change, but it is optional.
Handover
Documentation that describes what runs when and where to look when it does not, plus error alerting so a failure reaches a person rather than sitting silently in a log. Most clients take a maintenance retainer because APIs change, but it is optional.
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 what the two systems are and where the manual step sits. I will tell you honestly whether it needs a build, whether a native feature already covers it, and roughly what it would cost. Custom builds start at £3,000.
No pitch deck. No proposal you didn't ask for.
Trusted by SMEs from Recruitment and HR to Marketing, Finance and Tech.










Platforms I build around
Bullhorn automation
Compliance workflows, REST API integrations and the admin that sits between a consultant and their next placement.
JobScience and Salesforce
Custom objects the standard Salesforce connectors cannot reach, and what it takes to get at them properly.
Vincere
Integrations and workflow builds for agencies running Vincere as their system of record.
HubSpot
Sync between the marketing side and the ATS, with field ownership settled before anything writes to a live record.
Monday.com
The operational work that happens outside the ATS, from onboarding and compliance to delivery tracking.
frequently asked questions
Common questions answered
What does a custom build cost?
Custom builds start at £3,000. Most sit between £3,000 and £8,000 depending on how many systems are involved and how much of the process needs untangling first. Fixed price and phased, so you can stop after a phase if it is not working out. The diagnostic call is free and will tell you quickly which end of that range you are at.
What does a custom build cost?
Custom builds start at £3,000. Most sit between £3,000 and £8,000 depending on how many systems are involved and how much of the process needs untangling first. Fixed price and phased, so you can stop after a phase if it is not working out. The diagnostic call is free and will tell you quickly which end of that range you are at.
If you build something custom, are we tied to you?
You are tied to whoever can read the code, which is why it is written to be read. Plain JavaScript or Python, no framework you have never heard of, sitting in an account you own, with documentation describing what runs when. Any competent developer can pick it up. Most clients take a maintenance retainer because APIs change and someone should be watching, but it is optional and it is not the same thing as being locked in.
If you build something custom, are we tied to you?
You are tied to whoever can read the code, which is why it is written to be read. Plain JavaScript or Python, no framework you have never heard of, sitting in an account you own, with documentation describing what runs when. Any competent developer can pick it up. Most clients take a maintenance retainer because APIs change and someone should be watching, but it is optional and it is not the same thing as being locked in.
Our vendor says what we want is not possible. Is it?
Sometimes. More often it means it is not possible inside their product, which is a different sentence. The distinction usually comes down to whether the API exposes the object you need. On Salesforce-based systems like JobScience the answer is often that the data lives in custom objects the standard connectors do not reach, which is a solvable problem rather than a wall. Ask me on the call and I will tell you which one you are dealing with.
Our vendor says what we want is not possible. Is it?
Sometimes. More often it means it is not possible inside their product, which is a different sentence. The distinction usually comes down to whether the API exposes the object you need. On Salesforce-based systems like JobScience the answer is often that the data lives in custom objects the standard connectors do not reach, which is a solvable problem rather than a wall. Ask me on the call and I will tell you which one you are dealing with.
What happens when a vendor changes their API?
Something breaks, and the question is whether you find out from a monitoring alert or from a consultant three weeks later. Every build ships with error alerting so a failure reaches a person rather than sitting silently in a log. If you are on a maintenance retainer I handle it. If you are not, the documentation and the code are yours and readable, so whoever you ask has a fair chance.
What happens when a vendor changes their API?
Something breaks, and the question is whether you find out from a monitoring alert or from a consultant three weeks later. Every build ships with error alerting so a failure reaches a person rather than sitting silently in a log. If you are on a maintenance retainer I handle it. If you are not, the documentation and the code are yours and readable, so whoever you ask has a fair chance.
When would you tell us not to build?
Three situations. If a native feature does the job, use the native feature. If the process is going to change again in six months, wait until it settles, because you will pay twice otherwise. And if nobody internally can describe the current process in order from start to finish, then automating it will only produce a faster version of the confusion. I will say so before quoting for anything.
How long does a build take?
Scoping takes a week. The build itself is typically two to four weeks depending on how many systems are involved. It is phased, so the first working piece lands early rather than everything arriving at the end. Nothing touches your live data until it has been tested against sandbox or dummy records.
How long does a build take?
Scoping takes a week. The build itself is typically two to four weeks depending on how many systems are involved. It is phased, so the first working piece lands early rather than everything arriving at the end. Nothing touches your live data until it has been tested against sandbox or dummy records.