Research Assistant, School of Computing

National University of Singapore

SGonsitePosted Jun 17, 2026
Posting intelligenceActively listedReposted 2×, possible evergreen/ghost posting

Skills

javascriptfigmareactvuecssllm

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 Assistant, School of Computing

: 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 Assistant, School of Computing

University-Level Unit: School of Computing

Faculty/Department-Level Unit: Department of Computer Science

Employee Category: Research Staff

Location_ONB: Kent Ridge Campus

Posting Start Date: 17/06/2026

Job Description

The National University of Singapore invites applications for the position of Research Assistant in the Department of Computer Science, School of Computing (SoC). SoC is strongly committed to research excellence in all its dimensions: Searching for fundamental results and insights, developing novel computational solutions to a wide range of applications, building large-scale experimental systems and improving the well-being of society. We seek to play an active role both internationally and locally in the core and emerging areas of Computer Science and Information Systems.

SoC is seeking a UX/UI designer for a cybersecurity research project that is building an AI-driven, explainable Identity and Access Management (IAM) framework, delivered through a lightweight on-premise appliance (the "AI Box"). The project spans interpretable anomaly detection, an LLM-based analyst copilot, and edge deployment, and the successful candidate will own the user experience that makes these capabilities usable by practising security analysts.

Key Responsibilities:

Design and implement the analyst console and dashboards for anomaly triage, including alert queues, feature-level attribution views, and telemetry monitoring panels.

Design the conversational interface for the LLM-based analyst copilot, including citation-backed explanations, model comparison views, and what-if scenario exploration, with graceful behaviour in offline/edge settings.

Own the end-to-end product experience of the AI Box appliance: setup and onboarding flows, system status views, and an offline-first design language.

Plan and conduct usability testing with practising security analysts at the project's industry partner, and translate findings into design iterations.

Establish a consistent design system across the project and produce polished interactive demos for funder reviews and industry engagements.

Only shortlisted candidates will be notified.

Job Requirements

A Bachelor’s degree in design, human-computer interaction, computing, or a related field.

A strong portfolio demonstrating UX/UI work (required).

Proficiency in Figma or equivalent design tools, and front-end implementation skills (HTML/CSS/JavaScript with React or Vue).

Experience designing data-dense interfaces; familiarity with visual analytics libraries (D3, ECharts, Recharts) is an advantage.

Experience with enterprise, security, or developer tools, or with LLM/chat-based interfaces, is a plus.

More Information

Location: Kent Ridge Campus

Organization: School of Computing

Department : Department of Computer Science

Employee Referral Eligible: No

Job requisition ID : 33380

Req ID: 33380

#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 Teacher 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 Teacher 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.