jm
HomeResumeWorkCodeWriting
EN/FR

writing

Articles

Long-form notes on architecture, Symfony, and backend design.

  • Vue 3TypeScriptJune 20, 2026

    Stop modeling UI state with booleans

    isLoading, isError, hasData - three booleans describe eight possible combinations, and only four of them are states your component should...

  • SymfonyDDDApril 3, 2026

    Domain events with Symfony Messenger: keeping side effects out of your aggregates

    An aggregate that sends an email when an order ships knows about SMTP. That's the wrong kind of knowledge for a class whose only job is t...

  • DDDFebruary 12, 2026

    Bounded contexts are a language boundary, not a folder structure

    A folder named Billing next to a folder named Shipping looks like two bounded contexts. It isn't one until the word Order means something...

Contact

  • m.johan.rkt@gmail.com
  • LinkedIn
  • GitHub

Fullstack developer, based in France.