All Projects
Explore a complete collection of my work and projects.

Task Scheduling on Multi-Processor Architectures using Machine Learning
This research project investigates whether machine learning models can learn efficient scheduling policies for Directed Acyclic Graph (DAG) task scheduling problems. I designed and implemented a complete simulation framework capable of generating graph-based workloads and evaluating scheduling strategies across different processor architectures. The study compares traditional heuristic schedulers with learned policies based on Multi-Layer Perceptrons (MLP) and Graph Neural Networks (GNN). A strong focus was placed on structural generalization, evaluating how well trained models perform on unseen graph topologies and architectures. Extensive experiments were conducted to analyze performance, convergence, failure modes, and the influence of graph structures on scheduling quality.
Click to learn more

Numerical and Analytical Study of 1D Wave Propagation
This project explores the propagation of gravity waves through numerical simulation and analytical modeling. Implemented in Fortran, the simulator solves the governing differential equations using finite difference methods while respecting CFL stability constraints. Numerical solutions were compared against analytical models to validate correctness and study convergence properties. The work involved error analysis, stability evaluation, discretization studies, and visualization of wave dynamics over time. This project strengthened my understanding of numerical methods, scientific computing, and large-scale simulation systems.
Click to learn more

Chess Graph Neural Network using deep reinforcement learning
This research project investigates the application of Graph Neural Networks (GNNs) and deep reinforcement learning techniques to develop a chess-playing AI. The project involves designing a GNN architecture capable of representing chess positions as graphs, where nodes correspond to pieces and edges represent potential moves. The model is trained using reinforcement learning algorithms to optimize decision-making and improve gameplay performance. The study includes extensive experimentation, evaluation against traditional chess engines, and analysis of the model's ability to generalize across different game scenarios.
Click to learn more

Networked First-Person Shooter
Developed the client-side architecture of a multiplayer first-person shooter using C++ and RayLib. The project includes a complete Entity Component System (ECS), real-time network synchronization, interpolation systems, matchmaking interfaces, authentication, score tracking, player statistics, and HUD management. Special attention was given to responsiveness under network constraints, modular architecture, and maintainability. The project demonstrates strong software engineering practices, low-level programming skills, networking expertise, and experience building complex real-time systems.
Click to learn more

Satellite Orbital Simulation
This project simulates the physics of satellites orbiting celestial bodies using Newtonian mechanics. The simulator models gravitational acceleration, orbital velocity, orbital insertion phases, and trajectory corrections in real time. Multiple orbital transfer strategies, including Hohmann and bi-elliptic transfers, can be visualized and compared. The project combines physics modeling, numerical computation, and graphical visualization to provide an intuitive understanding of orbital mechanics.
Click to learn more