Research Engineer (Digital Twin Platform & Software Architecture)

National University of Singapore

SGonsitePosted Jun 18, 2026
Posting intelligenceActively listed

Skills

nodepythonreactvuejavascript

About the role

Job Description

.buttontext66fe6e883305b6d6 a{ border: 1px solid transparent; } .buttontext66fe6e883305b6d6 a: focus{ border: 1px dashed #ef7c00 !important; outline: none !important; }

#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-

.buttontexta1b2bddaf8a85a2b a{ border: 1px solid transparent; } .buttontexta1b2bddaf8a85a2b a: focus{ border: 1px dashed #ef7c00 !important; outline: none !important; }

Research Engineer (Digital Twin Platform & Software Architecture)

University-Level Unit:

College of Design and Engineering

Faculty/Department-Level Unit:

Civil and Environmental Engineering

Employee Category:

Research Staff

Location:

Kent Ridge Campus

Posted On:

05/05/2026

: root{ -nus-blue: #003D7C; / NUS Blue (requested) / -nus-orange: #EF7C00;/ NUS Orange (requested) / -text: #000; -shadow: rgba(0,0,0,0.1); } .nus-custom-job-box { font-family: 'Roboto', sans-serif; border: 1px solid var(-nus-blue); border-radius: 12px; background: #ffffff; padding: 12px 12px 16px; margin: 0 0 32px 0; box-shadow: 0 4px 12px var(-shadow); transition: max-height 0.4s ease, padding 0.3s ease; overflow: hidden; / Stretch to container width (remove right gap beside Apply area) / width: 100%; max-width: 100%; box-sizing: border-box; } / Extra inner spacing so title doesn't hug the border / .nus-custom-job-box .box-inner { padding: 16px 24px 8px; / was 0 24px; add top/bottom space / } .nus-custom-job-box.is-d { max-height: 160px; padding-top: 8px; padding-bottom: 12px; } .nus-custom-job-box: not(.is-d) { max-height: none; } .nus-custom-job-box .box-header { display: flex; align-items: center; cursor: pointer; padding: 0; position: relative; } #main-job-title-heading { font-family: 'Roboto', sans-serif; font-size: 22pt; font-weight: 700; color: var(-nus-blue); margin: 0 !important; padding: 0 !important; line-height: 1.25; text-align: left !important; overflow-wrap: break-word; hyphens: auto; } #main-job-title-heading::before, #main-job-title-heading::marker { content: none !important; } .collapsible-content { transition: max-height 0.4s ease, opacity 0.35s ease 0.1s; opacity: 1; } .nus-custom-job-box.is-d .collapsible-content { max-height: 0; opacity: 0; overflow: hidden; } / Desktop/tablet grid / .overview-rows { display: grid !important; grid-template-columns: minmax(180px, 36%) 1fr; gap: 14px 24px; align-items: start; margin-top: 16px; text-align: left; } .overview-row { display: contents; } .overview-row .label { font-size: 11pt; font-weight: 700; color: var(-nus-blue); / keep labels in NUS Blue / white-space: normal; text-align: left; padding-right: 12px; line-height: 1.3; } .overview-row .value { font-size: 11pt; font-weight: 400; color: var(-text); text-align: left; line-height: 1.3; overflow-wrap: break-word; } .overview-row strong { font-weight: 700; } .box-footer { display: flex; justify-content: center; align-items: center; margin-top: 14px; padding-top: 8px; } / Keep the toggle in blue to align with text; if you prefer orange, change to var(-nus-orange) / .toggle-btn { background: none; border: none; font-family: 'Roboto', sans-serif; color: var(-nus-blue); font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; } / Responsive adjustments / @media (max-width: 1024px) { / Previously there was a right margin; keep width full on tablet too / .nus-custom-job-box { margin-right: 0; } } / MOBILE FIX: keep two columns and prevent label wrapping vertically / @media (max-width: 768px) { .nus-custom-job-box { margin-right: 0; } .overview-rows { grid-template-columns: minmax(140px, 44%) 1fr; gap: 10px 14px; } .overview-row .label { font-size: 10.5pt; padding-right: 10px; line-height: 1.25; } .overview-row .value { font-size: 10.5pt; line-height: 1.25; } #main-job-title-heading { font-size: 18pt; line-height: 1.25; } } / Very small devices / @media (max-width: 360px) { .overview-rows { grid-template-columns: minmax(128px, 46%) 1fr; gap: 8px 12px; } #main-job-title-heading { font-size: 17pt; } .overview-row .label, .overview-row .value { font-size: 10pt; } } / Turn key action buttons (e.g., ) to NUS Orange. SuccessFactors skins vary, so we target a set of common selectors. Adjust or add site-specific classes as needed. / / Buttons that look like primary actions / .sfbutton, .sf-button, .btn, .button, .rcmjobdetail-apply, .rcmjobdetail-apply button, button[id="apply"], a[id="apply"], .btn-apply, .rcmApplyButton, .rcmApplyBtn, input[type="submit"], input[type="button"].primary, button.primary, a.button.primary { background: var(-nus-orange) !important; border: 1px solid var(-nus-orange) !important; color: #fff !important; filter: none !important; opacity: 1 !important; } ..sfbutton: focus, .sf-button: focus, .btn: focus, .button: focus, .rcmjobdetail-apply button: focus, button[id="apply"]: focus, a[id="apply"]: focus, .btn-apply: focus, .rcmApplyButton: focus, .rcmApplyBtn: focus, input[type="submit"]: focus, input[type="button"].primary: focus, button.primary: focus, a.button.primary: focus { outline: 3px solid rgba(239,124,0,0.35) !important; outline-offset: 2px; }

Job Title: Research Engineer (Digital Twin Platform & Software Architecture) University-Level Unit: College of Design and Engineering Faculty/Department-Level Unit: Civil and Environmental Engineering Employee Category: Research Staff Location_ONB: Kent Ridge Campus Posting Start Date: 05/05/2026

Job Description

NUS is hiring a Research Engineer to architect and develop a centralized Digital Twin Platform (DTP) for a fleet of construction robots. As the lead for Track 2 at NUS, he/she will be required to build the software bridge that connects real-time on-site physical data with digital models, enabling advanced progress tracking and automated task visualization. He/she will need to collaborate closely with the Advanced Remanufacturing and Technology Centre (ARTC) to integrate our DTP with their Robot Management Framework (RMF).

Key Responsibilities:

Develop a comprehensive Digital Twin Platform capable of processing point clouds and video analytics for real-time site reconstruction.

Implement algorithms for As-built vs. As-designed comparison to autonomously track construction progress against BIM models.

Design and deploy a scalable backend architecture and an interactive 3D frontend visualization dashboard for the DTP and RMF.

Ensure seamless API integration and data pipeline synchronization with external fleet management frameworks (including PM hoist systems and dynamic scheduling engines).

Lead the software engineering lifecycle of the digital platform, from tabletop prototype to full field deployment.

Job Requirements

Possess at least a bachelor’s degree in computer science, Information Systems, Engineering, or a related field.

Strong full-stack development skills (e.g., Node.js, React/Vue, Python backend frameworks).

Proficiency in 3D rendering and game engine technologies (e.g., Unity, Unreal Engine, WebGL, Three.js) for digital twin visualization.

Familiarity with BIM standards (IFC, Revit) and spatial databases is a strong plus.

Excellent software architecture design capabilities and experience with cloud/edge computing deployment.

Good written and spoken communication skills.

Open to fixed term contract.

Req ID: 32750

#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-

.buttontextfb6029f8ab31c33c a{ border: 1px solid transparent; } .buttontextfb6029f8ab31c33c a: focus{ border: 1px dashed #ef7c00 !important; outline: none !important; }

Questions about this role

Click "Apply with AI Applyd" above. We auto-fill the application from your resume and answer screening questions in seconds. No copy and paste, no juggling tabs.

Compensation for Research Engineer roles in Singapore varies widely by seniority, employer size, and remote vs onsite arrangement. Check the salary range on this listing when published, or browse our Research Engineer hub for Singapore medians across recent openings.

Most applications complete in under 90 seconds. You can track the status in your dashboard and watch the screenshot proof land the moment the application submits.

AI Applyd supports Greenhouse, Lever, Ashby, Workday, iCIMS, SmartRecruiters, Personio, Teamtailor and other major ATS platforms. If we can submit through the platform, we do.

Want AI Applyd to auto-apply to roles like this?

We tailor your resume per posting, fill the forms, and track replies for you.