Drupal developer, module maintainer, and profiler of slow things.

I am Luca, a Drupal developer based in Italy and lead developer at SparkFabrik. I maintain WebProfiler and Monolog, and I spend most of my time in the layer underneath a site: the container, the event dispatcher, the cache, and the queries nobody meant to run.

Domain logic on entities, without touching the entity

Entity Adapter attaches domain-specific behaviour to entities, and to any other object, with a PHP attribute and an interface of your own. No bundle class, no entity class override, no helper functions in a .module file.

Drupal in a long-running process

Drupal spends a request filling static caches and then throws the whole process away. Keep the process alive, in a Symfony Messenger worker or a FrankenPHP worker, and every one of those caches becomes a lie that outlives the work it was computed for.

Profiling AI provider calls in Drupal

WebProfiler now collects every call the AI module makes to a provider, with timings, tokens, guardrail verdicts and tool exchanges. Here is what it records and how it stays out of the AI module's way.

Maintains on drupal.org

  1. Project
    WebProfiler
    Role
    Maintainer
  2. Project
    Monolog
    Role
    Maintainer
  3. Project
    Search API Typesense
    Role
    Maintainer
  4. Project
    Devel
    Role
    Co-maintainer
See all projects

Follow the blog

New posts go out through the feed. No newsletter, no tracking, no sign-up.

Subscribe by RSS