Contract or contract-to-hire
30+ hours a week inside your team, in your tools and your sprint rhythm.
04map · services
Every service below has a shipped project behind it. Start with the problem you have, not the tool you think you need.
what's slowing you down?
for teams doing the same task every day
Leads chased by hand, data copied between tools, the same message sent fifty times. I build the workflows that do it for you, with logs and alerts so you can trust them.
proof → Just Eat UK: rider recruitment automated in 7 months
for products that should be smarter
Not another chatbot wrapper. OpenAI and Claude inside the product your customers already use: writing help, auto-tagging, smart search, and agents that handle real work.
proof → AI SEO pipeline, sold for $20K+
for apps that slow down as they grow
Slow queues, fragile jobs and APIs nobody wants to touch. I build and rescue Laravel back ends with clean APIs, background jobs and tests on every push.
proof → WorldFirst · Psytech · Homecoming Photo
class SyncOrders implements ShouldQueue
{
use Dispatchable, Queueable;
public $tries = 3;
public function handle(Shop $shop): void
{
$shop->orders()->pending()
->chunkById(500, fn ($batch) =>
$batch->each->sync());
}
}for marketing teams running many sites
WordPress at a scale most people say it can't handle: one codebase behind many multilingual sites, custom blocks editors can't break, and headless front ends where you need them.
proof → 35 sites for Ant Group · BAUM Consult · Pubity
for data that has to move between systems
Webhooks that drop events, integrations held together with scripts, orders that need syncing in real time. I write the services that keep data moving and tell you when it doesn't.
proof → Just Eat UK · marketplace order automation
app.post('/webhooks/rider', async (req, res) => {
const rider = await validate(req.body);
await queue.add('onboard', rider, {
attempts: 5,
jobId: rider.id, // no duplicates
});
res.status(202).send({ ok: true });
});for stores that should talk to the business
Orders typed into the ERP by hand, stock that's never quite right, checkouts that can't handle your pricing. I connect WooCommerce and Magento stores to SAP, Stripe and marketplaces.
proof → Aalborg Portland: Magento 2 with full SAP integration
09:14 order #48213 → SAP · ok 09:14 stock −3 · SKU AP-CEM-25 · synced 09:15 invoice INV-20931 → Stripe · paid 09:15 nobody typed anything
how we can work together
30+ hours a week inside your team, in your tools and your sprint rhythm.
A WordPress platform, Laravel app or integration, scoped up front and delivered to a date.
One workflow mapped and automated with n8n and AI, so your team gets those hours back.
09trigger · your_project
Thirty minutes, no slides. Tell me what's slowing your team down and I'll tell you honestly if I'm the right fit.