Zihao Zhao

Undergraduate Student at Imperial College London

Zihao Zhao avatar

I am an undergraduate student in BEng Computing at Imperial College London. My recent work spans Embodied AI, systems programming, compiler , and full-stack web development.

I am currently building software and robotics projects across research internships and course projects, with interests in practical machine learning systems, robot manipulation, and reliable computing infrastructure.

GitHub HardenZhao123 Zihao Zhao Imperial College London

The ends do not define means, they never do.

Education

Undergraduate

Imperial College London

BEng Computing

Undergraduate Student

Experiences

Jul 2026 - Present Research Intern Peking University
  • Advised by Prof. Hao Dong
Jul 2025 - Oct 2025 Research Intern Shanghai Jiao Tong University
  • Advised by Prof. YongLu Li

Projects

May 2026 - Present WhereToI Web App Group Project Full-stack web application
  • Built a full-stack web prototype for locating and comparing nearby public toilets by distance, access, cleanliness, cost, opening status, and facilities.
  • Implemented an interactive map with geolocation, search, filters, sorting, toilet detail cards, and external directions.
  • Developed authenticated feedback workflows with ratings, comments, profile visibility, access history, and Gemini-assisted comment summaries.
  • Built a Node.js backend with PostgreSQL/SQLite storage, CSV seed import, REST APIs, caching, and optional PaddleOCR/YOLO-based photo analysis.
Jan 2026 - Mar 2026 WACC Compiler Group Project Compiler construction
  • Built a full compiler for the WACC language targeting AArch64 and ARM32 assembly.
  • Designed the compilation pipeline including lexing, parsing, semantic analysis, TAC intermediate representation, and code generation.
  • Added peephole optimisations to remove redundant instructions and improve generated assembly efficiency.
  • Extended the language with function overloading through static type checking and an exception handling mechanism.
Oct 2025 - Dec 2025 PintOS Group Project Operating systems
  • Extended kernel threading with priority scheduling, priority donation, and the BSD scheduler.
  • Implemented system calls, process loading, argument passing, and safe user-kernel memory access for user programs.
  • Built virtual memory support with lazy loading, supplemental page tables, dynamic stack growth, and second-chance frame eviction.
  • Added swap support, shared executable pages, and memory-mapped file management.
Jul 2025 - Aug 2025 YOLO-Based Autonomous Path Planner for Urban Driving Computer vision and planning
  • Developed an autonomous driving pipeline integrating object detection, traffic sign classification, and traffic light recognition.
  • Fine-tuned YOLOv8 on GTSDB for traffic sign detection, YOLOv11 for traffic light detection, and a CNN on GTSRB for sign classification.
  • Designed a rule-based decision module using lane ROIs and field-of-view constraints to classify driving actions as go, caution, or stop.
  • Built interactive Gradio demos on BDD100K-based videos to visualize path planning decisions.
May 2025 - Jun 2025 ARMv8 AArch64 Assembler and Emulator Group Project Computer architecture
  • Built an AArch64 emulator to simulate execution of binary programs on a Raspberry Pi.
  • Built an AArch64 assembler translating A64 assembly source code into executable binary files.
  • Wrote A64 assembly to flash an LED via Raspberry Pi GPIO.
  • Implemented a 7-segment display counter with GPIO input controls, debouncing, and timed digit updates.