Experience
Predicting & Explaining Drug Toxicity with Graph Neural Networks – UROP Research Intern – Royal Holloway, University of London
July 2025 – September 2025
Working on a 6-week Undergraduate Research Opportunity Programme (UROP) project under the supervision of Dr. David Jaime Tena Cucala, focusing on drug toxicity prediction and explainability in machine learning. The project involved implementing a monotonic Graph Neural Network (GNN) for classifying toxic drug compounds, and extracting interpretable logic rules using Datalog. I gained deep exposure to ML theory, neurosymbolic AI, and scientific computing, alongside technical implementation using Python, PyTorch Geometric, and logic programming frameworks.
Projects
TrackMyTube – Live TfL Updates PWA (View Website)
A Progressive Web App delivering real-time London Underground service updates across over 500 stations. I designed and implemented the entire frontend in vanilla JavaScript, integrating multiple asynchronous TfL APIs for data consistency. A responsive UI was developed using CSS Grid and Flexbox, supported by a Service Worker and cache-first strategy to reduce server load. The app includes installation support through a Web Manifest and dynamically refreshes data every minute, ensuring up-to-date travel information on all devices.
Restaurant Management System (ARMS)
Engineered a full-stack restaurant management platform with Java, Spring Boot, SQL, and a modern React frontend built with Vite. The system handles orders, menu changes, staff schedules, and table reservations. I led the backend API design and database structure, ensuring RESTful consistency and transactional integrity. The frontend UI provides a responsive, dashboard-like experience optimised for tablet use in real service environments.
LeetPaint – Paint Tool for LeetCode (Browser Extension) (View on Chrome Web Store)
Developed a Chrome extension enabling users to draw diagrams directly on LeetCode problem pages via the HTML5 Canvas API. The interface was kept lightweight and intuitive, with properties tested using Jest to ensure consistent behaviour. The extension improves problem-solving workflow for visual learners by offering an integrated sketchpad without leaving the site.
Hell’s Park – 2D Platformer Game (View on GitHub)
A Python-based 2D platformer designed with custom vector mathematics for realistic physics and collision handling. I contributed to physics design and stability debugging, significantly reducing crash rates and increasing performance. Pytest was used extensively to ensure reliability, and the game ran smoothly on various systems with consistent frame rates and minimal lag.
Student Grade Management System
Built using Java and Maven, this tool allows university departments to manage student records efficiently. It provides modules for assignment tracking, grade entry, and analytics. Developed using Test-Driven Development with JUnit 5 and integrated into a continuous integration pipeline, it enhances productivity by reducing manual testing time. The system was well-documented with Javadoc and enforced code quality using static analysis tools.