Full-Stack AI Engineer (Philippines, Remote)

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

TYPE OF WORK

Full Time

WAGE / SALARY

$2000 USD

HOURS PER WEEK

40

DATE UPDATED

May 21, 2026

JOB OVERVIEW

(JD) is a US-based legal digital marketing agency with a presence in Ireland. We build SEO, GEO, and AI-driven marketing systems exclusively for law firms. We move fast, build for scale, and use Claude Code & Codex as a core part of our development workflow.

We already have automation in place but we need someone who ships constantly. This role is about building apps from day one, making continuous improvements to existing systems, and managing what we've already built while expanding it aggressively. You won't be waiting for specs to land in your lap. You'll be an active builder.

We're also in the process of hiring a Director-level engineering lead. Until that person is in place, you'll work directly with the Founder which means real visibility, real context, and a chance to shape how we build from the ground up.

What You'll Build — Starting Day One

**Juris Internal Software** — We've built internal tools that run company operations using automation and prior developers. We need someone to take ownership, make improvements, and keep building on top of what exists.

**JurisRank** — Multi-tenant SaaS rank tracker (React + TypeScript + Supabase + Tailwind). Geo-grid heatmaps, AI visibility tracking (ChatGPT, Perplexity, Google AIO), white-label architecture. External scan worker on Railway.

**Claude Code Automation Workflows** — MCP-powered agentic pipelines pulling from DataForSEO, Ahrefs, Local Falcon, CallRail, and Google APIs to produce prospect intelligence reports, rank analyses, and sales assets with minimal human input.

**Internal Tooling & Slack Integrations** — Slack-to-output workflows where tea ---------- mbers enter inputs and receive Excel reports, dashboards, or summaries without touching code. You'll own and expand this middleware layer.

**MCP Stack** — We run a significant MCP server ecosystem. You'll build new servers, maintain existing integrations, debug auth failures, and expand our tool ecosystem as new data sources come online.

The expectation is simple: things get built, things get shipped, things get better. Continuously.

---

## Core Requirements

We screen hard on these.

**AI & Claude Code**
- Hands-on Claude Code experience
- MCP server setup & development
- Agentic workflow architecture
- Structured output & prompt engineering
- Multi-step AI pipeline design

**Full-Stack Development**
- React + TypeScript
- Supabase (auth, RLS, edge functions)
- Tailwind CSS + shadcn/ui
- Node.js backend workers
- Python (scripting & agents)

**API Integration**
- REST & GraphQL APIs
- DataForSEO, Ahrefs, CallRail
- Google Search Console & GA4
- Google Ads API
- HubSpot, Slack, Notion APIs

**Google Workspace**
We run almost entirely on Google Workspace. Proficiency here saves significant time.
- Google Drive, Docs, Sheets, Slides, Gmail, Calendar
- Google Search Console, GA4, Ads, and PageSpeed APIs

---

## Strong Advantages

Not required, but will move you to the top of the list:
- n8n or Make automation workflows
- Vercel / Railway / Render deployment
- Zapier integrations
- Local SEO or digital marketing background
- Mapbox GL JS or similar map rendering
- GitHub Actions & CI/CD pipelines
- Recharts or D3 data visualisation
- Stripe / billing integrations
- CLI tool development

---

## Role Logistics

**Location:** Fully remote — Philippines-based candidates only.

**Hours:** Full-time only. We track time through **Hubstaff** — transparency and consistency matter to us.

**Work style:** Async-first via Slack. You own tasks independently and ship without hand-holding. We build assets, not one-off deliverables.

**Reporting:** Directly to the Founder while our Director of Engineering hire is being finalized. You'll have full context on where the product is going and a real seat at the table.

**Compensation & Benefits:**
- Competitive rate commensurate with experience
- **13th month pay** — provided annually
- Fully remote
- Long-term role — we're building a company, not filling a seat. We want someone who grows with us.

---

## This Role Is For You If…

- You want to join early, work closely with a founder, and grow as the engineering team scales
- You're a builder by nature — you find the problem, fix it, and move to the next one
- You're comfortable taking a codebase and making it better without someone holding your hand
- You're excited about AI, SaaS, and building tools that real teams use every day
- You want stability and a clear path to more responsibility as we hire above and around you

---

## How We'll Vet You

1. **Application** — A short note on your Claude Code experience, one project you're proud of, and a link to your GitHub or portfolio
2. **Async Technical Screen** — A short take-home task relevant to our actual stack (expect 2–3 hours)
3. **Video Interview** — With the Founder to talk through your work and assess fit
4. **Paid Trial Project** — A short paid engagement (1–2 weeks) on a real task so we can see how you actually operate
5. **Offer** — Full-time for the right person

We read every application. We don't ghost.

---

## Ready to Apply?

Send us:
- A short note on your Claude Code experience
- One project you're proud of and what your role was in building it
- A link to your GitHub or portfolio

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.1012
Total Execution Time  0.1027
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,534,240 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-AI-Engineer-Philippines-Remote-1624452
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0954 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1624452
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 635373
 LIMIT 1 
0.0761   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1624452
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-22',ej.date_added) duration_daysDATEDIFF('2026-06-22',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-06-22',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1624452' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1624452 
0.0017   UPDATE employer_jobs SET hit_counts '***Apr-15-2026=488***Apr-16-2026=140***Apr-17-2026=58***Apr-18-2026=35***Apr-19-2026=18***Apr-20-2026=45***Apr-21-2026=26***Apr-22-2026=20***Apr-23-2026=8***Apr-24-2026=8***Apr-25-2026=10***Apr-26-2026=7***Apr-27-2026=8***Apr-28-2026=13***Apr-29-2026=7***Apr-30-2026=9***May-01-2026=6***May-02-2026=2***May-03-2026=13***May-04-2026=1***May-05-2026=5***May-06-2026=2***May-07-2026=2***May-08-2026=6***May-09-2026=5***May-10-2026=4***May-11-2026=8***May-12-2026=11***May-13-2026=3***May-14-2026=16***May-15-2026=16***May-16-2026=7***May-17-2026=9***May-18-2026=4***May-19-2026=7***May-20-2026=19***May-21-2026=524***May-22-2026=110***May-23-2026=40***May-24-2026=50***May-25-2026=51***May-26-2026=34***May-27-2026=23***May-28-2026=21***May-29-2026=11***May-30-2026=5***May-31-2026=14***Jun-01-2026=15***Jun-02-2026=19***Jun-03-2026=10***Jun-04-2026=4***Jun-05-2026=9***Jun-06-2026=11***Jun-07-2026=3***Jun-08-2026=5***Jun-09-2026=14***Jun-10-2026=9***Jun-11-2026=9***Jun-12-2026=7***Jun-13-2026=5***Jun-14-2026=6***Jun-15-2026=8***Jun-16-2026=14***Jun-17-2026=9***Jun-18-2026=2***Jun-19-2026=5***Jun-20-2026=5***Jun-22-2026=1' WHERE job_id'1624452'  
0.0015   UPDATE employer_jobs SET monthly_hits '***Apr-2026=899***May-2026=1029***Jun-2026=170' WHERE job_id'1624452'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1624452' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1624452 
0.0112   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '635373'
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)