Full-Stack Developer & Automation Engineer (Next.js, Supabase, Web Scraping & AI APIs)

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

TYPE OF WORK

Full Time

SALARY

$375-$475 Per month

HOURS PER WEEK

40

DATE UPDATED

Aug 28, 2026

JOB OVERVIEW

We are launching a highly automated, global city event discovery platform. The platform relies entirely on programmatic data pipelines—scraping events from high-authority, premium sources (museums, galleries, established ticket hubs), using LLM APIs to automatically categorize, tag, and score them, and rendering them on a custom, ultra-fast color-coded visual interface.

We are looking for a highly capable, autonomous Full-Stack Developer & Automation Engineer to build, launch, optimize, and maintain this system. You will be the sole technical engine behind this platform, working directly with the founder to scale it from London across Europe and the USA.

Core Responsibilities:

1. Build & Maintain Scrapers: Design robust, automated scraping pipelines using Node.js, Puppeteer, or Playwright to ingest event listings from designated Tier-1 websites and APIs.

2. AI Pipeline Integration: Connect scrapers to the Gemini API (Flash/Haiku) to clean raw text, extract parameters, assign primary color categories based on strict priority logic, generate short summaries, and produce confidence scores.

3. Develop Frontend UI: Build and maintain an ultra-fast, mobile-first, interactive visual calendar grid using Next.js (React) and Tailwind CSS.

4. Programmatic SEO Optimization: Set up dynamic routing structures and ensure perfect, automated implementation of structured JSON-LD Event Schema on every listing page.

5. Database & Backend Architecture: Manage the PostgreSQL/Supabase database, configure automated cron jobs for data synchronization, and build a secure backend admin dashboard for anomaly verification.

6. Proactive System Monitoring: Monitor system health logs. If a source site changes its HTML structure and a scraper breaks, you must diagnose, patch, and rerun the pipeline autonomously.

Technical Requirements:

1. Frontend: Expert-level Next.js (React), TypeScript, Tailwind CSS. Highly focused on web performance and Core Web Vitals.

2. Backend & DB: Proficient with Node.js, PostgreSQL, and Supabase (including Edge Functions and cron triggers).

3. Data Ingestion: Confident writing script scrapers that successfully handle dynamic, JavaScript-heavy sites (Playwright/Puppeteer) and bypass basic security blocks.

4. AI Frameworks: Hands-on experience working with LLM APIs, handling structured JSON outputs, prompt engineering, and optimizing token consumption costs.

5. SEO: Strong understanding of technical SEO principles, programmatic page generation, and structured microdata ( ---------- ).

Soft Skills:

1. High Autonomy: Ability to take a conceptual workflow layout and build out the system infrastructure with minimal daily supervision.

2. Systems Thinker: You prefer fixing a prompt's underlying instruction logic over manually editing a single broken database entry.Excellent

3. English Communication: Clear documentation skills for codebases, system diagrams, and logging errors.

HOW TO APPLY (Mandatory Screening Questions):

Applications that do not explicitly answer the following 3 questions in their cover letter will be archived automatically without review.

1. In 2–3 sentences, explain your preferred approach for configuring a Node.js script to pass raw scraped text to the Gemini Flash API and guarantee it safely returns a structured JSON object every time.

2. What is your experience with Programmatic SEO, and how do you handle dynamic JSON-LD Event Schema generation inside a Next.js App Router environment?

3. Briefly describe the most complex automated web scraping project you have built. What tools did you use, and how did you handle dynamic content or structure changes on the target site?

Provide links to previous work, resume, and portfolio.

Thanks

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0013
Controller Execution Time ( Jobseekers / Job )  0.0234
Total Execution Time  0.0256
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,515,488 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-Automation-Engineer-Nextjs-Supabase-Web-Scraping-AI-APIs-1719059
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0151 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0005   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1719059
 LIMIT 1 
0.0012   SELECT *
FROM `employers`
WHERE `employer_id` = 593510
 LIMIT 1 
0.0005   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1719059
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-02',ej.date_added) duration_daysDATEDIFF('2026-09-02',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-09-02',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1719059' 
0.0005   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1719059 
0.0014   UPDATE employer_jobs SET hit_counts '***Aug-28-2026=384***Aug-29-2026=307***Aug-30-2026=33***Sep-02-2026=1' WHERE job_id'1719059'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Aug-2026=724***Sep-2026=1' WHERE job_id'1719059'  
0.0004   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1719059' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1719059 
0.0075   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '593510'
AND `date_added` >= '2022-06-08' 
0.0005   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)