Full-Stack AI Engineer / Web Developer (AI-Assisted Coding)

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

TYPE OF WORK

Any

SALARY

600

HOURS PER WEEK

40

DATE UPDATED

Oct 1, 2026

JOB OVERVIEW

We're a small, fast-moving team building software for a national network of waterproofing and roofing contractors in the US. We run lean on purpose: a handful of people, heavy use of AI, and systems that do the work of a much larger company. We're looking for one strong builder to turn detailed specs into working products, using AI coding tools to move fast without cutting corners.

You'll work directly with the founder, who is based in Bali on the same timezone as the Philippines.

What you'll build

A custom app for HighLevel (GoHighLevel), the CRM our contractors use.
Built with OAuth, custom pages, custom workflow triggers and actions, custom objects and webhooks.
It connects contractors' CRM accounts to our own platform.
It adds a branded inspection report generator, an estimator and proposal builder, and job costing.
A HighLevel template that sets up contractor accounts: pipelines, custom fields, forms, calendars, workflows and message templates.
Our core web platform. A property and job record system with:
a mobile-first, offline-capable field app for technicians (photos, readings, checklists)
warranty registration and a review queue
dealer ordering and a certification portal
an internal admin dashboard
Lead-generation tools. An instant roof and basement estimator widget, data-driven property lists, and integrations with mapping and property-data APIs.

Detailed specs are already written. Your job is to build them well, ask good questions, and tell us when something in a spec won't work.

Our stack

TypeScript, React, Node.js
tRPC, Drizzle ORM, MySQL or Postgres
HighLevel API and Marketplace modules
REST APIs and webhooks
Cloudflare, Vercel or similar hosting
AI coding tools daily: Claude Code, Cursor or similar

You must have

3+ years building and shipping full-stack web apps in TypeScript and React, with live projects you can show us.
Daily, serious use of AI coding tools. You know how to direct them, review their output, catch their mistakes, and keep a codebase clean when AI writes most of the first draft.
Experience integrating third-party APIs: OAuth, webhooks, and working from documentation you've never seen before. HighLevel experience isn't required; we'll expect you to learn its developer platform quickly with the help of AI tools.
Solid backend fundamentals: auth and permissions, database design, API security, and never trusting client input.
Comfort with ownership. You test your own work, write clear updates, and finish things.
Good written English. Most of our communication is async and written.

Nice to have

HighLevel (GoHighLevel) experience: snapshots, workflows, the API, or a Marketplace app
Offline-first mobile web apps (PWA, background sync)
Maps and geospatial work (Mapbox or Google Maps, parcel or building-footprint data)
PDF report generation
Stripe or payment integrations
Experience with construction, field-service or contractor software

How we work

Full time, async-first, with a short daily check-in during PH business hours.
Paid tools: AI coding subscriptions and hosting accounts are covered.
Real responsibility from week one. You won't be maintaining someone else's ticket queue.
Everything you build is owned by the company, and you'll sign an NDA and IP assignment.

How to apply

Send a message with:

Links to 2–3 things you've built, and your role in each.
A time you had to learn an unfamiliar API or platform quickly. How long did it take to ship something working, and how did you use AI tools to get there?
A short description of how you use AI coding tools day to day, and one time an AI tool gave you wrong code and how you caught it.
Your expected monthly salary in PHP.
Start your message with the word "PERMANENCE" so we know you read the whole post.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0150
Total Execution Time  0.0164
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,192 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-AI-Engineer-Web-Developer-AI-Assisted-Coding-1741579
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0086 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1741579
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 878615
 LIMIT 1 
0.0016   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1741579
AND `misc`.`id` IS NULL 
0.0006   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1741579' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1741579 
0.0016   UPDATE employer_jobs SET hit_counts = '***Oct-01-2026=1649***Oct-02-2026=622***Oct-03-2026=400***Oct-04-2026=1' WHERE job_id= '1741579'  
0.0007   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=2668' WHERE job_id= '1741579'  
0.0010   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1741579' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1741579 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '878615'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0003   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)