Nicolas Tapia Logo Image
Nicolás Tapia Sanz

Kitchen & Bathroom Designer

Kitchen Designer and Bathroom Designer are two AI-driven tools integrated into Revit, designed to help architects generate multiple design solutions, visualize them in 3D, create cost estimates, and seamlessly integrate them into Revit projects.

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.

Skills

Unity3D
C#
Revit
LINQ
MVC + MVP + MVVP
Clean Code + DRY + KISS + YAGNI + SOLID
Git (Command Lines & Sourcetree)
Visual Studio Professional + ReSharper
Assembly Definitions
Jira
UI/UX + Figma