Our Technological Journey in 2024

When change becomes an opportunity

Walter Gandarella • January 02, 2025

2024 was that year that started with a feeling of "let's shake things up around here." And look, we really did shake things up! Right in January, we faced a double challenge: continuing the development of an online psychology consultation system for a client using a completely new stack for us and, along the way, setting up our own video conferencing system.

After years navigating the familiar waters of Angular, we decided to leap into the world of Vue.js with Nuxt. It was like changing cars while driving - you know how to drive, but all the buttons are in different places. And as if this adventure wasn’t enough, we thought we could create our own video calling system, independent of proprietary services and without usage restrictions.

That’s when we met Jitsi, an open-source friend that had everything we needed for the task. We set up a dedicated server on Google Cloud and, ta-da... we created our own little corner for video conferences! The funniest part? It turned out so well that we ended up abandoning Google Meet even for our internal calls.

What’s interesting is that, despite all the changes, we kept the competent Firebase as our partner for database, serverless functions, and hosting. The first three months were intense, that moment of “coffee + tutorial + more coffee” to get the hang of Vue.js and then dive into Nuxt. The change brought its challenges - after all, moving from Angular services to how Vue handles state is like learning to write with your other hand. But at least we were still in the JavaScript universe, so it wasn’t all that strange for us!

One of the biggest victories of this change was finally getting SSR (Server-Side Rendering) to work the way we wanted. With Angular, it was a complicated story, but with Vue/Nuxt? It was like discovering that there’s a shorter path to the work that made much more sense. By June, we already had the beta version running for the client, and the result was so good that we decided: “this is it, let’s migrate everything!” and we started planning the gradual migration of all the modules in our ecosystem to Nuxt.

Plot Twist: Angular Strikes Back!

But then, right in the middle of the year, something unexpected happened - we kind of rediscovered Angular! It all started when the mission came up to upgrade our oldest and most nostalgic module: the Digital Catalog for large surfaces and retailers. It was like an old car in the garage that everyone loves but needs a complete overhaul.

Since we were still in that “dating” phase with Vue and Nuxt, we decided to keep this specific project in Angular. And that’s when the magic happened! While making the necessary updates, we discovered that Angular had evolved more than we imagined - it felt like we had reconnected with a childhood friend who became super fit! The project turned out so amazing that it made us rethink the whole “let’s migrate everything to Vue/Nuxt” story.

That’s when it hit us: why not use the best of both worlds? The idea of Micro Front-ends fit perfectly - we could keep what was working well in Angular while still developing new features in Vue/Nuxt. The result? A second version of the digital catalog that turned out impeccable, running side by side with the new developments in Vue. Who would have thought that our ex-framework still had so much potential?

A Blog to Call Our Own

You know that feeling of having a thousand great stories to tell and no place to share? In July, we decided to solve this in a very simple way: we created our own development blog, this one! It’s like our logbook, just much nerdier and filled with code. (˶˃ ᵕ ˂˶)

The idea came up quite naturally. We were there, discovering new things every day, wrestling with different challenges, learning a ton about AI and new technologies... and we thought: “Hey, this would make such a great blog!” And it actually did!

Since then, we’ve kept our virtual corner quite lively, sharing a bit of everything: the hottest news from the tech and AI world, those everyday dev problems (everyone has them, right?), our small and big victories, and of course, some code and best practices. It’s like a coffee with code, you know? Just in blog format, hence the chosen name: DevCafé.

And it ended up being a great motivation for the team. Now, besides being developers, we are a kind of “tech influencers” (ok, maybe I exaggerated a bit). But seriously, writing for the blog has made us dive even deeper into the topics. After all, one thing is knowing how to do something, another very different is explaining it in a way that everyone understands!

And do you know what the unexpected bonus was? The blog ended up positioning Yes Marketing as a tech reference in the market. Who would have thought that our stories of code, coffee, and debugging would be so successful?

Augmented Reality: When the Virtual Meets Coffee

May brought a new challenge for our team: to implement augmented reality in our digital catalog. The idea was to allow customers to visualize how terraces and café furniture would look in their real spaces. We started with Google's Model Viewer, but it limited our possibilities too much.

Second attempt? Babylon.js. It seemed perfect! More resources, more flexibility... until we realized that the client wanted to be able to record panoramic videos of the created scenes. It was that moment of "start everything over." And that’s when the magic happened: our design team had an ace up their sleeve!

We discovered that we had a true master of Unity on the design team, one who breathes and dreams of the tool. The same genius who had already been creating some amazing games for our Gamification module. When we talked to him about the project, his eyes lit up (and even if they hadn't)! It was like finding the missing piece of the puzzle.

The collaboration was enviable. While our Unity ninja designer worked his magic with the tool, creating an absurd visual experience, our dev team stepped in as heavy technical support. We worked together to turn it into a native app for Android and iOS, but with one difference: instead of being a standalone app, we made it work as a plugin integrated into our web system through deep links. When the user clicks to view a product in AR in our catalog - poof! - the Unity experience opens as if it were a natural part of the flow.

To avoid that annoying back-and-forth between applications, we also implemented a mini gallery within the plugin itself. So, after entering the AR experience, users can continue adding other products without having to go back to the web catalog. It’s that thing: when design and development come together, magic happens!

And what was the result? A system that allows positioning multiple objects at the same time, resizing, repositioning, and even recording videos showing the entire composition. The client was so pleased that they approved the project almost immediately. And us? Well, besides an amazing product, we gained a new superpower: we now master not only Unity (thanks to our designer colleague) but also the entire native development process in Android with Java/Kotlin. Who would have thought that a partnership between design and dev could bear so much fruit?

The team grows and AI enters the scene

With so many new projects and the growing demand for AI integration, it was time to expand the team. We welcomed two new developers who brought fresh energy and innovative ideas to our products. Speaking of AI, 2024 was the year we decided to fully embrace this technology. In fact, many of the posts here on the blog focus on AI as part of our learning.

Starting in July, we adopted a multi-tool approach for AI: OpenAI's ChatGPT, Anthropic's Claude, and Google's Gemini. Gemini has been particularly interesting due to its natural integration with our Firebase stack through GenKit. In October, we discovered Codeium with its LLM Cascade, which is like having an extra developer who already knows all our code and patterns.

But we didn't stop there! In October, we began integrating AI directly into our products: smart dashboards, automated metrics, pattern recognition in images... And there's more to come: We are developing an image training system for point-of-sale validation that should be ready in the first half of 2025.

By the end of the year, we started experimenting with Windsurf (an IDE based on VSCode powered by Cascade) in smaller projects. It’s impressive how it can take a brief and generate the entire initial structure of the project. We save weeks of initial development and can focus on what really matters: business rules and delivering value to the client.

Looking ahead to 2025, our mission has become even clearer: we will continue to evolve our Micro Front-end architecture, keeping the best of each framework - whether Angular or Vue/Nuxt. We want to deepen our integrations with AI, especially in metrics and marketing assistants, always maintaining that perfect balance between innovation and stability. It has been quite a journey, full of surprises (some very pleasant, like our rediscovery of Angular!), challenges overcome, and lots of coffee. But most importantly, it has been rewarding to see how each change and new technology we embrace translates into real value for our clients and growth for our team.

Technology keeps evolving, and we at Yes Marketing do too. We are excited to see what 2025 will bring and ready to continue innovating, learning, and growing together. We have learned that in the world of development, sometimes the most interesting path is not necessarily to migrate everything to the new but to find that perfect balance between what already works well and the new things coming in.


Latest related articles