3D VERANDA CONFIGURATOR

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

TYPE OF WORK

Any

SALARY

5

HOURS PER WEEK

TBD

DATE UPDATED

Apr 24, 2026

JOB OVERVIEW


Senior Three.js / React Developer – 3D Veranda Configurator

---

## ???? Project Description

We are looking for a developer to build an **interactive 3D configurator** for veranda / patio systems.

Reference (target quality):
???? [ ---------- ]( ---------- )

Goal:
Create a user-friendly tool where customers can configure a veranda in real-time and receive an instant price indication and submit an enquiry.

---

## ???? Features

The configurator should support:

### Core

* Freestanding or wall-mounted configuration
* Adjustable width / depth / height
* Color selection (aluminium profiles)

### Structure

* Multiple roof types
* Adjustable roof slope
* Modular system (selectable components)

### Options

* Sliding glass walls
* Side walls (open / glass / closed)
* Sun shading / screens
* LED lighting

### Output

* Real-time price calculation
* Quote request form
* Export (PDF or text)

---

## ???? Technical Requirements

Must-have:

* Strong experience with **Three.js or React Three Fiber**
* Experience working with **GLB / glTF models**
* WebGL performance optimization
* Responsive (desktop & mobile)

Nice-to-have:

* Blender / 3D modeling experience
* Experience building product configurators
* Basic UI/UX understanding

---

## ???? Important (please read)

? Only apply if you have:

* At least 1 **live working 3D configurator** (share links)
* Proven experience with interactive 3D on the web
* Understanding of performance (FPS, rendering, optimization)

? Do NOT apply if:

* You only have screenshots
* Only Unity experience (no web/WebGL)
* No live demo links

---

## ???? Workflow

The project will be split into phases:

### Phase 1

* Basic 3D veranda model
* Adjustable dimensions
* Color switching

### Phase 2

* Add options (glass, roof types, etc.)
* UI improvements

### Phase 3

* Price calculation
* Quote system
* Final polish

---

## ???? Budget

* Starting with a small test phase
* Long-term collaboration possible if successful

---

## ???? Goal

Build a **professional, production-ready configurator** similar to the reference, potentially improved in usability and performance.

---


???? “Can you send 2 LIVE configurators you built?”


-

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0209
Total Execution Time  0.0228
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,509,304 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/3D-VERANDA-CONFIGURATOR-1564448
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0132 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1564448
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 897256
 LIMIT 1 
0.0037   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1564448
AND `misc`.`idIS NULL 
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` = 1564448
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-25',ej.date_added) duration_daysDATEDIFF('2026-07-25',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-07-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1564448' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1564448 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1564448
AND `misc`.`idIS NULL 
0.0007   UPDATE employer_jobs SET hit_counts '***Jan-26-2026=69***Jan-27-2026=99***Jan-28-2026=18***Jan-29-2026=14***Jan-30-2026=3***Jan-31-2026=8***Feb-02-2026=4***Feb-03-2026=4***Feb-04-2026=160***Feb-05-2026=11***Feb-06-2026=5***Feb-07-2026=3***Feb-08-2026=6***Feb-09-2026=9***Feb-11-2026=3***Feb-12-2026=13***Feb-13-2026=6***Feb-14-2026=6***Feb-15-2026=5***Feb-16-2026=3***Feb-17-2026=8***Feb-18-2026=9***Feb-19-2026=7***Feb-20-2026=6***Feb-21-2026=2***Feb-22-2026=4***Feb-23-2026=136***Feb-24-2026=20***Feb-25-2026=12***Feb-26-2026=6***Feb-27-2026=8***Feb-28-2026=2***Mar-01-2026=4***Mar-02-2026=5***Mar-03-2026=6***Mar-04-2026=7***Mar-05-2026=2***Mar-06-2026=3***Mar-07-2026=4***Mar-08-2026=3***Mar-09-2026=3***Mar-10-2026=5***Mar-11-2026=8***Mar-12-2026=6***Mar-13-2026=2***Mar-15-2026=3***Mar-16-2026=4***Mar-17-2026=4***Mar-18-2026=5***Mar-19-2026=5***Mar-20-2026=1***Mar-21-2026=1***Mar-22-2026=3***Mar-23-2026=3***Mar-24-2026=1***Mar-26-2026=232***Mar-27-2026=195***Mar-28-2026=36***Mar-29-2026=31***Mar-30-2026=41***Mar-31-2026=24***Apr-01-2026=336***Apr-02-2026=126***Apr-03-2026=72***Apr-04-2026=37***Apr-05-2026=16***Apr-06-2026=35***Apr-07-2026=468***Apr-08-2026=32***Apr-09-2026=14***Apr-10-2026=14***Apr-11-2026=23***Apr-12-2026=12***Apr-13-2026=12***Apr-14-2026=8***Apr-15-2026=8***Apr-16-2026=6***Apr-17-2026=7***Apr-18-2026=4***Apr-19-2026=8***Apr-20-2026=5***Apr-21-2026=3***Apr-22-2026=3***Apr-23-2026=4***Apr-24-2026=669***Apr-25-2026=21***Apr-26-2026=15***Apr-27-2026=16***Apr-28-2026=18***Apr-29-2026=1***Apr-30-2026=6***May-01-2026=4***May-03-2026=6***May-04-2026=6***May-05-2026=4***May-06-2026=5***May-07-2026=3***May-08-2026=3***May-09-2026=5***May-10-2026=5***May-11-2026=1***May-12-2026=5***May-13-2026=5***May-15-2026=3***May-16-2026=6***May-17-2026=4***May-18-2026=2***May-20-2026=29***May-21-2026=16***May-22-2026=4***May-23-2026=4***May-24-2026=1***May-25-2026=3***May-26-2026=7***May-27-2026=5***May-28-2026=4***May-29-2026=1***May-30-2026=2***May-31-2026=2***Jun-01-2026=8***Jun-02-2026=4***Jun-03-2026=3***Jun-04-2026=1***Jun-05-2026=3***Jun-06-2026=3***Jun-07-2026=4***Jun-08-2026=2***Jun-09-2026=5***Jun-10-2026=6***Jun-11-2026=6***Jun-12-2026=5***Jun-13-2026=3***Jun-14-2026=7***Jun-15-2026=3***Jun-16-2026=2***Jun-17-2026=3***Jun-18-2026=1***Jun-20-2026=1***Jun-21-2026=5***Jun-22-2026=3***Jun-23-2026=2***Jun-25-2026=6***Jun-26-2026=5***Jun-27-2026=2***Jun-28-2026=2***Jun-29-2026=3***Jun-30-2026=1***Jul-01-2026=3***Jul-02-2026=4***Jul-03-2026=5***Jul-04-2026=1***Jul-06-2026=5***Jul-07-2026=1***Jul-08-2026=4***Jul-10-2026=2***Jul-11-2026=2***Jul-12-2026=3***Jul-13-2026=1***Jul-14-2026=2***Jul-15-2026=2***Jul-17-2026=1***Jul-18-2026=1***Jul-25-2026=1' WHERE job_id'1564448'  
0.0005   UPDATE employer_jobs SET monthly_hits '***Jan-2026=211***Feb-2026=458***Mar-2026=647***Apr-2026=1998***May-2026=145***Jun-2026=99***Jul-2026=38' WHERE job_id'1564448'  
0.0016   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1564448' 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` = 1564448 
0.0021   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '897256'
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)