WordPress + TailwindCSS Front-End Developer

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

TYPE OF WORK

Part Time

SALARY

$500/mo

HOURS PER WEEK

20

DATE UPDATED

Jan 27, 2026

JOB OVERVIEW

We are a small web development agency specialising in custom WordPress websites built with TailwindCSS, thoughtful content architecture, and clean, modern front-end development practices. We work from Figma designs and build bespoke themes — not off-the-shelf templates or page builders.

We are looking for a skilled WordPress developer to join us on a part-time or project-by-project basis, with the opportunity for ongoing, reliable work.

Role Overview

You’ll collaborate with our team to turn Figma designs into high-quality, responsive WordPress websites. Most projects involve:

Custom themes built from scratch
TailwindCSS styling
ACF for custom fields and post types
Light JavaScript (vanilla or AlpineJS)
Occasional custom Gutenberg blocks when appropriate

You will not be responsible for client communication or long-term maintenance tasks.

Responsibilities

Convert Figma designs into custom WordPress themes using TailwindCSS
Create clean, modular WordPress templates and partials
Integrate ACF fields and custom post types for flexible content editing
Implement front-end interactions using vanilla JS or AlpineJS
Build custom Gutenberg blocks when needed
Configure SEO plugins (Yoast or RankMath)
Collaborate via Slack and commit code through GitHub

Required Skills

Strong WordPress theme development background (no page builders)
Fluent with TailwindCSS
Experience working from detailed Figma designs
Solid understanding of ACF (Fields + Custom Post Types)
Comfortable building or modifying Gutenberg blocks
Proficient with vanilla JavaScript and/or AlpineJS
Knowledge of Git and GitHub workflow
Clear communication and willingness to ask questions

Nice-to-Have

Performance and optimization best practices
Accessibility awareness
Familiarity with PHP code structure patterns and reusable layouts

Soft Skills

Detail-focused — cares about spacing, typography, and polish
Reliable — communicates progress rather than disappearing
Proactive — asks for clarification when needed instead of guessing
Positive attitude and collaborative mindset

Working Arrangement

Part-time or project-based
Flexible hours — no timezone requirement
Communication via Slack, with occasional video call check-ins

How to Apply

Please send:

A short introduction and background
3 examples of WordPress themes you developed from scratch (no Elementor/Divi/etc.)
Your expected hourly rate or preferred project pricing
GitHub or code samples (if available)

Screening Questions

Please answer:

Describe your experience building custom WordPress themes (not using page builders).
How comfortable are you working with TailwindCSS day-to-day?
Have you developed custom Gutenberg blocks? Briefly explain your approach.
Which JavaScript tools/frameworks are you comfortable with?
Are you looking for part-time, project-based, or both?

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.0146
Total Execution Time  0.0160
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,506,480 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/WordPress-TailwindCSS-Front-End-Developer-1503527
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0089 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1503527
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 784868
 LIMIT 1 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1503527
AND `misc`.`idIS NULL 
0.0004   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 '1503527' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1503527 
0.0020   UPDATE employer_jobs SET hit_counts '***Oct-31-2025=1***Nov-02-2025=151***Nov-03-2025=106***Nov-04-2025=35***Nov-05-2025=107***Nov-06-2025=80***Nov-07-2025=39***Nov-08-2025=44***Nov-09-2025=16***Nov-10-2025=9***Nov-11-2025=13***Nov-12-2025=8***Nov-13-2025=1***Nov-14-2025=8***Nov-15-2025=7***Nov-16-2025=6***Nov-17-2025=7***Nov-18-2025=4***Nov-19-2025=3***Nov-20-2025=1***Nov-21-2025=2***Nov-22-2025=1***Nov-23-2025=1***Nov-24-2025=3***Nov-25-2025=1***Nov-26-2025=3***Nov-27-2025=4***Nov-29-2025=3***Nov-30-2025=3***Dec-01-2025=1***Dec-02-2025=2***Dec-03-2025=1***Dec-04-2025=2***Dec-05-2025=4***Dec-07-2025=2***Dec-08-2025=4***Dec-09-2025=1***Dec-10-2025=1***Dec-11-2025=2***Dec-12-2025=5***Dec-13-2025=1***Dec-14-2025=1***Dec-15-2025=3***Dec-16-2025=1***Dec-17-2025=1***Dec-19-2025=3***Dec-20-2025=3***Dec-21-2025=1***Dec-22-2025=1***Dec-23-2025=2***Dec-25-2025=4***Dec-30-2025=1***Jan-01-2026=2***Jan-03-2026=2***Jan-05-2026=2***Jan-06-2026=3***Jan-08-2026=9***Jan-09-2026=1***Jan-10-2026=3***Jan-11-2026=3***Jan-12-2026=3***Jan-13-2026=5***Jan-14-2026=2***Jan-15-2026=2***Jan-16-2026=3***Jan-18-2026=1***Jan-19-2026=4***Jan-20-2026=5***Jan-21-2026=1***Jan-22-2026=1***Jan-23-2026=1***Jan-25-2026=3***Jan-26-2026=3***Jan-27-2026=191***Jan-28-2026=103***Jan-29-2026=91***Jan-30-2026=25***Jan-31-2026=13***Feb-01-2026=13***Feb-02-2026=27***Feb-03-2026=19***Feb-04-2026=5***Feb-05-2026=6***Feb-06-2026=8***Feb-07-2026=5***Feb-08-2026=6***Feb-09-2026=9***Feb-10-2026=7***Feb-11-2026=5***Feb-13-2026=6***Feb-14-2026=2***Feb-15-2026=2***Feb-16-2026=1***Feb-17-2026=3***Feb-18-2026=6***Feb-19-2026=5***Feb-22-2026=3***Feb-23-2026=2***Feb-24-2026=1***Feb-25-2026=2***Feb-26-2026=1***Mar-01-2026=2***Mar-02-2026=6***Mar-03-2026=1***Mar-04-2026=1***Mar-05-2026=3***Mar-06-2026=3***Mar-07-2026=3***Mar-08-2026=1***Mar-09-2026=1***Mar-10-2026=2***Mar-12-2026=1***Mar-13-2026=1***Mar-14-2026=1***Mar-15-2026=1***Mar-17-2026=4***Mar-18-2026=1***Mar-19-2026=2***Mar-22-2026=1***Mar-23-2026=2***Mar-24-2026=2***Mar-25-2026=3***Mar-26-2026=4***Mar-27-2026=1***Mar-30-2026=1***Mar-31-2026=2***Apr-03-2026=3***Apr-05-2026=3***Apr-06-2026=1***Apr-07-2026=3***Apr-08-2026=2***Apr-09-2026=2***Apr-10-2026=1***Apr-11-2026=2***Apr-13-2026=1' WHERE job_id'1503527'  
0.0009   UPDATE employer_jobs SET monthly_hits '***Oct-2025=1***Nov-2025=666***Dec-2025=47***Jan-2026=482***Feb-2026=144***Mar-2026=50***Apr-2026=18' WHERE job_id'1503527'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1503527' 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` = 1503527 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '784868'
AND `date_added` >= '2022-06-08' 
0.0002   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)