Bohdan Horpynchuk, Developer in Kraków, Poland
Bohdan is available for hire
Hire Bohdan

Bohdan Horpynchuk

Verified Expert  in Engineering

Web Developer

Kraków, Poland

Toptal member since August 22, 2018

Bio

Bohdan has more than twelve years of development experience, working with in-house teams and agencies and as a freelance. He has also contributed to open-source software. Bohdan enjoys working on complex projects that combine 3D graphics and networking, such as online browser games, 3D tools, GIS projects, and more.

Portfolio

Landor & Fitch / DELL
JavaScript, WebGL, Three.js, React, WebSockets
Maptive
WebGL, Three.js, Google Maps
NWG studios
WebGL, Three.js, WebRTC, Node.js, TypeScript, Kubernetes

Experience

  • JavaScript - 14 years
  • Node.js - 13 years
  • WebSockets - 11 years
  • Three.js - 11 years
  • WebGL - 11 years
  • TypeScript - 8 years
  • React - 6 years
  • Angular - 4 years

Availability

Part-time

Preferred Environment

SourceTree, Git, Visual Studio Code (VS Code), MacOS

The most amazing...

... things I've created are a multiplayer battle-royale browser 3D game, reKILL at rekill.io, and reDEAD prototype at youtu.be/NbJhlrFMQPM.

Work Experience

Lead Rendering Engineer

2020 - 2021
Landor & Fitch / DELL
  • Designed the architecture for the graphics part of enterprise virtual DELL event for presenting their devices.
  • Created and designed UI and networking for event chat based on WebSockets, React, Node.js, and managed multiple chat servers with Kubernetes.
  • Merged 2d UI into a 3d experience and made the navigation system between rooms easy to use.
Technologies: JavaScript, WebGL, Three.js, React, WebSockets

Lead Rendering Engineer

2020 - 2021
Maptive
  • Developed a library to visualize a large number of various items like markers, piecharts, polygons, and lots more on top of Google Maps.
  • Performed a lot of optimizations to support a large number of items on the map that could go up to several hundred thousand.
  • Built a library that has its own list of examples, docs, and automated tests.
Technologies: WebGL, Three.js, Google Maps

Lead Developer

2019 - 2021
NWG studios
  • Developed one of the most available complex graphics in-browser games with the support of a large number of details and good quality combined with low hardware requirements.
  • Built a WebRTC networking client-server that enables the use of UDP protocol and provides the lowest ping, which is much better than TCP WebSockets.
  • Constructed an authoritative server architecture and built networking from scratch without any framework or tools.
  • Made use of a map creating tool to design game maps quite fast.
  • Implemented component-based architecture in TS to provide flexible objects feature combination and increase the speed of development.
  • Optimized the game so highly that it runs smoothly even on mobile devices—even on a three-year-old $50 Android device, you can get 20fps.
  • Owned the fully WebGL-powered UI that provides the most flawless and smooth experience for players—no HTML or CSS at all.
Technologies: WebGL, Three.js, WebRTC, Node.js, TypeScript, Kubernetes

Senior JS/WebGL Rendering Engineer

2018 - 2019
HERE
  • Contributed as part of the harp.gl map rendering engine team.
  • Worked with projects related to it like map-editor.
  • Managed feature visualization, building feature rendering, and data visualization similar to kepler.gl [from Uber].
Technologies: TypeScript, React, Three.js, WebGL

Founder

2017 - 2018
BimbaSoft
  • Developed DatTank, a multiplayer game, and resolved performance and network stability problems during creation.
  • Created a Game of Thrones map as a tech demo to show the performance of an in-house made graphics engine.
  • Designed and implemented BimbaTool, an in-house SAAS management tool for small outsourcing companies with less than 50 employees.
Technologies: Three.js, WebGL, TypeScript, Node.js, React, Angular

Team Lead | Project Manager

2012 - 2016
NextWebGames studios
  • Managed projects for up to ten people using planning, different work-flows, task/code management, and supporting code/project quality.
  • Communicated with clients regarding projects.
  • Worked with large performance-dependent projects like RTS games in the browser where graphics and servers were the main bottlenecks.
  • Developed the Analitycloud project, a complex analytic SAAS project for large companies with 200+ employees that will help top-management and management access all needed statistics including headcount, workforce, salaries, absences, and more.
  • Designed the Yu viewer project was to provide the experience of visiting different places without leaving your home. Just visit the site, select the desired building or place, and you'll see a detailed 3D model where you can walk through.
  • Built TerrainTool, a 3D tool for architects which helps them to visualize large terrains with all the details and tools such as planning/managing roads, pipes, wires, sunlight and shadows based on terrain including location, date, and time, buildings, and more.
  • Developed PicanIO, an online browser 2D IO game where you play with a triangle with a tail made of bullet chain which can be shot to kill other players. The more you eat food and kill, the more weight you get, and the bigger you get.
  • Created several small animations of companies logos with WebGL/Canvas effect usage.
Technologies: Web Worker, HLSL, Angular, Web Audio API, HTML5 Web Workers, WebSockets, Canvas, C++, MySQL, MongoDB, Node.js, Three.js, WebGL

Back-end Developer

2011 - 2012
Malkos
  • Worked with complex monolith Node.js services during creating large SAAS project for bartering.
  • Created the complex logic of a Neo4j graph database and worked with it.
  • Processed videos and the large REST API for mobile application.
  • Developed the Angular front-end development as part of team building our own modules in a large project.
Technologies: Axure, Redis, Neo4j, MongoDB, Node.js

Web Developer [intern]

2010 - 2011
Interlogic
  • Worked with Canvas/WebGL form basic canvas manipulations to complex WebGL scenes with lots of optimizations and complex shaders.
  • Developed a Chrome extension with complex Node.js services and using WebAudio on the client.
  • Created the basic gaming structure of client/server logic for a multiplayer logic.
  • Implemented the lock-step client-server for RTS game.
Technologies: Canvas, WebGL, WebSockets, Node.js, JavaScript

Experience

DatTank

DatTank is an excellent dynamic online 3D game. It is a battle arena for tanks with four different teams. The team's mission is to help their team dominate this arena and get more kills during the game.

BimbaTools

"Bimba tools" is a SAAS tool that is designed to help small IT companies to manage their work pipeline including the history of clients and projects, employee management, profiles, contracts, salaries, and total company expenses. It has a user-friendly admin panel to manage permissions and scopes.

Just Get 10 3D

This is an interesting mobile puzzle game for Android, an upgrade from the previous 2D version to 3D. Users need to get 10 value squares on each side of a 3D cube. It has had a couple of thousand players so far.

TerrainTool

A 3D tool for architects that helps them to visualize large terrains with all details and tools like planning/managing roads, pipes, wires, sunlight and shadows based on terrain (including location, date, and time), buildings, and more. It also has the ability to add notes/pins to all objects and more.

Wardensity RTS

https://www.youtube.com/watch?v=y1PJK-gA8ms
A real-time medieval multiplayer strategy game that users can play right in their browser without downloading anything. It has up to 2,000 units on the map with a large variety of buildings, units, and interesting gameplay.

Pican.IO

An online browser 2D IO game where users play with a triangle with a tail made of bullet chain which can be shot to kill other players. The more food users eat and kills made, the more weight users get and the bigger users get.

reDEAD

https://youtu.be/NbJhlrFMQPM
Multiplayer 3D browser-based tower defense where approximately five players construct and defend their base against hordes of zombies. The team's goal is to survive and protect the crystal. We used a custom WebGL engine based on Three.js, and the very performant server-side was done in C++ using ECS.

reKILL

https://rekill.io
Browser-based multiplayer 3D PvPvE battle arena with up to 15 players. Users need to out-survive their competitors. They have their inventory, different weapons, chests, and undead running around.

The game has many rendering and server optimizations and runs even on low-end devices and phones. It uses my custom WebGL engine based on Three.js.

reMap

Map editor tool that designs maps for games. It uses React for the UI and R3F for rendering. The main purpose is to design maps for games quickly and ship them. It has features like terrain editing, texture brushes, loading and placing assets on the map, and much more.

Education

2010 - 2014

Bachelor's Degree in Applied Mathematics and Informatics

Ivan Franko National University of Lviv - Lviv, Ukraine

Skills

Libraries/APIs

WebGL, jQuery, Three.js, Node.js, HTML5 Web Workers, Web Audio API, Web Worker, React, Google Maps, WebRTC

Tools

Canvas 2D, Git, SourceTree, Canvas, Webpack

Languages

JavaScript, C++, CSS, HTML5, HLSL, TypeScript

Frameworks

Angular

Platforms

MacOS, Windows, Visual Studio Code (VS Code), Kubernetes

Storage

MongoDB, MySQL, Neo4j, Redis

Paradigms

Scrum

Other

WebSockets, Axure, Cordova, React Three Fiber (R3F)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring