Full-Stack Software Engineer (Product Development)

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

TYPE OF WORK

Part Time

SALARY

12-15hr

HOURS PER WEEK

20

DATE UPDATED

Sep 8, 2026

JOB OVERVIEW

Position summary
LKD Corp is building ChameLeon, a modular enterprise platform for project controls. The first module delivers earned value management and progress reporting, bridging the gap between specialist scheduling tools such as Primavera P6 and the executive-level project health communication that capital project owners actually need. Additional modules will follow and are designed to operate as one integrated system.
We are seeking a full-stack software engineer to work directly with the founder to take product concepts, domain logic, and design direction and turn them into working, production-quality software. The founder brings deep project controls domain expertise and a clear product vision. You bring the engineering judgment and execution to build it properly.
This is a build-it-right role, not a ticket-taking role. You will have significant influence over architecture, tooling, and technical direction.
Key responsibilities
• Translate product concepts and domain logic described in plain language into well-structured, maintainable application code.
• Build and extend both the frontend interface and the backend services and calculation engine.
• Design and maintain the data model, with correct multi-tenant separation so that each client organization’s project data is reliably isolated.
• Move the platform from local development onto managed cloud hosting, including deployment pipeline, environment configuration, and database provisioning.
• Implement authentication, user management, and role-based permissions appropriate for enterprise clients.
• Build and maintain data import capability for Primavera P6 exports and other project controls data sources.
• Maintain clean module boundaries within a modular monolith architecture so additional modules can be added without destabilizing existing ones.
• Establish and uphold practical engineering standards: version control discipline, testing, code review, backups, and documentation.
• Advise on technical trade-offs in plain language so that business decisions can be made with a clear understanding of the consequences.
Required qualifications
• 4+ years building and shipping production web applications end to end.
• Strong proficiency with a modern JavaScript/TypeScript frontend framework (React preferred) and a backend runtime such as Node.js.
• Solid relational database skills, including schema design, migrations, and query performance (PostgreSQL preferred).
• Experience deploying and operating applications on managed cloud platforms.
• Practical experience implementing authentication, authorization, and multi-tenant data isolation.
• Ability to work from verbal and conceptual direction, ask the right clarifying questions, and propose a sound technical approach without a written specification.
• Clear communication with non-engineers, without condescension and without hiding behind jargon.
Preferred qualifications
• Experience building B2B SaaS products, particularly for enterprise or industrial clients.
• Familiarity with data visualization libraries and building analytical dashboards.
• Exposure to construction, engineering, energy, or project management software.
• Experience parsing structured industry data formats (XER, XML, or similar).
• Comfort operating in an early-stage environment with evolving requirements.
What success looks like
In the first 90 days, ChameLeon is running on hosted infrastructure with working sign-in and secure client data separation, and the founder can describe a feature in conversation and see it built correctly without having to specify it in technical terms.
Working relationship
The founder is deeply involved in product direction and understands the problem domain better than any engineer will on day one. The right candidate is someone who treats that domain knowledge as an asset to draw on, pushes back constructively on technical grounds, and takes ownership of engineering quality.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0172
Total Execution Time  0.0191
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,492,240 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Software-Engineer-Product-Development-1726045
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0090 seconds)  (Hide)
0.0005   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0012   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1726045
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 968715
 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` = 1726045
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-09-25',ej.date_added) duration_days, DATEDIFF('2026-09-25',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-09-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1726045' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1726045 
0.0010   UPDATE employer_jobs SET hit_counts = '***Sep-08-2026=576***Sep-09-2026=243***Sep-10-2026=121***Sep-11-2026=118***Sep-12-2026=70***Sep-13-2026=34***Sep-14-2026=34***Sep-15-2026=52***Sep-16-2026=40***Sep-17-2026=56***Sep-18-2026=41***Sep-19-2026=18***Sep-25-2026=1' WHERE job_id= '1726045'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1404' WHERE job_id= '1726045'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1726045' 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` = 1726045 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '968715'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0015   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)