📄 Download PDF

Pavlo Solodrai

Software Engineer · C/C++ · Python

Vancouver, BC · paul.solodrai@gmail.com · pvlso.com · github.com/pvlso · linkedin.com/in/pavlo-solodrai-38241826b

Summary

Self-taught software engineer who builds things from first principles. Wrote most of a ~47k-line C/C++ game engine and editor (OpenGL renderer, map editor, navigation meshes, computational geometry), recently with Claude Code. Designed and built a golf ball counting machine now in daily production. Now building backend skills in Python.

Technical Skills

  • Languages: C, C++, Python
  • Graphics & platform: OpenGL, GLFW, Win32, X11, SIMD intrinsics, miniaudio
  • Systems: memory arenas and allocators, hot code reloading, binary file formats, profiling
  • Geometry & algorithms: polygon clipping, triangulation, navigation meshes, pathfinding
  • Tools: Git, Claude Code (AI-assisted development), MSVC, Clang, GCC, build scripting (Batch, Bash), Linux, Hugo
  • Other: Arduino, mechanical design, 3D printing

Projects

Kaban Engine — C/C++ game engine and editor · GitHub · 2023 – Present

  • Rebuilt a Handmade Hero-based codebase into my own engine; ~85% of its ~47k lines are now original.
  • Since Oct 2026, develop with Claude Code: I design each system in phases and review and test every change; shipped a 5-phase renderer migration in one day and a 4-phase map editor in two.
  • Migrated the renderer to OpenGL 3.3 core: batching, a pixel-art world, game shaders, normal-mapped lighting.
  • Built a layered tile-map editor with full undo/redo and animated tile sets, plus an asset pipeline that packs everything into the engine’s own binary format.
  • Built navigation mesh generation from map geometry, with obstacle cutting and agent movement.
  • The editor builds games in the background and hot-reloads them on save; runs on Windows and Linux.
  • Building Spellweaver, a top-down 2D RPG, as the engine’s first full game (~5.6k lines so far).

Triangle Subtraction Algorithm — C · GitHub

  • Single-precision triangle–triangle subtraction for cutting obstacles out of navmeshes.
  • Reduced the problem to 20 cases and validated it on billions of randomized inputs.

Clipper-2d — C · GitHub

  • Reimplemented the Clipper2 polygon booleans the engine needed, with C arrays, freelists and SIMD math.

Golf Ball Counting Machine — mechanical design · write-up · 2025 – 2026

  • Pitched the machine to management at Replay Golf Supply, got it funded, and built it outside work hours.
  • v1 used an Arduino and stepper motors; v2 replaced them with mechanical gates and is now in daily production.
  • One operator now does work that took a team: roughly 3–5× more output per person.

Experience

Golf Ball Technician — Replay Golf Supply Inc. · Vancouver, BC · Sep 2024 – Present

  • Sort and grade used golf balls by brand, model and quality in a high-volume operation.
  • Identified manual counting as the bottleneck and built a counting machine for it (see Projects).

Education

Backend Development Path — Boot.dev · Jul 2026 – Present

  • 7 certificates (Python, OOP, functional programming, Git, Linux, 2 projects); 480+ exercises completed.

Self-directed study: Handmade Hero — Casey Muratori · 2022 – 2024

  • Learned C/C++ and low-level engine programming by following the series from scratch.