What we learned building our Ultimate developer portal

...
Damian Bojar
Backend Chapter Lead

Jan 2024

Have you ever looked into tools for public APIs documentation? Noticed any patterns? We have, and would love to tell you all about it. This is our story of searching for good tooling around public APIs documentation, and deciding to write it ourselves.

Read More

DRY in Github Actions with Reusable Workflows

...
Roberto Gutiérrez Sopedra
Senior Plaform Engineer

Jan 2024

GitHub Actions are central to our CI/CD system since we adopted them less than two years ago. We prioritized scalability and usability from day one. Before jumping into features and complex scripting, we planned the architecture with a focus on the developer experience when starting a new repository or integrating new features or fixes into existing workflows. We considered composite actions and reusable workflows - but only intra-repo (using the same workflow to deploy to dev, stage and prod on different scenarios). This post outlines our journey, the challenges we overcame, and our future outlook.

Read More

Demystifying LLMs: Ultimate’s take on Next-Gen Conversational AI

...
Meysam Asgari-Chenaghlu
Staff AI Researcher

Dec 2023

The rapidly evolving landscape of AI has witnessed an influx of new terminology, acronyms and buzzwords, such as GenAI, LLM, Prompt Engineering, and others. This article aims to demystify these terms, focussing on Large Language Models (LLMs), which have emerged as game-changers, blending technological prowess with vast capabilities. We will discuss their capabilities, how they are trained and look at both their risks and their potential as well as briefly touch on how Ultimate embraced these models to revolutionize customer Interactions.

Read More

Enhancing Bot Deletion through an Event-Driven Setup

...
Mohamed Abd El-Azim
Senior Backend Engineer

Jul 2023

Bot deletion is essential in our workflow, but as almost all of our data is related to bots, the deletion process can run for quite some time. Our distributed system has multiple compute blocks running in the cloud, making it prone to issues like losing nodes for network partitions etc. As the deletion is initiated from our frontend client, keeping the request alive until the entire deletion process is done might result in time outs. We needed a solution that does not keep the client waiting for a response, and can recover from failures.

Read More