Project Overview
Kitchen Designer was the first project I worked on after joining Lurtis Rules, S.L.. The goal was to develop a 3D visualizer developed with Unity3D for design solutions already being generated by an existing tool, which was still under development. This project was a collaboration with the architectural studio Morph and spanned approximately two years, running in parallel with other projects. Given the close collaboration with architects, it was crucial for the entire team to align with their terminology and workflows.
This project was one of the most valuable learning experiences of my career as a programmer. Coming straight out of university, I had a lot to learn. One of my first major challenges was working with Revit’s API, which runs on .NET Framework, while also integrating internally developed C# libraries. During my initial months, I quickly absorbed key software engineering principles, including SOLID, DRY, KISS, and YAGNI, as well as best practices for clean code, pull requests, and serialization/deserialization using Newtonsoft.
As I gained experience, I temporarily took on the responsibility of code reviews and merges into the develop branch. Since I was the only Unity3D developer at the time, I established a shared codebase for multiple Unity projects, developed reusable asset and code packages, and set up a Verdaccio-based service for managing Unity packages. I also worked with Git LFS and submodules, adopted Test-Driven Development (TDD), and created Python and Bash scripts for project maintenance and automating batch-mode builds with Jenkins and SonarQube.
Throughout the project, I learned how to manage, describe, and estimate tasks using Jira, though we later transitioned to ClickUp. I also gained extensive experience in technical documentation, ensuring that our work was well-documented and easy to understand. Additionally, I collaborated closely with the marketing department, helping prepare content for the company’s website and YouTube channel.
Alongside this development, I also had the opportunity to mentor and supervise interns working on other internal projects within the company.