# DominikCortesePieper URL: https://pieper.io/ ## About & Me URL: https://pieper.io/about/ Dominik Cortese Pieper, Topic Lead Frontend and Angular architect. Career, skills, and the thinking behind building Angular at scale with AI-assisted workflows. # About & _Me_ Engineering discipline, community spirit, and a focus on systems that last — here's a bit about who I am and how I think. ![](/mascots/systema/normal.webp) ![Dominik Cortese Pieper](/blog/dominik-pieper.png) ## Dominik Cortese Pieper Topic Lead Frontend & Solution Architect Nx Champion, Angular Space Mentor, and plugin author of Nxext plugins for NxDevTools. Passionate about web standards, cloud solutions, and crafting thoughtful, human-centered digital experiences. [LinkedIn](https://linkedin.com/in/dominikpieper)[GitHub](https://github.com/DominikPieper) Nx Champion Angular Space Mentor Nxext Plugin Author Web Standards Advocate ![](/mascots/branchy/normal.webp) ## Technical _Toolkit_ A technical skillset needs constant care and refinement. Here are the technologies and patterns I rely on and keep sharpening. AngularReactTypeScriptNxRxJSSignalsNode.jsCloud ArchitectureStorybookWeb StandardsDesign Systems ## My _Philosophy_ Good software adapts gracefully and serves the people who use it. The best systems evolve deliberately toward a clear, well-considered shape. ### Built to Evolve Systems should evolve deliberately, not be forced into rigid, predetermined structures ### Human-Centered Technology serves people, not the other way around. Interfaces feel warm and approachable ### Thoughtful Connections Every component, every interaction is intentionally crafted and meaningfully connected ### Living Documentation Documentation evolves alongside the system, staying current and genuinely useful ## Community & Volunteering Co-Organizer ### AngularRuhr Nov 2023 – Present Co-organizing the Angular Ruhr meetup in Essen, Germany, fostering the local Angular community through educational events. [AngularRuhr](https://www.meetup.com/angular-ruhr/) Organizer ### Storybook Germany Meetup May 2024 – Present Organizing the Storybook Germany Meetup, building a community around component-driven development and design systems. [Storybook Germany Meetup](https://www.meetup.com/storybook-germany/) ## See Organic Code in Action [Read the Blog](/blog)[View My Work](/work) --- ## A2UI vs. AG-UI vs. MCP Apps: the map nobody draws properly URL: https://pieper.io/blog/a2ui-ag-ui-mcp-landscape/ A2UI, AG-UI, MCP Apps, A2A: four protocols, four layers, zero clean explanations. Here's the map I wish I'd had before working through this for Angular. [Back to Blog](/blog) posts/a2ui-ag-ui-mcp-landscape.ts # A2UI vs. AG-UI vs. MCP Apps: the map nobody draws _properly_ // Jun 18, 2026 · 7 min read · Architecture [#Angular](/blog?tags=Angular)[#A2UI](/blog?tags=A2UI)[#AG-UI](/blog?tags=AG-UI)[#MCP Apps](/blog?tags=MCP%20Apps)[#Agentic UI](/blog?tags=Agentic%20UI)[#Architecture](/blog?tags=Architecture) Table of Contents If you’re working on agent-generated UI right now, you have a problem that has nothing to do with code: nobody explains what is what. A2UI, AG-UI, A2A, MCP Apps, Generative UI. Five terms that show up in every other blog post and get used incorrectly in every third one. Even CopilotKit and Google dedicate entire doc sections to the question “Confused about A2UI and AG-UI? That’s understandable!” Mix up the terms and you’ll make the wrong architecture decisions. So here’s the map I wish I’d had before I started working through this topic for Angular. ## Four protocols, four problems There are four specs in this space. They solve different problems at different layers. **A2UI (Agent-to-User Interface)** is Google’s declarative UI spec protocol. The agent describes as JSON _what the user should see_: components, data, layout. The design decision you need to understand: A2UI uses a flat adjacency list instead of a nested component tree. That sounds like an implementation detail, but it’s not. A flat list can be streamed incrementally. Individual components can be corrected without regenerating the entire tree. Data binding runs through JSON Pointers (RFC 6901). Current status: v0.9.1 stable, v1.0 as release candidate. Around 15,000 GitHub stars, official renderers for React, Angular, Lit, and Flutter. **AG-UI (Agent-User Interaction Protocol)** from CopilotKit is the runtime protocol. It doesn’t define how UI looks. It defines _how agent and app talk to each other_: a bidirectional stream of typed JSON events (`TEXT_MESSAGE_CONTENT`, `TOOL_CALL_START`, `STATE_DELTA`) over HTTP/SSE/WebSockets. AG-UI is spec-agnostic. It transports A2UI payloads, MCP Apps payloads, or whatever your stack emits. Adopted by Google, LangChain, AWS, Microsoft, Mastra, and others. Around 14,700 stars. **MCP Apps** (the official MCP extension, evolved from the community project `mcp-ui`) take a third approach: UI as iframe sandbox. An MCP tool returns a `UIResource` that gets rendered as inline HTML in a sandboxed iframe (remote DOM, an `mcp-ui` feature, is deferred to a future extension). Communication via `postMessage`. Live in Claude since January 2026, with launch apps from Slack, Figma, Asana, and others. Framework-neutral because everything lives inside the iframe. **A2A (Agent-to-Agent)** from the Linux Foundation is not a UI protocol. It governs how agents communicate with each other: Agent Cards, task lifecycle, JSON-RPC transport. The UI connection only exists because A2UI payloads _can be transported over_ A2A. A2A itself renders nothing. ![Layer diagram with four levels: A2A as agent mesh, AG-UI as runtime transport, A2UI as UI spec, and MCP Apps as iframe sandbox, with arrows showing how AG-UI transports A2UI payloads](/_astro/diagram-protocol-layers.C1He6KS4_EEgCD.webp) Four protocols, four layers: A2A, AG-UI, A2UI, and MCP Apps ## Why the confusion persists The four protocols address different layers, but they interact. AG-UI transports A2UI specs. A2A can relay A2UI payloads between agents. MCP Apps run in parallel. A layer model where each layer is clear on its own, but the interplay rarely gets explained. On top of that: the React ecosystem has claimed the term “Generative UI” since Vercel’s AI SDK 3.0. `streamUI` and React Server Components became synonymous with the entire concept. Google “Generative UI” and you’ll land on React tutorials, missing the fact that A2UI, AG-UI, and MCP Apps are framework-agnostic. They approach the problem architecturally differently from Vercel’s RSC approach. ## Where does Angular stand? Better than most people think. The infrastructure is there. The attention isn’t. The **A2UI Angular renderer** (`@a2ui/angular`, v0.10.x) is maintained by the A2UI team and uses Angular’s native component model: DI, change detection, `A2UI_RENDERER_CONFIG` as injection token for the component catalog. Caveat: it requires Angular v21. ![TypeScript code showing how A2UI\_RENDERER\_CONFIG as injection token defines the component catalog, with a narrow union type restricting the allowed widget names](/_astro/code-a2ui-angular-di.CMuCznDB_1yxvrN.webp) A2UI component catalog as Angular DI token: the trust boundary in three lines **CopilotKit** ships first-class Angular bindings (`@copilotkit/angular`, Angular 19–21) for AG-UI. `registerFrontendTool`, `registerRenderToolCall`, `provideCopilotKit`, the full AG-UI client with DI integration. What’s missing: CopilotKit doesn’t have its own A2UI renderer for Angular. The `@copilotkit/a2ui-renderer` package is React-only, and Angular support is an open issue (#3582). For A2UI in Angular, you need Google’s renderer. Then there’s **WebMCP in Angular v22** (experimental): `provideExperimentalWebMcpTools` and `provideExperimentalWebMcpForms` expose Signal-based state and Signal Forms as typed tools for browser AI. The app becomes the tool, not just the surface. That’s the inverse direction: not Agent→UI, but App→Agent. Complementary to A2UI. ## Why Angular is well-positioned here Not cheerleading. An observation. Angular’s core concepts fit what declarative agent UI needs, and that’s not a coincidence. A2UI’s component catalog is fundamentally a DI token. The agent can only request components that exist in the registered catalog. Christine Vallaure describes this in her A2UI analysis as the central security boundary: the catalog is the menu the agent gets to order from. In Angular, dependency injection _is_ that boundary. Natively. No workaround. A2UI’s `dataModelUpdate` stream maps onto Signals. JSON Pointer paths become signal reads in the template, a `signals-in-a-service` pattern keeps agent state centralized. No RxJS overhead, no manual subscriptions. And a TypeScript union like `'Button' | 'Card' | 'TextField'` is both a compile-time contract _and_ the catalog the LLM generates against. If the agent invents a component that doesn’t exist, validation catches it. At compile time, not at runtime. For dynamic rendering, there’s `*ngComponentOutlet` with inputs via `ngComponentOutletInputs` and a custom injector via `ngComponentOutletInjector`. Selectorless in v22. Look at the `@a2ui/angular` renderer source, and you’ll find exactly these patterns under the hood. ## The freedom-vs-control spectrum Shubham Saboo (Google) framed the pattern spectrum most clearly. Three levels: **Controlled**: pre-built components, the agent only selects. Pixel-perfect, but expensive in token budget. Every registered component costs roughly 400 tokens per turn. With 25 components, you’re at 10,000 tokens before the user has said anything. **Declarative**: the agent emits a structured UI spec (A2UI). The client maps to its own components. Scales flat: 50 or 500 card types cost the same per turn. Default choice for most teams. **Open-ended**: raw HTML in a sandbox (MCP Apps). Maximum flexibility, zero brand guarantee. Saboo calls it “neo-brutalist on Tuesday, iOS 4 clone on Wednesday.” Only useful for one-off visualizations. ![Horizontal spectrum from Controlled (left, high control) through Declarative (center) to Open-ended (right, maximum freedom), with token cost and brand guarantee as axes](/_astro/diagram-freedom-control-spectrum.Q6J2-uMl_Z18CyAE.webp) The freedom-vs-control spectrum per Saboo: Controlled, Declarative, Open-ended Most teams drift into a pattern instead of choosing deliberately. That’s where architecture decisions go wrong. ## Correctness and drift What happens when the LLM generates components that don’t exist in the catalog? Schema drift between catalog and LLM output is a real problem. A2UI’s validator catches invalid widgets. But it doesn’t catch bad taste, as Vallaure puts it. ![Mascot Systema with speech bubble about the limits of automated validation in agent-generated UI](/_astro/mascot-systema-drift-validation.Dd_KMlQB_YwSoD.webp) Systema on the limits of schema validation In Atelier, my Angular toolkit for component libraries, the spec layer exists for exactly this purpose. It formalizes what a component can and cannot do as a machine-readable contract. When an agent generates against that contract, there’s a clear validation boundary. The same principle as A2UI’s catalog, just approached from the component library side. What I keep thinking about: how do we build drift gates that ensure catalog and LLM output don’t diverge? Compile-time validation via narrow unions is a start. Runtime validation against the registered catalog is the second step. The bridge between those two, a continuous reconciliation between catalog promises and actual agent output: nobody has a convincing solution yet. If you have good ideas, I’d like to hear them. ## The map, summarized Protocol Solves Angular support A2UI What the user sees (UI spec) `@a2ui/angular` (official, v21) AG-UI How agent and app talk (runtime) `@copilotkit/angular` (v19–21) MCP Apps UI as iframe sandbox Framework-neutral (iframe) A2A Agent-to-agent communication No direct UI relevance Keeping these terms straight is not an academic exercise. It determines which libraries you install, what your data stream looks like, and where your trust boundary sits. For Angular teams: the building blocks are there. What’s missing are architecture patterns that bring them together, and experience reports from teams that have shipped this to production. A2UI is at v0.9.1, not v3.0. WebMCP in Angular is experimental. The field moves fast, but the layers I’ve described here will stick around. Transport, runtime, UI spec, agent mesh. The abstraction layers won’t change, only the implementations. Share this post Share:[](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpieper.io%2Fblog%2Fa2ui-ag-ui-mcp-landscape%2F&text=A2UI%20vs.%20AG-UI%20vs.%20MCP%20Apps%3A%20the%20map%20nobody%20draws%20properly)[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fpieper.io%2Fblog%2Fa2ui-ag-ui-mcp-landscape%2F) ![Dominik Cortese Pieper](/blog/dominik-pieper.png) ### Dominik Cortese Pieper Software Engineer & Design Enthusiast Passionate about crafting intuitive user interfaces and writing clean, maintainable code. I believe software should evolve deliberately, not be forced into rigid structures. [](https://twitter.com/dominikpieper)[](https://github.com/DominikPieper)[](https://linkedin.com/in/dominikpieper) Outline ### On this page * [Four protocols, four problems](#four-protocols-four-problems) * [Why the confusion persists](#why-the-confusion-persists) * [Where does Angular stand?](#where-does-angular-stand) * [Why Angular is well-positioned here](#why-angular-is-well-positioned-here) * [The freedom-vs-control spectrum](#the-freedom-vs-control-spectrum) * [Correctness and drift](#correctness-and-drift) * [The map, summarized](#the-map-summarized) Share [Twitter](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpieper.io%2Fblog%2Fa2ui-ag-ui-mcp-landscape%2F&text=A2UI%20vs.%20AG-UI%20vs.%20MCP%20Apps%3A%20the%20map%20nobody%20draws%20properly)[LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fpieper.io%2Fblog%2Fa2ui-ag-ui-mcp-landscape%2F)Copy link --- ## Writing on Organic Code URL: https://pieper.io/blog/ Writing on frontend architecture, Angular, and design systems by Dominik Cortese Pieper — practical notes on building durable, maintainable experiences. # Writing on _Organic_ Code Thoughts on architecture, empathy in engineering, and why the most maintainable systems are the ones we look after deliberately. Filter by:All ArticlesArchitectureA2UIAG-UIAgentic UIAngularArchitecture ![](/mascots/branchy/normal.webp) 1 post found [ ArchitectureJun 18, 2026 ## A2UI vs. AG-UI vs. MCP Apps: the map nobody draws properly A2UI, AG-UI, MCP Apps, A2A: four protocols, four layers, zero clean explanations. Here's the map I wish I'd had before working through this for Angular. 7 min read ](/blog/a2ui-ag-ui-mcp-landscape) --- ## Privacy Policy (Datenschutzerklärung) URL: https://pieper.io/datenschutz/ Privacy policy for pieper.io — how data is handled on Dominik Cortese Pieper's personal website. [Back to Home](/) # Privacy Policy (Datenschutzerklärung) Table of Contents Stand: 16. August 2023 ## Verantwortlicher **Dominik Cortese Pieper** ## Maßgebliche Rechtsgrundlagen **Maßgebliche Rechtsgrundlagen nach der DSGVO:** Im Folgenden erhalten Sie eine Übersicht der Rechtsgrundlagen der DSGVO, auf deren Basis wir personenbezogene Daten verarbeiten. Bitte nehmen Sie zur Kenntnis, dass neben den Regelungen der DSGVO nationale Datenschutzvorgaben in Ihrem bzw. unserem Wohn- oder Sitzland gelten können. Sollten ferner im Einzelfall speziellere Rechtsgrundlagen maßgeblich sein, teilen wir Ihnen diese in der Datenschutzerklärung mit. * **Einwilligung (Art. 6 Abs. 1 S. 1 lit. a) DSGVO)** - Die betroffene Person hat ihre Einwilligung in die Verarbeitung der sie betreffenden personenbezogenen Daten für einen spezifischen Zweck oder mehrere bestimmte Zwecke gegeben. * **Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO)** - Die Verarbeitung ist zur Wahrung der berechtigten Interessen des Verantwortlichen oder eines Dritten erforderlich, sofern nicht die Interessen oder Grundrechte und Grundfreiheiten der betroffenen Person, die den Schutz personenbezogener Daten erfordern, überwiegen. **Nationale Datenschutzregelungen in Deutschland:** Zusätzlich zu den Datenschutzregelungen der DSGVO gelten nationale Regelungen zum Datenschutz in Deutschland. Hierzu gehört insbesondere das Gesetz zum Schutz vor Missbrauch personenbezogener Daten bei der Datenverarbeitung (Bundesdatenschutzgesetz – BDSG). Das BDSG enthält insbesondere Spezialregelungen zum Recht auf Auskunft, zum Recht auf Löschung, zum Widerspruchsrecht, zur Verarbeitung besonderer Kategorien personenbezogener Daten, zur Verarbeitung für andere Zwecke und zur Übermittlung sowie automatisierten Entscheidungsfindung im Einzelfall einschließlich Profiling. Ferner können Landesdatenschutzgesetze der einzelnen Bundesländer zur Anwendung gelangen. **Hinweis auf Geltung DSGVO und Schweizer DSG:** Diese Datenschutzhinweise dienen sowohl der Informationserteilung nach dem schweizerischen Bundesgesetz über den Datenschutz (Schweizer DSG) als auch nach der Datenschutzgrundverordnung (DSGVO). Aus diesem Grund bitten wir Sie zu beachten, dass aufgrund der breiteren räumlichen Anwendung und Verständlichkeit die Begriffe der DSGVO verwendet werden. Insbesondere statt der im Schweizer DSG verwendeten Begriffe „Bearbeitung" von „Personendaten", "überwiegendes Interesse" und "besonders schützenswerte Personendaten" werden die in der DSGVO verwendeten Begriffe „Verarbeitung" von „personenbezogenen Daten" sowie "berechtigtes Interesse" und "besondere Kategorien von Daten" verwendet. Die gesetzliche Bedeutung der Begriffe wird jedoch im Rahmen der Geltung des Schweizer DSG weiterhin nach dem Schweizer DSG bestimmt. ## Übersicht der Verarbeitungen Die nachfolgende Übersicht fasst die Arten der verarbeiteten Daten und die Zwecke ihrer Verarbeitung zusammen und verweist auf die betroffenen Personen. ### Arten der verarbeiteten Daten * Bestandsdaten. * Kontaktdaten. * Inhaltsdaten. * Nutzungsdaten. * Meta-, Kommunikations- und Verfahrensdaten. ### Kategorien betroffener Personen * Nutzer. ### Zwecke der Verarbeitung * Erbringung vertraglicher Leistungen und erfüllung vertraglicher Pflichten. * Kontaktanfragen und Kommunikation. * Sicherheitsmaßnahmen. * Verwaltung und Beantwortung von Anfragen. * Feedback. * Marketing. * Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit. * Informationstechnische Infrastruktur. ## Sicherheitsmaßnahmen Wir treffen nach Maßgabe der gesetzlichen Vorgaben unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeiten und des Ausmaßes der Bedrohung der Rechte und Freiheiten natürlicher Personen geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten. Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen und elektronischen Zugangs zu den Daten als auch des sie betreffenden Zugriffs, der Eingabe, der Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, die Löschung von Daten und Reaktionen auf die Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung bzw. Auswahl von Hardware, Software sowie Verfahren entsprechend dem Prinzip des Datenschutzes, durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen. ## Übermittlung von personenbezogenen Daten Im Rahmen unserer Verarbeitung von personenbezogenen Daten kommt es vor, dass die Daten an andere Stellen, Unternehmen, rechtlich selbstständige Organisationseinheiten oder Personen übermittelt oder sie ihnen gegenüber offengelegt werden. Zu den Empfängern dieser Daten können z.B. mit IT-Aufgaben beauftragte Dienstleister oder Anbieter von Diensten und Inhalten, die in eine Webseite eingebunden werden, gehören. In solchen Fällen beachten wir die gesetzlichen Vorgaben und schließen insbesondere entsprechende Verträge bzw. Vereinbarungen, die dem Schutz Ihrer Daten dienen, mit den Empfängern Ihrer Daten ab. ## Internationale Datentransfers Datenverarbeitung in Drittländern: Sofern wir Daten in einem Drittland (d.h., außerhalb der Europäischen Union (EU), des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder die Verarbeitung im Rahmen der Inanspruchnahme von Diensten Dritter oder der Offenlegung bzw. Übermittlung von Daten an andere Personen, Stellen oder Unternehmen stattfindet, erfolgt dies nur im Einklang mit den gesetzlichen Vorgaben. Vorbehaltlich ausdrücklicher Einwilligung oder vertraglich oder gesetzlich erforderlicher Übermittlung (s. Art. 49 DSGVO) verarbeiten oder lassen wir die Daten nur in Drittländern mit einem anerkannten Datenschutzniveau (Art. 45 DSGVO), beim Vorliegen und Einhaltung vertraglichen Verpflichtung durch sogenannte Standardschutzklauseln der EU-Kommission (Art. 46 DSGVO) oder beim Vorliegen von Zertifizierungen oder verbindlicher internen Datenschutzvorschriften verarbeiten. EU-US Trans-Atlantic Data Privacy Framework: Im Rahmen des sogenannten „Data Privacy Framework" (DPF) hat die EU-Kommission das Datenschutzniveau ebenfalls für bestimmte Unternehmen aus den USA im Rahmen der Angemessenheitsbeschlusses vom 10.07.2023 als sicher anerkannt. Die Liste der zertifizierten Unternehmen als auch weitere Informationen zu dem DPF können Sie der Webseite des Handelsministeriums der USA unter [https://www.dataprivacyframework.gov/](https://www.dataprivacyframework.gov/) (in Englisch) entnehmen. ## Rechte der betroffenen Personen Rechte der betroffenen Personen aus der DSGVO: Ihnen stehen als Betroffene nach der DSGVO verschiedene Rechte zu, die sich insbesondere aus Art. 15 bis 21 DSGVO ergeben: * **Widerspruchsrecht:** Sie haben das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. Werden die Sie betreffenden personenbezogenen Daten verarbeitet, um Direktwerbung zu betreiben, haben Sie das Recht, jederzeit Widerspruch gegen die Verarbeitung der Sie betreffenden personenbezogenen Daten zum Zwecke derartiger Werbung einzulegen; dies gilt auch für das Profiling, soweit es mit solcher Direktwerbung in Verbindung steht. * **Widerrufsrecht bei Einwilligungen:** Sie haben das Recht, erteilte Einwilligungen jederzeit zu widerrufen. * **Auskunftsrecht:** Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend den gesetzlichen Vorgaben. * **Recht auf Berichtigung:** Sie haben entsprechend den gesetzlichen Vorgaben das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen. * **Recht auf Löschung und Einschränkung der Verarbeitung:** Sie haben nach Maßgabe der gesetzlichen Vorgaben das Recht, zu verlangen, dass Sie betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe der gesetzlichen Vorgaben eine Einschränkung der Verarbeitung der Daten zu verlangen. * **Recht auf Datenübertragbarkeit:** Sie haben das Recht, Sie betreffende Daten, die Sie uns bereitgestellt haben, nach Maßgabe der gesetzlichen Vorgaben in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten oder deren Übermittlung an einen anderen Verantwortlichen zu fordern. * **Beschwerde bei Aufsichtsbehörde:** Sie haben unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs das Recht auf Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres gewöhnlichen Aufenthaltsorts, ihres Arbeitsplatzes oder des Orts des mutmaßlichen Verstoßes, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden personenbezogenen Daten gegen die Vorgaben der DSGVO verstößt. ## Einsatz von Cookies Cookies sind kleine Textdateien, bzw. sonstige Speichervermerke, die Informationen auf Endgeräten speichern und Informationen aus den Endgeräten auslesen. Z.B. um den Login-Status in einem Nutzerkonto, einen Warenkorbinhalt in einem E-Shop, die aufgerufenen Inhalte oder verwendete Funktionen eines Onlineangebotes speichern. Cookies können ferner zu unterschiedlichen Zwecken eingesetzt werden, z.B. zu Zwecken der Funktionsfähigkeit, Sicherheit und Komfort von Onlineangeboten sowie der Erstellung von Analysen der Besucherströme. **Hinweise zur Einwilligung:** Wir setzen Cookies im Einklang mit den gesetzlichen Vorschriften ein. Daher holen wir von den Nutzern eine vorhergehende Einwilligung ein, außer wenn diese gesetzlich nicht gefordert ist. Eine Einwilligung ist insbesondere nicht notwendig, wenn das Speichern und das Auslesen der Informationen, also auch von Cookies, unbedingt erforderlich sind, um dem den Nutzern einen von ihnen ausdrücklich gewünschten Telemediendienst (also unser Onlineangebot) zur Verfügung zu stellen. **Hinweise zu datenschutzrechtlichen Rechtsgrundlagen:** Auf welcher datenschutzrechtlichen Rechtsgrundlage wir die personenbezogenen Daten der Nutzer mit Hilfe von Cookies verarbeiten, hängt davon ab, ob wir Nutzer um eine Einwilligung bitten. Falls die Nutzer einwilligen, ist die Rechtsgrundlage der Verarbeitung Ihrer Daten die erklärte Einwilligung. Andernfalls werden die mithilfe von Cookies verarbeiteten Daten auf Grundlage unserer berechtigten Interessen (z.B. an einem betriebswirtschaftlichen Betrieb unseres Onlineangebotes und Verbesserung seiner Nutzbarkeit) verarbeitet. **Speicherdauer:** Im Hinblick auf die Speicherdauer werden die folgenden Arten von Cookies unterschieden: * **Temporäre Cookies (auch: Session- oder Sitzungs-Cookies):** Temporäre Cookies werden spätestens gelöscht, nachdem ein Nutzer ein Online-Angebot verlassen und sein Endgerät (z.B. Browser oder mobile Applikation) geschlossen hat. * **Permanente Cookies:** Permanente Cookies bleiben auch nach dem Schließen des Endgerätes gespeichert. So können beispielsweise der Login-Status gespeichert oder bevorzugte Inhalte direkt angezeigt werden, wenn der Nutzer eine Website erneut besucht. Ebenso können die mit Hilfe von Cookies erhobenen Daten der Nutzer zur Reichweitenmessung verwendet werden. Sofern wir Nutzern keine expliziten Angaben zur Art und Speicherdauer von Cookies mitteilen, sollten Nutzer davon ausgehen, dass Cookies permanent sind und die Speicherdauer bis zu zwei Jahre betragen kann. **Allgemeine Hinweise zum Widerruf und Widerspruch (Opt-Out):** Nutzer können die von ihnen abgegebenen Einwilligungen jederzeit widerrufen und der Verarbeitung entsprechend den gesetzlichen Vorgaben widersprechen. Hierzu können Nutzer unter anderem die Verwendung von Cookies in den Einstellungen ihres Browsers einschränken (wobei dadurch auch die Funktionalität unseres Onlineangebotes eingeschränkt sein kann). Ein Widerspruch gegen die Verwendung von Cookies zu Online-Marketing-Zwecken kann auch über die Websites [https://optout.aboutads.info](https://optout.aboutads.info) und [https://www.youronlinechoices.com/](https://www.youronlinechoices.com/) erklärt werden. * **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). Einwilligung (Art. 6 Abs. 1 S. 1 lit. a) DSGVO). ## Bereitstellung des Onlineangebotes und Webhosting Wir verarbeiten die Daten der Nutzer, um ihnen unsere Online-Dienste zur Verfügung stellen zu können. Zu diesem Zweck verarbeiten wir die IP-Adresse des Nutzers, die notwendig ist, um die Inhalte und Funktionen unserer Online-Dienste an den Browser oder das Endgerät der Nutzer zu übermitteln. * **Verarbeitete Datenarten:** Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten). Meta-, Kommunikations- und Verfahrensdaten (z. B. IP-Adressen, Zeitangaben, Identifikationsnummern, Einwilligungsstatus). * **Betroffene Personen:** Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten). * **Zwecke der Verarbeitung:** Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit; Informationstechnische Infrastruktur (Betrieb und Bereitstellung von Informationssystemen und technischen Geräten). Sicherheitsmaßnahmen. * **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). **Erhebung von Zugriffsdaten und Logfiles:** Der Zugriff auf unser Onlineangebot wird in Form von so genannten "Server-Logfiles" protokolliert. Zu den Serverlogfiles können die Adresse und Name der abgerufenen Webseiten und Dateien, Datum und Uhrzeit des Abrufs, übertragene Datenmengen, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer URL (die zuvor besuchte Seite) und im Regelfall IP-Adressen und der anfragende Provider gehören. Die Serverlogfiles können zum einen zu Zwecken der Sicherheit eingesetzt werden, z.B., um eine Überlastung der Server zu vermeiden (insbesondere im Fall von missbräuchlichen Angriffen, sogenannten DDoS-Attacken) und zum anderen, um die Auslastung der Server und ihre Stabilität sicherzustellen. **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). **Löschung von Daten:** Logfile-Informationen werden für die Dauer von maximal 30 Tagen gespeichert und danach gelöscht oder anonymisiert. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen. ## Blogs und Publikationsmedien Wir nutzen Blogs oder vergleichbare Mittel der Onlinekommunikation und Publikation (nachfolgend "Publikationsmedium"). Die Daten der Leser werden für die Zwecke des Publikationsmediums nur insoweit verarbeitet, als es für dessen Darstellung und die Kommunikation zwischen Autoren und Lesern oder aus Gründen der Sicherheit erforderlich ist. * **Verarbeitete Datenarten:** Bestandsdaten (z.B. Namen, Adressen); Kontaktdaten (z.B. E-Mail, Telefonnummern); Inhaltsdaten (z.B. Eingaben in Onlineformularen); Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten). Meta-, Kommunikations- und Verfahrensdaten (z. B. IP-Adressen, Zeitangaben, Identifikationsnummern, Einwilligungsstatus). * **Betroffene Personen:** Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten). * **Zwecke der Verarbeitung:** Erbringung vertraglicher Leistungen und erfüllung vertraglicher Pflichten; Feedback (z.B. Sammeln von Feedback via Online-Formular); Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit; Sicherheitsmaßnahmen. Verwaltung und Beantwortung von Anfragen. * **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). **Kommentare und Beiträge:** Wenn Nutzer Kommentare oder sonstige Beiträge hinterlassen, können ihre IP-Adressen auf Grundlage unserer berechtigten Interessen gespeichert werden. Das erfolgt zu unserer Sicherheit, falls jemand in Kommentaren und Beiträgen widerrechtliche Inhalte hinterlässt (Beleidigungen, verbotene politische Propaganda etc.). In diesem Fall können wir selbst für den Kommentar oder Beitrag belangt werden und sind daher an der Identität des Verfassers interessiert. **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). ## Präsenzen in sozialen Netzwerken (Social Media) Wir unterhalten Onlinepräsenzen innerhalb sozialer Netzwerke und verarbeiten in diesem Rahmen Daten der Nutzer, um mit den dort aktiven Nutzern zu kommunizieren oder um Informationen über uns anzubieten. Wir weisen darauf hin, dass dabei Daten der Nutzer außerhalb des Raumes der Europäischen Union verarbeitet werden können. Hierdurch können sich für die Nutzer Risiken ergeben, weil so z.B. die Durchsetzung der Rechte der Nutzer erschwert werden könnte. Ferner werden die Daten der Nutzer innerhalb sozialer Netzwerke im Regelfall für Marktforschungs- und Werbezwecke verarbeitet. So können z.B. anhand des Nutzungsverhaltens und sich daraus ergebender Interessen der Nutzer Nutzungsprofile erstellt werden. Für eine detaillierte Darstellung der jeweiligen Verarbeitungsformen und der Widerspruchsmöglichkeiten (Opt-Out) verweisen wir auf die Datenschutzerklärungen und Angaben der Betreiber der jeweiligen Netzwerke. * **Verarbeitete Datenarten:** Kontaktdaten (z.B. E-Mail, Telefonnummern); Inhaltsdaten (z.B. Eingaben in Onlineformularen); Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten). Meta-, Kommunikations- und Verfahrensdaten (z. B. IP-Adressen, Zeitangaben, Identifikationsnummern, Einwilligungsstatus). * **Betroffene Personen:** Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten). * **Zwecke der Verarbeitung:** Kontaktanfragen und Kommunikation; Feedback. Marketing. * **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). **Weitere Hinweise zu Verarbeitungsprozessen, Verfahren und Diensten:** * **LinkedIn:** Soziales Netzwerk; **Dienstanbieter:** LinkedIn Irland Unlimited Company, Wilton Plaza Wilton Place, Dublin 2, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://www.linkedin.com](https://www.linkedin.com); **Datenschutzerklärung:** [https://www.linkedin.com/legal/privacy-policy](https://www.linkedin.com/legal/privacy-policy); **Widerspruchsmöglichkeit (Opt-Out):** [https://www.linkedin.com/psettings/guest-controls/retargeting-opt-out](https://www.linkedin.com/psettings/guest-controls/retargeting-opt-out). * **X:** Soziales Netzwerk; **Dienstanbieter:** Twitter International Company, One Cumberland Place, Fenian Street, Dublin 2 D02 AX07, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). **Datenschutzerklärung:** [https://twitter.com/privacy](https://twitter.com/privacy). ## Plugins und eingebettete Funktionen sowie Inhalte Wir binden in unser Onlineangebot Funktions- und Inhaltselemente ein, die von den Servern ihrer jeweiligen Anbieter (nachfolgend bezeichnet als "Drittanbieter") bezogen werden. Dabei kann es sich zum Beispiel um Grafiken, Videos oder Stadtpläne handeln (nachfolgend einheitlich bezeichnet als "Inhalte"). Die Einbindung setzt immer voraus, dass die Drittanbieter dieser Inhalte die IP-Adresse der Nutzer verarbeiten, da sie ohne die IP-Adresse die Inhalte nicht an deren Browser senden könnten. Wir bemühen uns, nur solche Inhalte zu verwenden, deren jeweilige Anbieter die IP-Adresse lediglich zur Auslieferung der Inhalte verwenden. * **Verarbeitete Datenarten:** Nutzungsdaten (z.B. besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten); Meta-, Kommunikations- und Verfahrensdaten (z. B. IP-Adressen, Zeitangaben, Identifikationsnummern, Einwilligungsstatus); Bestandsdaten (z.B. Namen, Adressen); Kontaktdaten (z.B. E-Mail, Telefonnummern). Inhaltsdaten (z.B. Eingaben in Onlineformularen). * **Betroffene Personen:** Nutzer (z.B. Webseitenbesucher, Nutzer von Onlinediensten). * **Zwecke der Verarbeitung:** Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit. * **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO). **Weitere Hinweise zu Verarbeitungsprozessen, Verfahren und Diensten:** * **Google Fonts (Bezug vom Google Server):** Bezug von Schriften (und Symbolen) zum Zwecke einer technisch sicheren, wartungsfreien und effizienten Nutzung von Schriften und Symbolen im Hinblick auf Aktualität und Ladezeiten, deren einheitliche Darstellung und Berücksichtigung möglicher lizenzrechtlicher Beschränkungen. Dem Anbieter der Schriftarten wird die IP-Adresse des Nutzers mitgeteilt, damit die Schriftarten im Browser des Nutzers zur Verfügung gestellt werden können. **Dienstanbieter:** Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://fonts.google.com/](https://fonts.google.com/); **Datenschutzerklärung:** [https://policies.google.com/privacy](https://policies.google.com/privacy); **Grundlage Drittlandübermittlung:** EU-US Data Privacy Framework (DPF). * **YouTube-Videos:** Videoinhalte; **Dienstanbieter:** Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland; **Rechtsgrundlagen:** Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO); **Website:** [https://www.youtube.com](https://www.youtube.com); **Datenschutzerklärung:** [https://policies.google.com/privacy](https://policies.google.com/privacy); **Grundlage Drittlandübermittlung:** EU-US Data Privacy Framework (DPF). [Erstellt mit kostenlosem Datenschutz-Generator.de von Dr. Thomas Schwenke](https://datenschutz-generator.de/) [Back to Home](/) ### On this page * [Verantwortlicher](#verantwortlicher) * [Maßgebliche Rechtsgrundlagen](#magebliche-rechtsgrundlagen) * [Übersicht der Verarbeitungen](#bersicht-der-verarbeitungen) * [Arten der verarbeiteten Daten](#arten-der-verarbeiteten-daten) * [Kategorien betroffener Personen](#kategorien-betroffener-personen) * [Zwecke der Verarbeitung](#zwecke-der-verarbeitung) * [Sicherheitsmaßnahmen](#sicherheitsmanahmen) * [Übermittlung von personenbezogenen Daten](#bermittlung-von-personenbezogenen-daten) * [Internationale Datentransfers](#internationale-datentransfers) * [Rechte der betroffenen Personen](#rechte-der-betroffenen-personen) * [Einsatz von Cookies](#einsatz-von-cookies) * [Bereitstellung des Onlineangebotes und Webhosting](#bereitstellung-des-onlineangebotes-und-webhosting) * [Blogs und Publikationsmedien](#blogs-und-publikationsmedien) * [Präsenzen in sozialen Netzwerken (Social Media)](#prsenzen-in-sozialen-netzwerken-social-media) * [Plugins und eingebettete Funktionen sowie Inhalte](#plugins-und-eingebettete-funktionen-sowie-inhalte) Certified Organic Content --- ## Legal Notice (Impressum) URL: https://pieper.io/impressum/ Legal notice and contact details for pieper.io, the personal website of Dominik Cortese Pieper. [Back to Home](/) # Legal Notice (Impressum) Table of Contents ## Information according to § 5 TMG **Dominik Cortese Pieper** Helle 17 58802 Balve ## Contact **Email:** [dominik@pieper.io](mailto:dominik@pieper.io) ## Responsible for content according to § 55 Abs. 2 RStV **Dominik Cortese Pieper** Helle 17 58802 Balve ## Disclaimer ### Liability for content The contents of our pages were created with the greatest care. However, we cannot guarantee the accuracy, completeness, or timeliness of the content. As a service provider, we are responsible for our own content on these pages in accordance with § 7 Abs. 1 TMG. According to §§ 8 to 10 TMG, however, we as a service provider are not obligated to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity. Obligations to remove or block the use of information under general laws remain unaffected. However, liability in this regard is only possible from the time of knowledge of a specific legal violation. Upon becoming aware of such legal violations, we will remove this content immediately. ### Liability for links Our offer contains links to external websites of third parties, on whose contents we have no influence. Therefore, we cannot assume any liability for these external contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal content was not recognizable at the time of linking. However, permanent monitoring of the content of linked pages is not reasonable without concrete evidence of a legal violation. Upon becoming aware of legal violations, we will remove such links immediately. ### Copyright The content and works created by the site operators on these pages are subject to German copyright law. The reproduction, editing, distribution, and any kind of exploitation outside the limits of copyright law require the written consent of the respective author or creator. Downloads and copies of this page are only permitted for private, non-commercial use. Insofar as the content on this page was not created by the operator, the copyrights of third parties are respected. In particular, third-party content is marked as such. Should you nevertheless become aware of a copyright infringement, please inform us accordingly. Upon becoming aware of legal violations, we will remove such content immediately. [Back to Home](/) ### On this page * [Information according to § 5 TMG](#information-according-to-5-tmg) * [Contact](#contact) * [Responsible for content according to § 55 Abs. 2 RStV](#responsible-for-content-according-to-55-abs-2-rstv) * [Disclaimer](#disclaimer) * [Liability for content](#liability-for-content) * [Liability for links](#liability-for-links) * [Copyright](#copyright) Certified Organic Content --- ## DominikCortesePieper URL: https://pieper.io/ Frontend architect and Angular trainer. Architecture, Nx monorepos, and on-site Angular training for teams — plus open-source tools and writing. Frontend architecture · Angular · Training # Dominik_Cortese_Pieper Topic Lead Frontend & Angular Architect I help teams build Angular at scale — architecture, Nx monorepos, and AI-assisted workflows — and train their developers on site. Open-source tools, writing, and systems built to last. [View my work](/work)[Get in touch](mailto:hello@pieper.io)[](https://github.com/dominikpieper) dominik.ts Angular · TypeScript · RxJS · Nx Angular at scale — Nx architecture — Team training Frontend architecture · Angular · Training Dominik_Cortese_Pieper Topic Lead Frontend & Angular Architect I help teams build Angular at scale — architecture, Nx monorepos, and AI-assisted workflows — and train their developers on site. Open-source tools, writing, and systems built to last. View my workGet in touch dominik.ts Angular · TypeScript · RxJS · Nx Angular at scale — Nx architecture — Team training ![Dominik Cortese Pieper](/blog/dominik-pieper.png) Selected work ## Two tools, _one idea_ Frameworks change. The contract between design, code, and tooling should not. ### [Nxext](https://nxext.dev) Nx for every framework Nx extensions for building applications with Svelte, SolidJS, Preact, Ionic, Capacitor and more. Empowering developers with tools to build modern web applications efficiently. Role Author & maintainer Outcome Brought first-class Nx support to Svelte, SolidJS, and Preact — letting teams stay in the Nx ecosystem instead of leaving it for their framework of choice. Since 2020– ★ 300 · 50k+ downloads [GitHub](https://github.com/nxext/nx-extensions)[Website](https://nxext.dev) TypeScript · Nx · Open Source · Monorepo ### [Design Systems mit Storybook, Figma und KI](https://conciso.de/seminare/design-system-storybook-training/) Design in Figma. Explore in Storybook. Ship with AI. A hands-on workshop for component-driven UIs. Figma holds the tokens and frames, Storybook explores every variant, and Claude reads both through MCP to write the code. Angular, React, and Vue are built in parallel from the same design. Role Author Outcome Drift between Figma and the code fails a build instead of surviving a screenshot review. Since 2026– [Seminar](https://conciso.de/seminare/design-system-storybook-training/) Angular · React · Vue · Design Systems · AI [All projects](/work) Training & architecture ## Training _on site_, architecture _on your code_ onsite · 1–3 days · up to 8 people ### Angular Fundamentals From first component to a shippable app. Signals, standalone components, modern forms — no legacy detours. Signals & effects · Standalone APIs · Signal Forms · Routing & data access · Testing basics ### Angular Architecture with Nx Monorepo structure, domain boundaries, state and data-access layers, affected builds. The decisions that keep a codebase maintainable past fifty libraries. Workspace & library types · Module boundaries · State & data-access layers · Affected builds & CI · Migration strategy [Request a training](mailto:hello@pieper.io?subject=Training%20request)[Discuss a project](mailto:hello@pieper.io?subject=Architecture) * [**Angular Ruhr** Co-organizer](https://www.meetup.com/angular-ruhr/) * [**Storybook Germany** Organizer](https://www.meetup.com/storybook-germany/) * [**Nx Champion** Nxext author](https://github.com/nxext/nx-extensions) * [**Speaking** Talks & meetups](/speaking) Writing ## Recent _writing_ [All posts](/blog) 1. [Jun 18, 2026 ### A2UI vs. AG-UI vs. MCP Apps: the map nobody draws properly A2UI, AG-UI, MCP Apps, A2A: four protocols, four layers, zero clean explanations. Here's the map I wish I'd had before working through this for Angular. 7 min read ](/blog/a2ui-ag-ui-mcp-landscape) ## Let's talk about your Angular setup. Architecture review, a training for your team, or a second opinion on an AI-assisted workflow — one e-mail is enough. [hello@pieper.io](mailto:hello@pieper.io)[LinkedIn](https://linkedin.com/in/dominikpieper) --- ## Short notes & TIL URL: https://pieper.io/notes/ Short notes and TIL by Dominik Cortese Pieper — quick thoughts on frontend, Angular, and the tools in between. Notes # Short notes & _TIL_ Quick thoughts, snippets, and things learned along the way — smaller than a full post, kept in one stream. [Subscribe](/notes/rss.xml) [Jun 13, 2026](#2026-06-13-boundary-error-boundaries) #angular#error-handling Angular v22 ships `@boundary` — a template-level error boundary that catches render failures in a subtree and shows a fallback instead of crashing the whole view. ``` @boundary {} @error {

Widget failed to render.

} ``` Works like React’s error boundaries but lives in the template syntax. Especially useful in micro frontend shells where one failing component would otherwise take down the entire page. [Jun 12, 2026](#2026-06-12-linked-signal) #angular#signals `linkedSignal` creates a writable signal that resets whenever its source changes — useful for local state that derives from an input. ``` readonly page = input(1)readonly currentPage = linkedSignal(() => this.page()) // currentPage can be mutated locally.// When page() changes, currentPage resets to that new value. ``` The alternative — `effect(() => this.currentPage.set(this.page()))` — works but makes the dependency implicit and runs a tick later. `linkedSignal` is synchronous and self-documenting. [Jun 11, 2026](#2026-06-11-arrow-functions-in-templates) #angular#templates Angular v22 allows arrow functions directly in templates — no more extracting single-use handlers into the component class. ``` ``` Keep them short. If the logic grows, move it to the class — the template should express intent, not implementation. [Jun 10, 2026](#2026-06-10-http-resource) #angular#signals#http `httpResource` replaces the service + Subject pattern for simple HTTP calls. Loading state, errors, and the response are all signals — no RxJS pipe needed. ``` readonly user = httpResource('/api/user/42') // user.value() — the response (or undefined while loading)// user.isLoading() — boolean// user.error() — any thrown error ``` For mutations, stick with `HttpClient` directly. `httpResource` is read-only by design. [Jun 9, 2026](#2026-06-09-at-let-template-variables) #angular#templates Angular’s `@let` declares a local variable directly in the template — no extra component property or `as`\-alias on a pipe needed. ``` @let user = currentUser();

{{ user.name }}

``` Useful whenever a signal or async result is referenced more than once in a template block. Without `@let`, the expression would be re-evaluated on every access. --- ## Search everything URL: https://pieper.io/search/ Search articles and pages on Dominik Cortese Pieper's site — frontend architecture, Angular, and organic code design. Search # Search _everything_ Find articles, notes, and pages across the site — Angular at scale, frontend architecture, and organic code design. Or browse [Notes](/notes)[Blog](/blog)[Work](/work)[Speaking](/speaking)[About](/about) --- ## Speaker on Angular Architecture & AI-Assisted Workflows URL: https://pieper.io/speaking/ Dominik Cortese Pieper is Topic Lead Frontend at Conciso GmbH. He speaks on Angular architecture, AI-assisted workflows, and frontend tooling with Nx. Book him for your event. ![Dominik Cortese Pieper](/blog/dominik-pieper.png) 00 — Speaking # Speaker on Angular _Architecture_ & AI-Assisted Workflows **Dominik Cortese Pieper** is Topic Lead Frontend at **Conciso GmbH**, where he helps teams build **Angular** at scale and integrate **AI-assisted workflows** into their engineering practice. He is an **Nx** Champion, author of the Nxext plugins, and speaks regularly on frontend architecture, component-driven development, and LLM-powered tooling. 01 — Topics ## Speaking _topics_ * Angular Architecture at Scale * AI-Assisted Development Workflows * Frontend Tooling with Nx * Design-to-Code with AI * Component Libraries 02 — Talks ## Talk _history_ Year Title Event Topic 2026 Let KI eat your Design System Conciso Offsite MCP servers + design systems, LLM-safe component documentation 2024 Durchdachte Frontend-Architektur mit Nx Modern Frontends (Conciso) Monorepo architecture with Nx 2024 Better Frontend Tooling mit Nx Angular Ruhr Nx tooling for faster frontend delivery 2024 Frontend Architektur mit Nx (Angular und Vue) Angular Ruhr Cross-framework monorepo setup 2023 Angular's neue Kontrollstrukturen Angular Ruhr @if, @for, @switch control flow 2021 Architecture for Growing Angular Applications Conciso Scalable Angular architecture patterns 2020 Reactive Angular Conciso Reactive patterns with RxJS 03 — Bio ## Full _biography_ Dominik Cortese Pieper works as Topic Lead Frontend at **Conciso GmbH**, a German IT consultancy, where he architects component-driven UI systems with **Angular**, NgRx, and **Nx** for enterprise clients. He is an Nx Champion and the author of the Nxext plugin suite (Stencil, Svelte, SolidJS for Nx). His current focus sits at the intersection of frontend architecture and AI: designing scalable **frontend architectures**, building LLM-optimized component APIs, and training engineering teams on **AI-assisted development workflows**. Dominik co-organizes Angular Ruhr and has spoken at meetups and company events on topics ranging from reactive Angular patterns to monorepo tooling with Nx. He builds Atelier, an open-source design-to-code workshop that turns Figma components into verified Angular, React, and Vue implementations through AI. ## Interested in having Dominik _speak_ at your event? Connect on LinkedIn. Bios, headshot, and talk abstracts available on request. [LinkedIn](https://www.linkedin.com/in/dominikpieper) --- ## Work & Projects URL: https://pieper.io/work/ Open-source projects, community work, and selected builds by Dominik Cortese Pieper — frontend architect focused on Angular and clean, human-centered interfaces. 00 — WORK # Work & _Projects_ Building in the open — open source projects, community organizing, and frontend craft. 01 — CRAFT ## Professional ![Conciso](/conciso.png)2020 — Present ### Topic Lead Frontend & Solution Architect Conciso GmbH By day, I work at Conciso as a Topic Lead Frontend & Solution Architect — helping teams build scalable, well-crafted frontend systems. If you want to work with me, reach out to Conciso. [Visit Conciso](https://conciso.de)[Contact via Email](mailto:info@conciso.de) ### Where I've _worked_ 1. ### Topic Lead Frontend & Solution Architect Now2017 – Present Conciso GmbH Helping teams build scalable, well-crafted frontend systems — Angular at scale, design systems, and AI-assisted developer workflows. [Visit](https://conciso.de) 2. ### Senior Engineer & Solution Architect 2015 – 2017 Freelance Independent engineering and architecture work for client projects: designing solutions, building them, and seeing them through to delivery. 3. ### Systemadministrator 2013 – 2015 itemis AG Ran internal IT and development infrastructure for a software engineering company: servers, tooling, and keeping developers unblocked. ![](/mascots/branchy/normal.webp) 02 — COMMONS ## Open Source ### [Nxext](https://nxext.dev) Nx extensions for building applications with Svelte, SolidJS, Preact, Ionic, Capacitor and more. Empowering developers with tools to build modern web applications efficiently. Brought first-class Nx support to Svelte, SolidJS, and Preact — letting teams stay in the Nx ecosystem instead of leaving it for their framework of choice. 300 stars 50k+downloads #TypeScript#Nx#Open Source#Monorepo [GitHub](https://github.com/nxext/nx-extensions)[Visit](https://nxext.dev) "Open source is how I give back to the community that shaped me. Nxext started as a scratch-my-own-itch project and is now used by real teams." ![](/mascots/atomic-andy/normal.webp) 03 — STEWARDSHIP ## Community Beyond code, I organize meetups to connect developers across Germany and strengthen the local community. ### Angular Ruhr Nov 2023 – Present Co-Organizer Co-organizing the Angular Ruhr meetup in Essen, Germany, fostering the local Angular community through educational events. [Meetup Page](https://www.meetup.com/angular-ruhr/) ### Storybook Germany May 2024 – Present Organizer Organizing the Storybook Germany Meetup, building a community around component-driven development and design systems. [Meetup Page](https://www.meetup.com/storybook-germany/) ![](/mascots/flowy/normal.webp) ## Want to see more of my code or read my thoughts? [Read the Blog](/blog)[See GitHub](https://github.com/DominikPieper) ![](/mascots/atomic-andy/normal.webp)