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 rendering 30,000 particles in real time. Galaxies collide, spiral, and merge under gravity. Uses octree spatial partitioning to keep physics calculations fast and OpenMP to distribute work across CPU cores. Interactive 3D camera, dual galaxy presets, and color modes to visualize velocity and mass differences.

C++ OpenGL GLFW GLM OpenMP CMake

StereoShape

Live Demo

Interactive 3D geometry visualization tool designed for people who struggle with spatial thinking. Provides rotation, scaling, and inspection of 3D shapes from every angle to build intuition. Built with Three.js and TypeScript, with live deployment to GitHub Pages so updates go live automatically. Helps bridge the gap between mathematics and visual understanding.

TypeScript Three.js Vite GitHub Pages GitHub Actions

Photography Weather App

Open Source
Photography Weather App

Desktop app helping nature photographers plan shoots by combining weather forecasts with water level data. Includes 48-hour weather predictions and real-time river conditions for saved locations across Poland. Built on Folium maps for location discovery, Matplotlib for charts, and integrates the Polish Hydro Data project to pull live measurements from 500+ monitoring stations.

Python PyQt5 Matplotlib Folium Requests

Assembly Mandelbrot

Open Source
Assembly Mandelbrot

Mandelbrot set renderer implemented with a mix of C++ and RISC-V assembly, tested on real RISC-V hardware. During studies, I had the opportunity to run this directly on an HiFive P550 board from SiFive, providing hands-on experience with actual low-level hardware optimization. Demonstrates assembly language performance techniques for mathematical computations with CMake cross-platform build configuration.

C++ Assembly RISC-V CMake

Boids

Open Source

Flocking simulation with 10,000+ boids following Craig Reynolds' rules—they separate to avoid crowding, align with neighbors, and move toward their center. Emergent flock behavior appears from simple steering rules. GPU instancing renders thousands of agents smoothly, spatial grid optimization keeps interactions fast, and ImGui controls allow real-time tuning of behavior weights.

C++ OpenGL GLFW ImGui CMake

Collision Simulation

Open Source

Simulation of 1,500+ bouncing spheres colliding elastically with proper physics. Spatial grid partitioning keeps collision detection efficient even with thousands of bodies. Built with NumPy for fast physics calculations and PyOpenGL for GPU rendering. ImGui control panel provides gravity and collision parameter adjustments and velocity-based coloring in real time.

Python OpenGL NumPy ImGui SciPy

Game of Life

Open Source

Conway's Game of Life showing how simple rules create complex patterns. Classic mode with familiar still-lifes and gliders, plus extended "Larger than Life" variant that produces traveling waves and intricate structures. Native Windows rendering with OpenMP parallelism for smooth performance on large grids. Includes pattern library (Gosper Glider Gun, rings) and pattern generation.

C++ WinAPI OpenMP CMake

Polish Hydro Data

Open Source
Polish Hydro Data

Automated data pipeline pulling real-time water levels from 500+ Polish monitoring stations (IMGW API) and storing them on GitHub. Runs on schedule via GitHub Actions—no servers, no costs. Data updates automatically multiple times per hour and stays available as JSON for anyone to use. Used by my Photography Weather App to show photographers current water conditions at shoot locations.

Python GitHub Actions Requests JSON