PROJECTS / ENGINEERING PRACTICE

Software with a scientific purpose.

Research software and systems work across numerical computing, parallel execution, and C/C++ engineering.

HOW THE WORK CONNECTS

Builds become useful when they leave a trace.

Code, experiments, papers, and documentation make a project easier to inspect, reproduce, and extend.

RESEARCH SOFTWARE MAPBUILD / EVIDENCE
SOLVERBUILDCODEPAPERTESTDOCS
TRACE · IMPLEMENT · VERIFY · SHAREΩ / 04

FEATURED BUILDS / PAPERS

Work with a research trail.

Selected projects connect implementation, documentation, and technical evidence where those records are available.

01 / Scientific ComputingFLAGSHIP

Modernization of a Reactive Compressible Multi-Species Solver

Bringing a legacy Fortran scientific solver into a modular C++17 architecture, separating physics, numerics, and systems layers while preserving numerical fidelity and preparing for exascale execution.

02 / Distributed SystemsREPORT

MPI Trace Compass Causality Analysis

Automated analysis of an MPI token-ring trace in Eclipse Trace Compass: reconstructing execution states, mapping operating-system threads to MPI ranks, and drawing message-causality arrows with EASE scripts.

03 / HPCREPORT

Parallel Systems, Modern C++ & Kokkos

A study report and presentation covering shared-memory threads, MPI, OpenMP, Kokkos performance portability, CUDA, SLURM scheduling, roofline analysis, and energy-aware HPC.

01 / Scientific ComputingFeatured

Modernization of a Reactive Compressible Multi-Species Solver

Bringing a legacy Fortran scientific solver into a modular C++17 architecture, separating physics, numerics, and systems layers while preserving numerical fidelity and preparing for exascale execution.

  • Fortran
  • C++17
  • Julia
  • MPI
  • OpenMP
  • Kokkos
  • HDF5
  • Cantera
  • SLURM
  • CMake / CTest
  • WENO-5
  • TENO
  • Numerical Methods
  • Verification & Validation
  • Performance Engineering
02 / Distributed SystemsFeatured

MPI Trace Compass Causality Analysis

Automated analysis of an MPI token-ring trace in Eclipse Trace Compass: reconstructing execution states, mapping operating-system threads to MPI ranks, and drawing message-causality arrows with EASE scripts.

  • MPI
  • LTTng-UST
  • Trace Compass
  • EASE
  • JavaScript
  • Causality Analysis
03 / HPC

Parallel Systems, Modern C++ & Kokkos

A study report and presentation covering shared-memory threads, MPI, OpenMP, Kokkos performance portability, CUDA, SLURM scheduling, roofline analysis, and energy-aware HPC.

  • Modern C++
  • Kokkos
  • MPI
  • OpenMP
  • CUDA
  • SLURM
  • CMake / CTest
04 / Systems Programming

FT_IRC = Network Server in C++

An RFC-compliant IRC server built with non-blocking TCP sockets and multiplexed I/O handling.

  • C++
  • TCP
  • Non-blocking I/O
  • Multiplexing
05 / Systems Programming

Minishell = POSIX Shell in C

A POSIX shell implementation covering process lifecycle management, parsing, pipes, redirections, and signal handling.

  • C
  • POSIX
  • Processes
  • Signals
  • Pipes
06 / Systems Programming

Philosophers = Concurrent Resource Sharing

A multithreading and synchronization exercise in C focused on mutexes, deadlock avoidance, and race-free resource sharing.

  • C
  • Threads
  • Mutexes
  • Synchronization
07 / Systems Programming

Cub3D = Software Raycasting Engine

A 3D graphics project with a per-pixel software rendering loop and texture mapping.

  • C
  • Raycasting
  • Software Rendering
  • Textures
08 / Systems Programming

fract2L = Fractal Generator

Generates beautiful fractals from the complex numbers of an iterative mathematical construct. A fractal is a fragmented geometrical figure that infinitely repeats itself at smaller scales. Built with the MiniLibX graphical library.

  • C
  • MiniLibX
  • Fractals
  • Mathematics
  • Graphics
09 / Systems Programming

Push_swap = Sorting Under Constraints

An algorithmic sorting project focused on operation-stack constraints and complexity analysis.

  • C
  • Algorithms
  • Sorting
  • Complexity Analysis
10 / Distributed Systems

Transcendence = Real-Time 3D Game

A real-time 3D game project with tournament logic, WebSockets, and Docker Compose.

  • TypeScript
  • Three.js
  • WebSockets
  • Docker Compose
11 / Distributed Systems

Smart Agriculture Monitoring

A distributed IoT pipeline for real-time environmental monitoring using Kafka and REST APIs.

  • Kafka
  • REST APIs
  • Distributed Systems
  • IoT

Areas of engineering experience

Technical areas I have worked with. Individual project write-ups will be added as they are documented.

Systems programming

C / C++ · POSIX · Network programming

Parallel & distributed systems

MPI · Kokkos · OpenMP · Docker

Scientific software

Numerical software · Solver modernization · HDF5