Emilio Heinzmann's picture in black and white with a blue background

Hello 👋, I'm Emilio.

As an experienced Software Engineer graduated with a B.Sc. degree in Computer Science, I have been working on the development of applications that are daily accessed by thousands of users since 2019. I bring ideas to life, I turn coffee into code ☕️.

Experience

Senior Frontend Software EngineerCloudbeds, Full-timeJan 2023 - Present

As a Senior Frontend Software Engineer at Cloudbeds, I have contributed to streamlining development workflows, modernizing legacy systems, and implementing solutions that enhance both internal processes and customer experience. My key achievements are:

  • Integrated with distribution channels like Tripadvisor, Hopper, and HRS, while also enhancing existing connections with platforms such as Booking.com, Vrbo, and Airbnb.
  • Created a formal process for building new Microfrontends, reducing code duplication, and improving organizational scalability.
  • Optimized the Frontend local development environment by reducing our Docker image size by 87%, implementing a custom multi-platform image and an automated CI/CD workflow.
  • Developed a Chrome extension to streamline feature flag management, reducing the time it takes to enable or disable a feature flag from minutes to seconds.
  • Implemented the company's first AI Assistant, achieving an 18% deflection rate, 84% engagement rate, and a 10% reduction in support tickets, with a CSAT score of 4.2.
  • Led the Easy Onboarding project, cutting small property onboarding time from weeks to days. Developed Playwright E2E tests to cover critical flows, implemented Lambda functions for image uploads to S3 and Salesforce API authentication, and created workflows with GitHub Actions for testing, linting, building, and deploying across multiple environments.
  • Migrated legacy features from Vue, Handlebars, and jQuery to modern technologies like React, Chakra UI, and TanStack React Query, ensuring adherence to best coding practices and maintaining robust unit test coverage.
  • Created a shared Prettier configuration adopted by dozens of projects, improving code consistency and reducing review bottlenecks.

Skills: React.js, Vue.js, TanStack Query, ChakraUI, Microfrontends Architecture
see my full experience history

Blog posts

Increase React render performance by avoiding unnecessary useEffects
Increase React render performance by avoiding unnecessary useEffects

A common mistake I see people making while creating their React component is creating extra states and effects. That may cause unexpected bugs and extra renders.

How to create a new GitHub Release through Azure Pipelines
How to create a new GitHub Release through Azure Pipelines

Creating a new GitHub release is a common task that a lot of developers are supposed to do during their careers. But on the other hand, it is not as well documented as it could. There are a lot of little tricky things that you will discover only during the process.

Pare de escrever seus componentes React dessa forma
Pare de escrever seus componentes React dessa forma

Após algum tempo trabalhando como desenvolvedor React Native, percebi a tendência das pessoas em estruturarem as sua árvore de componentes com renders condicionais baseados em ifs ternários

How to setup multiple environments in React Native
How to setup multiple environments in React Native

In this article I’ll explain a bit more about how to setup different environments in React Native and how to properly manage them across Javascript and native code.

A experiência de ministrar um treinamento em meio ao isolamento social
A experiência de ministrar um treinamento em meio ao isolamento social

Neste artigo, pretendo falar um pouco mais sobre a experiência de ministrar meu primeiro treinamento, os sentimentos e aprendizados que tive durante esse processo e, também, os principais desafios que foram enfrentados por mim e por toda a equipe envolvida.

see all posts

Videos

Como realizar o merge de duas Linked Lists ordenadas | LeetCode 21
Como realizar o merge de duas Linked Lists ordenadas | LeetCode 21

Neste vídeo, abordamos o problema Merge Two Sorted Lists do LeetCode, mostrando como combinar duas singly linked lists ...

Como encontrar o meio de uma Linked List | LeetCode 876
Como encontrar o meio de uma Linked List | LeetCode 876

Neste vídeo, explico como encontrar o meio de uma singly linked list, resolvendo o problema Middle of the Linked List do ...

Aprenda a inverter Linked Lists de forma simples e eficiente | LeetCode 206
Aprenda a inverter Linked Lists de forma simples e eficiente | LeetCode 206

Neste vídeo, explico como inverter uma linked list de maneira eficiente em TypeScript, resolvendo o famoso problema Reverse ...

Linked Lists: explicação teórica e implementação em TypeScript
Linked Lists: explicação teórica e implementação em TypeScript

Neste vídeo, explico o que são linked lists, seus principais tipos (singly linked list e doubly linked list), e as diferenças em relação ...

see all videos

Contact me

I'm always open for a chat!

Send me an email at emiliosheinz@gmail.com or reach me out on social media.