Skip to content

Adam Cofała

Computer Science Student | Simulation Enthusiast

I build physics simulations and interactive visualizations with a focus on real-time performance, implementing spatial partitioning and optimization techniques to handle complex systems efficiently. I enjoy combining strong mathematical foundations with practical engineering to create reliable applications.

N-body Simulation

Open Source

Gravitational N-body simulation using the Barnes-Hut algorithm with octree spatial partitioning and OpenMP parallelism. Renders thousands of particles interacting under gravity in real time via OpenGL, with an ImGui overlay for live parameter tweaking.

C++ OpenGL GLFW GLM ImGui OpenMP CMake

StereoShape

Live Demo

Interactive 3D geometry explorer built with Three.js and TypeScript. Lets you rotate, scale, and inspect parametric shapes in the browser with a dat.GUI control panel. Deployed to GitHub Pages via automated CI.

TypeScript Three.js Vite dat.GUI GitHub Pages GitHub Actions

Photography Weather App

Open Source
Photography Weather App

PyQt5 desktop app for nature photographers to track weather conditions and river/lake water levels at favourite shooting locations across Poland. Features interactive Folium maps, Matplotlib time-series charts, and live data fetched from public APIs.

Python PyQt5 Matplotlib Folium Requests

Boids

Open Source

High-performance 2D flocking simulation implementing Craig Reynolds' separation, alignment, and cohesion rules. Renders thousands of agents in real time with OpenGL and exposes an ImGui panel to tune steering weights and visual settings on the fly.

C++ OpenGL GLFW ImGui CMake

Collision Simulation

Open Source

Interactive elastic-collision physics simulation of spherical bodies in 2D. Uses a quadtree and spatial-grid hybrid for broad-phase collision detection. Implemented in Python with NumPy for vectorised physics and PyOpenGL for rendering.

Python OpenGL NumPy SciPy

Game of Life

Open Source

Conway's Game of Life with the classic ruleset and an extended "Larger than Life" variant supporting configurable neighbourhood radii. Written in C++ with Win32/WinAPI rendering for a dependency-free native build.

C++ WinAPI OpenGL CMake

Polish Hydro Data

Open Source
Polish Hydro Data

Automated data pipeline that periodically fetches hydrological measurements from the IMGW API and commits them as per-station JSON files to the repository. Runs entirely on GitHub Actions for hands-free, scheduled collection with zero infrastructure.

Python GitHub Actions Requests JSON