I am a senior software engineer based in Copenhagen. I love developing software and I have been doing it for over a decade. I wrote my first line of code in the end of primary school and I have been loving it ever since. Professionally, I have worked for companies in Denmark, Wales and Czechia including Unity or the successful Danish startup Unicontrol. I have a MSc. in Computer Science from the IT University of Copenhagen. I love programming, creating and learning ❤️.
As a student worker at Unity, I developed internal game projects with a team of student workers, testing the latest features of the DOTS API. Later, I joined the Entities team and worked on a mix of QA and development tasks, including creating a fuzzy tester for the "SystemAPI" and a sample project with accompanying documentation on custom transform systems. For my MSc. thesis, completed in September 2023, I developed a first-of-its-kind purely data-oriented implementation of the Articulated body algorithm also known as Featherstone's algorithm. My implementation performed 10x faster than the equivalent feature of PhysX 4.1 and will be included in the physics package. Following my successful thesis defense I became assigned as a student worker to the Physics team.
During my semester in the UK (Wales) as an exchange student, I found a part-time job at a smaller local IT company. Their clients were mainly automotive companies like Jaguar, Hyundai etc. I was working mainly on an app for Hyundai South Africa. When I came in, I was given a task to implement a new design of the app in React Native together with another colleague. I appreciated the support and guidance of my senior colleagues. They were always there for me, whenever I needed to ask a question or get a code review.
During my semester in Denmark as an exchange student, I worked part-time for a Danish startup based in the city of Odense. Here I worked in the game engine Unity using C# to further develop a tablet application. This application was the brain of a precise control system for compact excavators under 15 tons. I learned a lot about making small incremental changes, doing code reviews and collaborating in a small team. I also got a lot of insights on how startups are managed and scaled.
After attending a course about entrepreneurship, I validated and worked on several business ideas such as a platform for social experiences "Guidex" and consulting in web-development. I designed and implemented several websites for small businesses and freelancers such as our local pharmacy, the co-founder of "Podnikni To" Max Dužek and others. Because it was difficult to balance many activities and university, I stopped freelancing when the exam period started. I learned a lot about consulting and working with clients during this period.
I got hired by the founders of a startup when they were searching for proactive students at my high school. This was my first part-time job. In the beginning, I worked mainly on smaller UI oriented tasks in a C# WPF project. Later I started doing also more of the control logic and came in touch with the MVVM architecture. I was also introduced to Git and ways of resolving merge conflicts. The desktop application that we were working on was a control panel for an industrial X-ray machine for visual control of printed circuit boards.
An installable website for learning Danish vocabulary by merging a translator and a flashcards app into one convenient solution. I needed an easy way to translate, save and practice Danish expressions so I designed and developed this full-stack web application. I iteratively improved the tool by collecting and implementing feedback from other users. The translator is powered by Google Translate API. The spaced repetition learning algorithm is inspired by Anki as users demanded that.
For my MSc. thesis, completed in September 2023, I developed a first-of-its-kind purely data-oriented implementation of the Articulated body algorithm also known as Featherstone’s algorithm for the Physics team at Unity. This algorithm is useful for simulating kinematic chains such as robotic arms and pendulums as it has zero joint error and is fast to compute. My implementation performed 10x faster than the equivalent feature of PhysX 4.1 and will be eventually released as part of the Unity Physics package.
I took part in the gameplay programming for the game that I and four other teammates made in 48 hours at the Nordic Game Jam 2023. We had quite a constant stream of poeple coming to playtest our game during the final day of the game jam and most of them found the game quite addictive and completed all three levels. I worked mainly on the player controls and the propagating chain lightning mechanic.
Within this thesis I designed a procedural terrain generator and a water surface shader. I used these components to implement a generator of infinite worlds composed of islands in the sea. Traditional methods to world partitioning and object placement were modified to best suite this purpose. Additionally, an approach for generating terrain of islands with diverse shapes by pseudo-randomly generating points defining the terrain’s properties was devised. The implemented island generator running in real-time is capable of challenging the existing similar tools for Unity.
In couple of weeks I went through a React.js course and build a prototype web platform that allowed users to sign up, login and book places for events. There was no time left to build a custom back-end for it so I learned how to connect it to a “Google Firebase” service that provided all the authentication and a real time database services. This was meant to be a platform for connecting local guides or event organizers with people that want to experience something interesting. Guides would get paid when tickets would get purchased through our platform and we would get a commission. We organized about 10 test events and then canceled the project because of time and motivation difficulties.
In couple of weeks in the begining of my exchange study semester in Denmark I started to work on a full-stack control panel for a smart room. This was runnig on a Raspberry Pi linux server in my room. For the front-end I used "Materialize" CSS framework. The back-end was running on a "Node.js" server with the "Express" framework for getting data from the server and executing hardware commands like playing sounds and speech synthesis.
This website is fully custom designed and coded. In order to make it look truly professional, I hired a designer to turn the wireframes that I have agreed on with my client into a final design. Then I also tried outsourcing the coding but ended up finishing it on my own anyway. On this project I practiced wide range of skills from price negotiation, management, actual coding and styling and finally presenting the final product to my client.
When I finished the course about starting a business the creators of the project asked me if I can rebuild their website. It was built on the “WordPress” platform. Because of this project I got more familiar with specificities of this platform. I also learned that doing backups is very important and security in WordPress websites can be an issue and special measures have to be taken.
I created my first custom WordPress theme to showcase a product of my friend’s company. This theme gave him the option to easily modify the images, videos and texts on the website. It was particularly useful because he wanted to update some of the information and media on the website in the future without the need of a software developer. I learned how to turn a regular website that I coded and designed beforehand into a WordPress theme.
After teaching the basics of programming to a student from the USA over Skype, I decided to create a platform for 1 on 1 online teaching. At first I designed this website in photoshop and afterwards coded it in a responsive way. The back-end never got done due to my loss of motivation to work on this project because of the big competition in the industry.
After creating multiple simple and unfinished games in “Unity” game engine, I decided to create a game from start to finish and publish it on “Google Play” store. It all started by brainstorming game ideas. Next step was to build a quick prototype and test if the basic game mechanics were fun. After that doing a lot of work to add more features and make it look and feel good. Creation of this game required programming, 3D modeling in "Blender", rigging, animating, level design and creating all the graphics for “Google Play”. I did all of this in a restricted time frame of about 3 weeks after my exams and before the next semester started. After being closed in my room and working many hours I finally published it! Unfortunately it got only around 500 downloads because I didn’t know that I have to do marketing in order for people to discover my game.
This was the first game that I published on the „Google Play“ platform. Even though it never made it past alpha release and missed a full story, I learned a lot by programming it. It consisted of two parts which were both developed in “Unity”. First was the actual app for reading interactive stories where player’s choices changed the story that he was reading. The second part was the tool for writing these interactive stories for the game. Both were good enough to write a demo story in them, but I never elaborated on teaming up with a writer to get a real story and getting more people to test it.
Using “VisualStudio” and C#, I developed a voice controlled assistant with a hardware USB module powered by Arduino and hacked radio controlled outlets to enable voice control of home appliances. Voice recognition and synthesis was processed by interfacing Windows’ built in libraries. I focused on creating easy to use user interface for adding, customizing and removing voice commands. It was possible to assign to every command an action. Actions were either running a program on the computer, opening a specific website or turning on or of an outlet.
This was one of my first bigger projects. I crafted the mechanical part in our garage and programmed the “Arduino” and “PICAXE” microcontrollers in “C++” and “BASIC” programming languages. My dad helped me with designing and creating of the printed circuit board.