Senior Full-Stack Developer ( Supabase+ Squarespace )

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

TYPE OF WORK

Any

SALARY

$8-10/hour

HOURS PER WEEK

TBD

DATE UPDATED

Oct 23, 2026

JOB OVERVIEW

Job Type: Contract / Freelance / Project-Based
Location: Remote
Project Scope: Custom Web Application Integration

Role Summary
We are seeking a Senior Full-Stack Developer with strong backend architecture and front-end custom integration experience to build and secure a web-based marketplace integrated into an existing Squarespace website using Supabase (PostgreSQL, Auth, and Storage).
The primary objective is to implement a fast, responsive, and highly secure authenticated experience where signed-in members can query specific datasets, manage user-specific actions, and access gated content through conditional workflows.

Key Responsibilities
Database & Security Architecture: Set up, optimize, and manage Supabase database tables, relational schemas, storage buckets, and strict Row Level Security (RLS) policies to ensure unauthorized users cannot access or query protected platform data.
Authentication & Session Management: Build a robust, smooth client-side authentication flow (sign-up, login, password reset, session persistence, and protected page redirects) without landing in redirect loops or causing site latency.
Custom Front-End Integration: Develop custom JavaScript, HTML, and CSS modules (injected cleanly into Squarespace Code Blocks and Page Injections) to support:
Dynamic, multi-variable data filtering and rendering.
Interactive UI components (e.g., customized content cards, lightboxes, and detail views).
Conditional user flows and access-gated prompts before revealing sensitive data.
Session-specific data states (e.g., allowing users to save or bookmark specific items).
Code Management & Quality: Maintain clear version control via GitHub, ensuring custom injection scripts are versioned, documented, and properly scoped to avoid conflicting with Squarespace’s native styles or negatively impacting SEO.

Required Technical Qualifications
Supabase Expertise: Demonstrable experience with Supabase, PostgreSQL, state management (onAuthStateChange), and writing airtight Row Level Security (RLS) rules.
JavaScript / Front-End: Mastery of vanilla JavaScript (ES6+), DOM manipulation, asynchronous operations (async/await, Fetch API), and clean modular coding practices.
Squarespace Platform Knowledge: Hands-on experience extending Squarespace functionality via page-level injection, custom CSS, and code blocks without breaking native responsiveness or site speed.
Security & Auth Fundamentals: Solid understanding of client-side vs. server-side security, JWT handling, and avoiding common front-end vulnerabilities when exposing public API keys.
Version Control: Proficiency with Git and GitHub repository workflows.

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.0119
Total Execution Time  0.0138
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,464 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Full-Stack-Developer-Supabase-Squarespace-1755232
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0052 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1755232
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 963113
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1755232
AND `misc`.`id` IS NULL 
0.0004   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-26',ej.date_added) duration_days, DATEDIFF('2026-10-26',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-26',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1755232' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1755232 
0.0007   UPDATE employer_jobs SET hit_counts = '***Oct-23-2026=708***Oct-24-2026=234***Oct-25-2026=31***Oct-26-2026=4' WHERE job_id= '1755232'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=977' WHERE job_id= '1755232'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1755232' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1755232 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '963113'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)