University of Waterloo · Computer Science

Hrutil
Patel.

Graduate Researcher & Software Engineer
Artificial Intelligence · Formal Methods · Distributed Systems

I am an MMath student in Computer Science at the University of Waterloo. My interests lie in intelligent software systems, rigorous approaches to correctness, and the engineering of reliable distributed applications.

Degree: MMath Computer ScienceLocation: Waterloo, CanadaAvailability: Academic collaboration
01 / Introduction

About me

I am a Master of Mathematics (MMath) student in Computer Science at the University of Waterloo, where I work as a Graduate Research Assistant. My academic focus spans artificial intelligence, formal methods, and distributed systems.

My interests are motivated by a central question: how can we build increasingly intelligent and complex software while still having confidence in its behaviour? I am interested in both learning-based approaches and mathematically grounded techniques for understanding system reliability.

Before joining Waterloo, I completed a B.Sc. in Computer Science with a minor in Mathematics at the University of Manitoba. My undergraduate research explored provenance-based security analysis, including graph representations of system activity and machine learning for anomaly detection.

Alongside my academic research, I have gained industry experience in software engineering, working on the design, development, and optimization of real-world software systems. These experiences have strengthened my interest in scalable architectures, distributed systems, and building reliable, efficient software solutions.

02 / Research

Research interests

RESEARCH / 01

Artificial Intelligence

Machine learning and language models offer new ways to interpret information, identify patterns, and assist with complex computational tasks. I am interested in their capabilities, limitations, and responsible use within software systems.

Machine Learning · NLP · LLMs
RESEARCH / 02

Formal Methods

Formal methods provide mathematical techniques to specify and analyze system behaviour. I am interested in verification, automated reasoning, and methods for establishing whether software satisfies important correctness and safety properties.

Verification · Logic · Model Checking
RESEARCH / 03

Distributed Systems

Distributed applications must coordinate multiple components despite concurrency, communication delays, and failures. I am interested in the design, analysis, and reliability of systems that operate across interconnected services.

Concurrency · Reliability · Scalability
03 / Portfolio

Selected work

RESEARCH / UNIVERSITY OF MANITOBA

Provenance-Based Security Analysis

Converted system logs into provenance graphs to study security-relevant behaviour. Applied graph neural networks, Word2Vec, and supervised machine learning to detect anomalous and malicious activity.

GNNs · Word2Vec · Security Analytics
SOFTWARE / SYSTEMS

Scheduling Policy Visualizer

Created an interactive visualization of FIFO, shortest-job-first, and round-robin scheduling. The tool displays execution timelines and waiting times to make operating-system scheduling behaviour easier to understand.

JavaScript · Scheduling Algorithms · Visualization
SOFTWARE / MOBILE

OnMyTrip

Built a transit-oriented mobile application integrating live bus schedules, trip planning, weather updates, QR-code trips, and nearby-stop discovery.

Mobile Development · Transit API · Weather API
HACKATHON / 2ND PLACE

TV Advertisement Break Detection

Improved a television advertisement-break detection system during the Taiv Hackathon, refining Python-based logic to handle difficult test cases more accurately.

Python · Algorithm Optimization · Taiv
HACKATHON / NASA SPACE APPS

Solar Flare & Magnetosphere Visualization

Developed an interactive 3D visualization using Three.js and NASA APIs, combining particle simulation and data sonification to communicate space-weather phenomena.

Three.js · NASA APIs · 3D Graphics
04 / Career

Experience

SEP 2026 – PRESENT

Graduate Research Assistant

University of Waterloo

Conducting graduate research at the intersection of distributed systems and artificial intelligence, including literature review, experimental design, and research prototyping.

MAY – AUG 2026

Distribution Software Engineer Intern

Lotlinx

Engineered reactive advertising-technology services using Java 21 and Eclipse Vert.x. Optimized backend API latency, expanded JUnit test coverage, and supported releases using Docker, Maven, and GitLab CI/CD.

SEP – DEC 2025

Software Developer Co-op

Priceline

Developed and improved APIs providing real-time travel inventory to global partners. Worked with PHP, Ruby, and Rust services, debugging and testing high-traffic systems and contributing to CI/CD releases.

MAY – AUG 2025

Undergraduate Research Assistant · NSERC USRA

University of Manitoba

Investigated security anomaly detection using system provenance graphs, graph neural networks, Word2Vec, and supervised machine learning; helped prepare research findings for publication.

JAN – AUG 2025

Junior Programmer

Public Services and Procurement Canada

Built features for a scientific-equipment sharing platform using Django, React, and PostgreSQL. Supported AWS deployment and automated testing with Pytest.

MAY – DEC 2024

Student Research Assistant

University of Manitoba

Developed machine-learning and natural-language-processing approaches for analyzing system logs in provenance-based security research.

JUN – SEP 2024

Game Developer Intern

YouLearnt

Developed interactive mathematics learning games using HTML, CSS, and JavaScript, including randomized challenges and real-time feedback.

05 / Academic background

Education

SEP 2026 – AUG 2028 (EXPECTED)

Master of Mathematics (MMath), Computer Science

University of Waterloo

Academic focus: Distributed Systems and Artificial Intelligence.

SEP 2021 – AUG 2026

B.Sc. Computer Science · Minor in Mathematics

University of Manitoba

NSERC Undergraduate Student Research Award (2025). Certifications: AWS Solutions Architect and Machine Learning Specialization.

06 / Technical foundation

Technical skills

Programming

Java 21, Python, C/C++, C#, JavaScript, PHP, Ruby, Rust, SQL, HTML/CSS

Frameworks & Data

Eclipse Vert.x, React, Node.js, Django, TensorFlow, Pandas, NumPy, Matplotlib, Three.js

Cloud & Development

AWS, Azure DevOps, Docker, Maven, GitLab CI/CD, Git/GitHub, Postman

Databases & Testing

PostgreSQL, MySQL, SQL Server, SQLite, MongoDB, Neo4j, HSQLDB, JUnit 5, Pytest, Mockito

07 / Contact

Let's connect.

Interested in research collaboration, distributed software systems, or a technical conversation? I would be glad to connect.