Loading swarm…

Select a drone to fly · WASD move / QE yaw / RF height · Drag to orbit · Esc exits

Create. Beyond limitations.

Software systems, data analysis, and robotics. Computer Science PhD researcher at Universiti Malaya.

Project in Loop

A closer look at the systems I build, study and help bring together.

  1. Physical systems

    Mechanical engineering taught me to connect a model with the machine in front of me: its tolerances, loads, and failure modes.

    Mechanics · Experiments · Constraints
  2. Working across disciplines

    R&D coordination brought suppliers, design, technical teams, and production into the same conversation. I learned to make requirements clear enough for someone else to act on.

    Requirements · Suppliers · Delivery
  3. Making robots run

    ROS, Linux, Python, and C++ became everyday tools. Setting up simulations and tracing runtime problems brought software into the centre of my work.

    ROS · Simulation · Debugging
  4. CURRENT

    Bringing the pieces together

    My current work at Universiti Malaya brings together UAV autonomy, swarm research, and AI-assisted software development. Each experiment gives me another reason to revisit the system.

    Swarm autonomy · Agentic workflows

Research Interests.

Autonomous systems that can coordinate, adapt, and be tested.

Research question · Distributed autonomy

EASY coordination

How can local decisions produce intelligent swarm behaviour?

I am interested in how UAVs coordinate with limited communication and partial information. My research questions connect distributed decision-making, formation behaviour, and the constraints of local trajectory planning.

Search and rescue robotics scenario
Method · Baselines and simulation

Hypothesis-driven ROS simulation

From a research question to a repeatable experiment.

I use the open-source EGO-Planner implementation as a baseline for my UAV research. ROS, Gazebo, and RViz help me set up scenarios, inspect trajectories, and compare behaviour as I change the assumptions.

Robotics software and Linux debugging setup
Evaluation · Constraints and failure analysis

Real-world constraints and iterative validation

What survives the move from simulation to hardware?

Sensing uncertainty, latency, compute limits, and hardware variation shape the questions I want to test. I use logs and repeatable checks to trace failures and decide what the next experiment should examine.

UAV field testing equipment

How I work with agents.

I define the task. Agents help me build and investigate. The results guide the next decision.

HUMAN DIRECTION

Intent → scope → acceptance

I set the requirements, choose the trade-offs, and review the outcome.

01Frame the work

A task an agent can act on.

I provide the relevant files, constraints, expected behaviour, and a clear stopping point. Independent tasks can run in parallel; shared decisions stay connected.

Requirements → task brief
02Build & investigate

Code, experiments, and a record of changes.

I use coding agents to implement changes, inspect failures, and draft technical notes. Git keeps the changes inspectable so I can review what was actually produced.

Task brief → working change
03Test & decide

The next step comes from the result.

I check the behaviour against the original task, read the test output, and look at the interface or experiment. Findings return to the task brief; an accepted result gets documented for reuse.

Evidence → revision or delivery
Feedback updates the next task
KEPT WITH THE WORK

Versioned code · Test results · Decisions · Handoff notes

Technical Notes.

Another way into the projects: through a setup, a design choice, or an observation from the work.

Get in touch.

I welcome conversations about robotics, software tools, and research. If you have a project in mind, I would be glad to hear about it.