TECHNICAL OPERATIONS LEAD

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$1,500.00 - $2,300.00 per month

HOURS PER WEEK

40

DATE UPDATED

Apr 1, 2026

JOB OVERVIEW

Technical Operations Lead — CastleAgentIQ
Full-time | Remote | CTO-track

About us
CastleAgentIQ is a software business building AI-powered backoffice and operational tools for Castle Horizon Group — a UK holding company operating across housing, care, property, and acquisitions. We have 22 products in the registry: 5 in production, 9 near-complete, and 8 on the drawing board. This is a real product suite, not a concept.

The role
You would be the primary technical resource — owning infrastructure, deployments, and the full development pipeline across the entire product suite. You take product briefs from the founder and turn them into working software.
There's an existing external development team that built much of the current suite. You'll work alongside them during a transition period, absorb their codebase knowledge, and progressively take ownership. Once you've demonstrated full capability, you're the technical leader. This is a CTO-track role for the right person.

How we work — this is important
The founder designs and specifies products using conversational AI tools (primarily Claude). The output is product briefs, architectural decisions, user flows, and data models — sometimes detailed, sometimes rough, always fast-moving.
Your job is to take that and make it real using AI-assisted coding tools (Claude Code, Cursor, Copilot, or whatever comes next). You need to understand the business problem behind what you're building, not just the code. If a spec doesn't make commercial sense, you push back.
You'll also work closely with the Business Controller, who defines what gets measured and reported. You build how. Together you're the core team delivering the platform.

The product suite (highlights)
Horizon — unified command centre aggregating all systems. HIGH PRIORITY.
Aria — AI-powered executive assistant across 8 Gmail accounts. HIGH PRIORITY.
InboxIQ — invoice/receipt management with AI extraction. IN PRODUCTION.
MetrIQ — operational and financial reporting. IN PRODUCTION.
BondIQ — investor portal, 90% complete. HIGH PRIORITY.
ScoutIQ — acquisition deal flow engine. ELEVATED PRIORITY.
Management Portal — operational backbone for all properties. IN PRODUCTION.
Plus 15 more across property sourcing, strategic planning, due diligence, CRM, and care management.

What you'll do
Own all server infrastructure: Linux, DNS, SSL, email, VPN, Cloudflare stack
Build and maintain products: React, Node.js, PostgreSQL/Supabase, REST APIs, OAuth
Implement third-party integrations (QBO API, Google Doc AI, Revolut, Anthropic API)
Collaborate with the Business Controller on reporting and dashboard modules
Leverage AI coding tools as force multipliers — we expect 3–10x productivity
Over time, own the product roadmap execution and evaluate whether to grow the team

What we're looking for
Strong full-stack skills: JavaScript/Node.js, React, PostgreSQL or similar
Solid Linux server administration
Cloud platform experience: Cloudflare (Pages, Workers, KV), Netlify, VPS, Docker
API integration experience: REST, OAuth 2.0, webhooks
Business understanding — you grasp why you're building something, not just how
Ability to work from imperfect briefs — bridge the gap with your own judgment
Already shipping with AI coding tools — non-negotiable
Self-managing, clear communicator, comfortable fully remote

Mindset
Business-aware technologist — genuinely curious about the commercial context
Generalist — you'd rather build the whole thing than specialise in one layer
AI-native — AI coding tools are fundamental to how you work, not a novelty
Ownership mentality — if it's broken at 10pm, you fix it because it's yours
Pragmatic over perfect — ship it, learn, iterate
Ambitious — this is a CTO-track role. We want someone who sees that and runs towards it

Engagement
Full-time remote engagement (5 days per week). Contractor or employment contract depending on location. For the right person, this grows into a CTO-equivalent position with equity or profit-share as AgentIQ matures.

How to Apply
----------
Important: Applications without a Loom video will not be considered. We receive a high volume of applications and this is how we identify serious candidates.

Please submit:
Your CV or LinkedIn profile, plus a link to something you've built (GitHub, live project, portfolio).
A 2-minute Loom video ( ---------- — free to use) where you speak directly to camera and cover:

Introduce yourself — who you are, where you're based, and your technical background
Show or describe something you've built recently and explain the business problem it solved
Tell us how you use AI tools in your actual development workflow — not theory, real usage
Explain what interests you about this role specifically

No cover letter needed. The video tells us everything.
Apply at: ----------

Applications through the OLJ inbox will not be considered — please ONLY apply through the link above.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0179
Total Execution Time  0.0194
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,505,104 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/TECHNICAL-OPERATIONS-LEAD-1615055
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0112 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1615055
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 274080
 LIMIT 1 
0.0012   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1615055
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-13',ej.date_added) duration_daysDATEDIFF('2026-04-13',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-04-13',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1615055' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1615055 
0.0017   UPDATE employer_jobs SET hit_counts '***Apr-01-2026=249***Apr-02-2026=83***Apr-03-2026=64***Apr-04-2026=18***Apr-05-2026=23***Apr-06-2026=20***Apr-07-2026=17***Apr-08-2026=11***Apr-09-2026=7***Apr-10-2026=9***Apr-11-2026=2***Apr-13-2026=1' WHERE job_id'1615055'  
0.0010   UPDATE employer_jobs SET monthly_hits '***Apr-2026=504' WHERE job_id'1615055'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1615055' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1615055 
0.0025   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '274080'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)