---
title: "Engineering"
url: "https://www.sparkfabrik.com/en/engineering/"
lang: "en"
type: "engineering-index"
lastmod: "2026-08-31"
description: "Technical notes from the team that builds and runs our clients' software. Drupal, cloud native, JavaScript, AI."
---

# Engineering

Technical notes from the team that builds and runs our clients' software. Drupal, cloud native, JavaScript, AI.

- [AsyncLocalStorage in NestJS: propagating request context](https://www.sparkfabrik.com/en/engineering/async-local-storage-in-nestjs-request-context/) (2026-08-31): How to stop cascading parameters and access request data exactly where you need it.
- [Scheduling content expiry in Drupal with SM Entity Scheduler](https://www.sparkfabrik.com/en/engineering/scheduling-content-expiry-drupal-sm-entity-scheduler/) (2026-07-18): How and why we built SM Entity Scheduler, a config-driven Drupal module that hides or deletes entities once a date field has passed, running on Symfony Messenger instead of hook_cron.
- [Vue.js 3 Meets Drupal: an Integration Guide](https://www.sparkfabrik.com/en/engineering/integrating-multiple-vue-apps-in-drupal/) (2026-04-16): A short how-to on the integration of multiple Vue.js 3 apps into a Drupal-based website.
- [Drupal Global Contribution Weekend 2026: SparkFabrik sostiene la community](https://www.sparkfabrik.com/en/engineering/drupal-contribution-weekend-2026-milano/) (2026-02-27): Il racconto del Drupal Contribution Weekend 2026 presso gli uffici SparkFabrik di Milano: issue risolte, nuovi standard AI e la cultura della restituzione alla community.
- [Drupal service container deep dive (Part 3): service collectors](https://www.sparkfabrik.com/en/engineering/drupal-service-container-deep-dive-part-3/) (2026-02-05): In this third part of our deep dive into the Drupal service container, we explore service collectors, which aggregate multiple services into a single service for streamlined access.
- [Drupal service container deep dive (Part 2): aliases, autowiring, and named arguments](https://www.sparkfabrik.com/en/engineering/drupal-service-container-deep-dive-part-2/) (2025-12-10): In this second part of our deep dive into the Drupal service container, we explore the concepts of aliases, autowiring, and named arguments.
- [Drupal service container deep dive (Part 1): tags, compiler passes, service providers and autoconfiguration](https://www.sparkfabrik.com/en/engineering/drupal-service-container-deep-dive-part-1/) (2025-11-03): In this first part of our deep dive into the Drupal service container, we explore the concepts of tags, compiler passes, service providers, and autoconfiguration.
- [Codemotion Milan 2025](https://www.sparkfabrik.com/en/engineering/codemotion-milan-2025/) (2025-10-22): Highlights and reflections from Codemotion Milan 2025, covering key talks on testing strategies, modern CSS, Chrome DevTools, and AI prompt strategies.
- [The Lord Of The Stores: A Quest For Angular State Mastery](https://www.sparkfabrik.com/en/engineering/the-lord-of-the-stores/) (2025-09-04): In the complex world of NgRx state management three powerful stores can guide us: Global Store, vast and unifying; Component Store, swift and precise; Signal Store, reactive and efficient. But wielding them unwisely leads to an unmanageable state. Join this journey through NgRx best practices, avoiding pitfalls, and mastering scalability. Will your app stand strong or fall into disorder? The fate of state management rests in your hands!
- [Lambda Calculus](https://www.sparkfabrik.com/en/engineering/lambda-calculus-modern-javascript/) (2025-08-25): Reflections from my recent tech talk on lambda calculus and how it shapes modern development.
- [Tracking 4G stats from the CLI with Node.js](https://www.sparkfabrik.com/en/engineering/zy-stats/) (2025-05-29): Tracking 4G stats from the CLI with Node.js
- [Docker BuildKit Deep Dive: Optimize Your Build Performance](https://www.sparkfabrik.com/en/engineering/docker-cache-deep-dive/) (2025-05-05): Improve Docker build performance by leveraging BuildKit's capabilities. An advanced guide to cache management, Dockerfile optimization, and strategies to reduce pipeline times.
- [JSDay 2025: Unraveling Memory Leaks and Dependency Management](https://www.sparkfabrik.com/en/engineering/jsday-2025/) (2025-04-15): My experience at JSDay 2025 in Bologna, with insights from two standout talks on memory leak debugging and dependency management.
- [Open Source Day 2025](https://www.sparkfabrik.com/en/engineering/open-source-sday-2025/) (2025-03-27): Let me take you to Schrödinger Hat's OS Day 2025: a journey into the heart of open source!
- [FOSDEM 2025](https://www.sparkfabrik.com/en/engineering/fosdem-2025/) (2025-02-20): Open-source innovation, Drupal, and a lot of AI: our experience at FOSDEM 2025.
- [Drupal Global Contribution Weekend 2025](https://www.sparkfabrik.com/en/engineering/drupal-global-contribution-weekend-2025/) (2025-01-25): Discover what the Italian community contributed back to Drupal during the latest DGCW.
- [Public speaking is like eating chillies](https://www.sparkfabrik.com/en/engineering/public-speaking-is-like-eating-chillies/) (2024-07-01): How speaking at tech conferences was both the best and worst thing I could do
- [Drupal Access Policy demystified](https://www.sparkfabrik.com/en/engineering/drupal-access-policy-demystified/) (2024-06-24): Deep dive into the new Access Policy API in Drupal 10.3
- [dxday: A Report](https://www.sparkfabrik.com/en/engineering/dxday/) (2024-06-18): What I saw at dxday, a conf by GrUSP
- [Building a Sustainable Web: a practical exploration of Open Source tools and strategies](https://www.sparkfabrik.com/en/engineering/building-a-sustainable-web/) (2024-06-13): Web sustainability is a wide topic and since there's not a clear and linear path, it can be challenging for wannabe-greener-devs to start. Reflecting on my journey, I tried to build a learning path consisting of various open source tools, strategies and principles.
- [Open Source Day: A Report](https://www.sparkfabrik.com/en/engineering/open-source-day/) (2024-06-07): What I saw at Open Source Day, a conf by Schrödinger Hat
- [How (and why) to contribute to open source](https://www.sparkfabrik.com/en/engineering/how-and-why-to-contribute-to-open-source/) (2024-02-01): We wrote previously about how hard can be to contribute to open source. We want to try to demistify the process and give you some tips on how to get started.
- [DruBOM: An SBOM for Drupal](https://www.sparkfabrik.com/en/engineering/drubom/) (2024-01-29): DruBOM is a Bill of Materials (BOM) for Drupal. It is a list of all the dependencies of a Drupal project, including the Drupal core, modules, themes, and libraries.
- [How (not) to contribute to open source](https://www.sparkfabrik.com/en/engineering/how-not-to-contribute-to-open-source/) (2024-01-25): You may have come across articles claiming that contributing to open-source as a beginner is a piece of cake. However, my experience has been quite different. This is a story of my struggles and failures in trying to contribute to open-source.
- [UpsertDialog in React](https://www.sparkfabrik.com/en/engineering/upsertdialog-in-react/) (2024-01-18): How to create a dialog containing a dynamic and reusable form in React
- [Journey to the center of DevRel - Part 1](https://www.sparkfabrik.com/en/engineering/devrel-journey-part-1/) (2024-01-11): In this series of articles, we will explore the different aspects of the DevRel role, why and how we do it at SparkFabrik, and how we see it evolving in the future.
- [When Drupal meets AI](https://www.sparkfabrik.com/en/engineering/when-drupal-meets-ai/) (2023-12-05): How the Drupal community is moving to embrace this new era of advancement.
- [Drupal new contributions releases](https://www.sparkfabrik.com/en/engineering/drupal-drupal-new-contributions-releases/) (2023-11-21): A list of new releases and fixes on Drupal modules maintained in SparkFabrik.
- [UX and Sustainable Web](https://www.sparkfabrik.com/en/engineering/ux-and-sustainable-web/) (2023-10-30): Sustainable web design considers parameters like speed, performance and usability: all three make users happier and satisfied. So, why is the Internet responsible for 4% of total CO2 emissions?
- [SDC in Drupal core](https://www.sparkfabrik.com/en/engineering/drupal-sdc/) (2023-09-14): Finally, Drupal 10.1 standardizes the way to build components. Let's see how to use them and how to integrate them with WebProfiler.
- [Angular Signals: what's all the fuss about?](https://www.sparkfabrik.com/en/engineering/angular-signals-whats-all-the-fuss-about/) (2023-09-12): In recent releases of Angular, signals have been introduced, which are going to fundamentally change how we use this framework. Let's take a closer look at what they are and how they came to be.
- [OSCM: The Open Source Consumption Manifesto](https://www.sparkfabrik.com/en/engineering/oscm-open-source-consumption-manifesto/) (2023-09-04): The OpenSSF published the Open Source Consumption Manifesto (OSCM), a set of core values and guiding principles for software organizations that consume OSS and include it in their software supply chain. Let's see what it is about.
- [What is an OSPO and why is it important?](https://www.sparkfabrik.com/en/engineering/what-is-an-ospo/) (2023-08-28): Open Source Program Office (OSPO) is a team dedicated to managing the use of open source software (OSS) in a company. Let's take a look at what an OSPO is, what it does, and why it's important.
- [Introduction to Qwik and the Power of Loaders and Actions](https://www.sparkfabrik.com/en/engineering/qwik-and-the-power-of-loaders-and-actions/) (2023-08-07): Qwik is a JavaScript framework for building web applications with a focus on speed. Let's take a look at how to use two of Qwik's amazing features, routeLoader$ and routeAction$.
- [The point of no return for software dependencies](https://www.sparkfabrik.com/en/engineering/supply-chain-point-of-no-return/) (2023-07-12): Insights on the software supply chain security issues in the open source ecosystem, and how we can improve our practices and tools to create more secure and trustworthy software.
- [Share features in Angular using libraries and npm link](https://www.sparkfabrik.com/en/engineering/start-working-with-angular-libraries/) (2023-07-10): How to setup your workspaces to work smoothly on shared features for multiple Angular projects, using libraries and npm-link.
- [Real-time communication with WebSockets & Kafka](https://www.sparkfabrik.com/en/engineering/publisher-subscriber-kafka/) (2023-06-21): Solving the WebSockets load balancer problem using the Pub/Sub pattern
- [Using the Command pattern in Drupal](https://www.sparkfabrik.com/en/engineering/command-pattern-drupal/) (2023-05-30): Implementing the Command pattern in Drupal using the Symfony Messenger component.
- [Next.js - An introduction](https://www.sparkfabrik.com/en/engineering/nextjs-intro/) (2023-05-11): A quick introduction to Next.js, a React framework for building server-side rendered and static web applications.
- [WebProfiler Drupal Module - Updates](https://www.sparkfabrik.com/en/engineering/webprofiler-updates/) (2023-04-06): A quick update on the WebProfiler Drupal module, with the new features of the 10.0.0 release.
- [Integrate external secrets management systems in Kubernetes](https://www.sparkfabrik.com/en/engineering/integrate-external-secrets-management-systems-in-kubernetes/) (2022-03-24): Integrate external secrets management systems in Kubernetes.
- [How to build and deploy React Native applications with Fastlane](https://www.sparkfabrik.com/en/engineering/fastlane-build/) (2022-03-03): A detailed look at our internal Fastlane setup, operating on cross-platform React Native projects as a team, integrating the CI/CD environment and CLI operations.
- [Divide and conquer everywhere](https://www.sparkfabrik.com/en/engineering/divide-and-conquer-everywhere/) (2022-02-08): Advantages of splitting your software solution in smaller pieces
- [Drupal Front-End Optimization](https://www.sparkfabrik.com/en/engineering/drupal-frontend-optimisation/) (2021-10-18): The optimization best practices for your Drupal website front-end development
- [How to deploy Backstage on AWS with Terraform](https://www.sparkfabrik.com/en/engineering/backstage-deploy-with-terraform/) (2021-10-05): Use Terraform to easily deploy and manage your Backstage application on AWS
- [Dispatching Events in Laravel](https://www.sparkfabrik.com/en/engineering/laravel-dispatching-events/) (2021-09-22): An introduction to Laravel's Event Layer
- [On creating my first public npm package](https://www.sparkfabrik.com/en/engineering/first-npm-module/) (2021-07-19): What I've learned publishing my first npm module
- [PHP profiling with blackfire](https://www.sparkfabrik.com/en/engineering/php-profiling-with-blackfire/) (2021-06-21): How to set up and profile php using blackfire.io
- [PHP REST tools showdown SeriesPart 1: really RESTful APIs](https://www.sparkfabrik.com/en/engineering/php-rest-tools-showdown/) (2017-03-04): A 10.000 feet overview of PHP tools and approaches to RESTful APIs
- [Trapped by an amend, saved by a reflog](https://www.sparkfabrik.com/en/engineering/trapped-by-amend-saved-by-reflog/) (2016-11-29): Personal experience on getting in trouble with a common git command and finding my way out.
- [Drush Make overwrites your custom .gitignore file](https://www.sparkfabrik.com/en/engineering/drush-make-gitignore/) (2016-04-08): An investigation about an undesired behavior: bug or feature?
- [Espruino on NodeMCU (step-by-step guide)](https://www.sparkfabrik.com/en/engineering/espruino-nodemcu-step-by-step/) (2016-02-29): How to flash NodeMCU with Espruino firmware and basic examples on how to use it.

---

This is the Markdown version of an Engineering page of SparkFabrik, for AI agents and crawlers. The full page is at https://www.sparkfabrik.com/en/engineering/.
