<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://blog.allegro.tech/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.allegro.tech/" rel="alternate" type="text/html" /><updated>2026-10-05T13:34:09+02:00</updated><id>https://blog.allegro.tech/feed.xml</id><title type="html">blog.allegro.tech</title><subtitle>Welcome to our technology blog. We use Open Source solutions on a daily basis here at Allegro. Why not work on our karma and give something in return?</subtitle><entry><title type="html">Automating Search Relevance Assessment at Scale with LLM-as-a-Judge</title><link href="https://blog.allegro.tech/2026/08/automating-search-relevance-llm-as-a-judge.html" rel="alternate" type="text/html" title="Automating Search Relevance Assessment at Scale with LLM-as-a-Judge" /><published>2026-08-20T00:00:00+02:00</published><updated>2026-08-20T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/08/automating-search-relevance-llm-as-a-judge</id><author><name>[&quot;joanna.marhula&quot;, &quot;mateusz.sidor&quot;]</name></author><category term="tech" /><category term="search relevance" /><category term="relevance evaluation" /><category term="llm" /><category term="llm-as-a-judge" /><category term="ai product" /><category term="local llms" /><summary type="html"><![CDATA[At the heart of any e-commerce platform lies the search bar — the critical bridge between user intent and the right product. The backbone of the search bar is search relevance — it ensures the search engine’s long-term health, determines user engagement and, ultimately, drives platform retention.]]></summary></entry><entry><title type="html">Back to the data center in 2026 (just a little bit)</title><link href="https://blog.allegro.tech/2026/08/back-to-dc-in-2026.html" rel="alternate" type="text/html" title="Back to the data center in 2026 (just a little bit)" /><published>2026-08-11T00:00:00+02:00</published><updated>2026-08-11T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/08/back-to-dc-in-2026</id><author><name>piotr.bakalarski</name></author><category term="tech" /><category term="architecture" /><category term="cloud" /><category term="gcp" /><category term="data center" /><summary type="html"><![CDATA[Just a few years ago, moving everything to the cloud seemed like a no-brainer. For many companies, the cloud offered greater flexibility than operating their own data centers. But the cloud is not always the right answer. This post is about one specific case where we decided to move back to our data center, and the reasons behind it.]]></summary></entry><entry><title type="html">How we achieved independent deployments in a micro-frontend architecture</title><link href="https://blog.allegro.tech/2026/08/how-we-achieved-independent-deployments-in-a-micro-frontend-architecture.html" rel="alternate" type="text/html" title="How we achieved independent deployments in a micro-frontend architecture" /><published>2026-08-03T00:00:00+02:00</published><updated>2026-08-03T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/08/how-we-achieved-independent-deployments-in-a-micro-frontend-architecture</id><author><name>[&quot;piotr.fryga&quot;]</name></author><category term="tech" /><category term="architecture" /><category term="frontend" /><category term="release process" /><category term="node.js" /><category term="micro-frontend" /><summary type="html"><![CDATA[We would like to share with you our experiences in working towards achieving an independent deployment process for our frontend projects at Allegro. In this article, we will take you through the entire journey of finding the right solution. We will describe our approaches and the challenges we encountered along the way. We will also describe the target solution in detail and share the numbers associated with it. Read on to discover how we transformed our deployment process and what impact it had on our developer experience.]]></summary></entry><entry><title type="html">How AI Agents Halved the Effort of Migrating 500 Gradle Modules from Koin to Hilt</title><link href="https://blog.allegro.tech/2026/07/how-ai-agents-halved-effort-migrating-gradle-modules-koin-to-hilt.html" rel="alternate" type="text/html" title="How AI Agents Halved the Effort of Migrating 500 Gradle Modules from Koin to Hilt" /><published>2026-07-27T00:00:00+02:00</published><updated>2026-07-27T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/07/how-ai-agents-halved-effort-migrating-gradle-modules-koin-to-hilt</id><author><name>wojciech.topolski</name></author><category term="tech" /><category term="android" /><category term="kotlin" /><category term="ai" /><category term="dependency-injection" /><category term="hilt" /><category term="koin" /><category term="migration" /><summary type="html"><![CDATA[How do you migrate a dependency injection framework in a large-scale Android application without stopping feature delivery? At Allegro, this question became urgent when our data analysts indicated a direct link between app startup time and user retention. The answer involved a combination of careful architectural decisions, a hybrid migration strategy, and AI-powered automation that reduced the migration time per module from roughly one week to under two days.]]></summary></entry><entry><title type="html">Saying Goodbye to the Endless Excel Spreadsheets: How a Bottom-Up Drive Brought Us a New Test Management Tool</title><link href="https://blog.allegro.tech/2026/07/saying-goodbye-to-the-endless-excel-spreadsheets-how-a-bottom-up-drive-brought-us-a-new-test-management-tool.html" rel="alternate" type="text/html" title="Saying Goodbye to the Endless Excel Spreadsheets: How a Bottom-Up Drive Brought Us a New Test Management Tool" /><published>2026-07-06T00:00:00+02:00</published><updated>2026-07-06T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/07/saying-goodbye-to-the-endless-excel-spreadsheets-how-a-bottom-up-drive-brought-us-a-new-test-management-tool</id><author><name>paulina.materna</name></author><category term="tech" /><category term="testing" /><category term="jira" /><category term="quality-assurance" /><category term="test-management" /><category term="tools" /><summary type="html"><![CDATA[If your test cases are scattered across multiple Excel files, Google Docs, and Confluence pages, and keeping them up to date is incredibly time-consuming, this post is for you. This is the story of how Allegro moved from scattered, manual test tracking to a scalable, Jira-based solution now available to thousands of engineers.]]></summary></entry><entry><title type="html">Finding the Needle: Taming 150,000+ Backstage Entities with a Type-Safe Search and Command Palette</title><link href="https://blog.allegro.tech/2026/06/taming-backstage-entities-with-a-type-safe-search-and-command-palette.html" rel="alternate" type="text/html" title="Finding the Needle: Taming 150,000+ Backstage Entities with a Type-Safe Search and Command Palette" /><published>2026-06-16T00:00:00+02:00</published><updated>2026-06-16T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/06/taming-backstage-entities-with-a-type-safe-search-and-command-palette</id><author><name>jordan.andrzejczak</name></author><category term="tech" /><category term="frontend" /><category term="backstage" /><category term="search" /><category term="command palette" /><category term="type-safe" /><category term="react" /><category term="typescript" /><summary type="html"><![CDATA[This article describes how Allegro built “Commander,” a keyboard-first ⌘+K command palette designed to instantly search and manage over 150,000 entities within Allegro’s developer portal, built on Spotify’s Backstage framework. It highlights the tool’s underlying stack-based mini-router architecture, which combines advanced TypeScript and Zod for zero-boilerplate type safety alongside client-side caching for instant performance.]]></summary></entry><entry><title type="html">Spec-Driven Development (SDD) — best practices (so far)</title><link href="https://blog.allegro.tech/2026/06/spec-driven-development-best-practices.html" rel="alternate" type="text/html" title="Spec-Driven Development (SDD) — best practices (so far)" /><published>2026-06-08T00:00:00+02:00</published><updated>2026-06-08T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/06/spec-driven-development-best-practices</id><author><name>konrad.piechna</name></author><category term="tech" /><category term="ai" /><category term="sdd" /><category term="spec-driven development" /><category term="ai-assisted development" /><summary type="html"><![CDATA[The traditional approach of working with current large language models (LLMs) through free-form conversations (a.k.a. vibe coding) typically leads to: accumulation of technical debt, architectural inconsistency, unmet requirements, gradual model drift away from our intent (a.k.a. intent drift). What if there were a way to tame the pain points of coding agents and actually boost our productivity? The answer to the limitations of current LLMs in autonomous software development is Spec-Driven Development (SDD).]]></summary></entry><entry><title type="html">GeeCON 2026 — a recap</title><link href="https://blog.allegro.tech/2026/05/geecon-2026-recap.html" rel="alternate" type="text/html" title="GeeCON 2026 — a recap" /><published>2026-05-26T00:00:00+02:00</published><updated>2026-05-26T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/05/geecon-2026-recap</id><author><name>malgorzata.karmazyn</name></author><category term="tech" /><category term="conference" /><category term="geecon" /><category term="java" /><category term="jvm" /><category term="ai" /><category term="llm" /><summary type="html"><![CDATA[The 2026 edition of GeeCON didn’t look promising at first. I arrived in Kraków expecting the same slow decline I’d been hearing about — no crowds, only five sponsor booths, and talks from sponsors about their great products. Last year I heard the conference business was slowly dying, and I kinda agreed.]]></summary></entry><entry><title type="html">Two schools of TDD explained</title><link href="https://blog.allegro.tech/2026/05/two-schools-of-TDD-explained.html" rel="alternate" type="text/html" title="Two schools of TDD explained" /><published>2026-05-13T00:00:00+02:00</published><updated>2026-05-13T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/05/two-schools-of-TDD-explained</id><author><name>michal.przysucha</name></author><category term="tech" /><category term="tdd" /><category term="Kotlin" /><category term="testing" /><category term="test doubles" /><category term="mock" /><category term="stub" /><category term="fake" /><category term="dummy" /><category term="spy" /><summary type="html"><![CDATA[This article presents two approaches of how TDD can be applied. The first is the classic one where the objects are treated as black-boxes and verification is based on the objects state. The second one is focused on interactions.]]></summary></entry><entry><title type="html">Thoughts on the Boiling Frogs 2026 conference</title><link href="https://blog.allegro.tech/2026/04/thoughts-on-boiling-frogs-2026.html" rel="alternate" type="text/html" title="Thoughts on the Boiling Frogs 2026 conference" /><published>2026-04-28T00:00:00+02:00</published><updated>2026-04-28T00:00:00+02:00</updated><id>https://blog.allegro.tech/2026/04/thoughts-on-boiling-frogs-2026</id><author><name>piotr.bakalarski</name></author><category term="tech" /><category term="conference" /><category term="boiling frogs" /><summary type="html"><![CDATA[On the 21st of March I traveled to Wrocław for the Boiling Frogs conference — my first in a while. I expected a day of technical talks. What I got instead was a surprisingly philosophical look at what it means to be a software engineer right now: why we work, whether AI is coming for our jobs, and how many LEGO bricks fit in a tube.]]></summary></entry></feed>