Kostiantyn Rudenkosoftware engineer

Greetings!

Photo of me

Name's Kostiantyn. I'm a programmer from Ukraine currently residing in Bratislava, Slovakia. This website contains an overview of my projects, as well as condensed cheat sheets from the web development seminars I've conducted at FIIT STU.

Photo of me

I have experience working with:UnityC#HLSLVitePressVue.jsPiniaJavaScriptTypeSriptHTML5CSS3LESSImmutable.jsTypeDocNode.jsDenoPythonC++DoxygenGit
I have dabbled with:ReactViteCypressNeutralinoRedisPostgreSQLMongoDBFastifyBlenderCythonLuaRust

Experience

Senior .NET/Unity developer
for Ciklum
1 year
.NET (C#, C++) developer
for RISA Tech, Inc.
1 year

Programming languages

C#, HLSL, TypeScript, Javascript, Python, C++

Communication

EnglishC1 (Advanced)
Slovakbasic
Ukrainiannative speaker
Russiannative speaker

Technologies

Game engineUnity
FrontendVue, React, Vite
BackendFastify (Node.js)
DocumentationDoxygen, TypeDoc, Deno Doc

Education

Software Engineering master's degree (KPI)

My projects

DQ skinning for Unity

A plugin for Unity engine which implements skeletal deformations using dual quaternions combined with an original artifact compensation method which I developed for my master's thesis at the Faculty of Applied Mathematics at KPI.

The animated screenshot alternates between built-in linear skinning and the plugin.

docs|paper|
before and after: built-in skinning vs plugin

This website

This website is built in VitePress with a custom frontend written from scratch with Vue.js.

It conforms to viewports as narrow as 260px, utilizes responsive components implemented via ResizeObserver, provides accessibility features, focus management, and support for browser font size setting.

lighthouse score: Performance (97), Accessibility (100), Best Practices (95), SEO (99)

ProTeGe v2

A graph-based procedural texture generator with a real-time preview, outputs a full set of textures for a PBR material.

Implemented in Unity engine with texture processing performed on the GPU. A collection of configurable nodes (noise generators, color adjustments, blending) can be chained arbitrarily to produce the final output.

Developed in collaboration with Ihor Los as a joint bachelor's project at the Faculty of Applied Mathematics at KPI.

screenshot
textures in use

dice-pool-calc

A typescript library that efficiently calculates probabilities of possible outcomes when rolling an arbitrary collection of dice and using arbitrary rules to interpret them. Enumerates all possible outcomes without random sampling and easily handles hundreds of dice.

npm|docs|examples|

Material clustering benchmark

This software was implemented to compare the speed and quality of different clustering algorithms in a specific use case connected to real-time mixed reality systems.

The benchmark results are published in a paper (you can also reada preprint).

paper|preprint|
screenshot

joplin-plugin-paginator

Joplin is an open-source note taking app with tags, hierarchical folders, plugin support, synchronization, and embedded multimedia.

Normally, a note in joplin is continuous like an HTML page. This plugin implements pagination and generates a table of contents for the note, making a printable document from it.

npm|

ProTeGe v1

A procedural texture generator written in C++ using wxWidgets library for the GUI. The computations are performed on the CPU and utilize multithreading.

screenshot

Contact me

icon: handshake available for contract work
upward arrowBack to top