1 of 54

2 of 54

How it started…

3 of 54

But then …

4 of 54

How it’s going…

5 of 54

And sometimes

also…

6 of 54

And even this…

7 of 54

8 of 54

Our job has changed

We all got promoted to team leads…

@tomastrajan

9 of 54

Since April 2026

@tomastrajan

10 of 54

TOMAS TRAJAN

I build, teach, write & speak about Angular

11 of 54

ANGULAREXPERTS.IO

Expert support

for successful

enterprise Angular

development!

@tomastrajan

12 of 54

WORKSHOP TRAINER

Modern Angular & NgRx,

WORKSHOP TRAINER

@tomastrajan

13 of 54

ANGULAR BLOG

🔗angularexperts.io/blog

@tomastrajan

14 of 54

SPEAKER

@tomastrajan

15 of 54

4.5B

tokens

@tomastrajan

16 of 54

An insane value arbitrage

  • Paid ~ 300 USD (plus then pro)

  • Estimated enterprise cost (with assumptions)
    • 80% / 20% tokens IN / OUT
    • ~ 40% cached tokens

  • ~ 36’000,- USD worth of value

  • +12,000% ROI 🤯

@tomastrajan

17 of 54

Where did it all go

  • OMNIBOARD (product)
  • Client work
  • Automation (skills / processes / extensions)
  • Pet projects (coffee machine app, …)

@tomastrajan

18 of 54

@tomastrajan

19 of 54

Also for the client work…

@tomastrajan

20 of 54

@tomastrajan

21 of 54

OMNIBOARD LoC changed

@tomastrajan

22 of 54

LoC LoC LoC but what does that mean

  • Many new features
    • New check types and dashboard item types
    • Many UI / UX improvements
    • Agentic checks and OMNIBOARD MCP for auto-fixing
    • Analytics
    • Report bug / feedback suggestion collection system

Refactors and migrations for Signals and NgRx

@tomastrajan

23 of 54

100k+

LoC changed in ~2.5 months

@tomastrajan

24 of 54

Didn’t hit the wall,

(almost) no slop

How come?!?!?

@tomastrajan

25 of 54

It gets better

  • Initially ZERO unit tests
  • Maybe max THREE e2e tests
  • Changes directly to prod
  • And zero downtime?!

@tomastrajan

26 of 54

Architecture & patterns matter.

@tomastrajan

27 of 54

Clean Architecture™

equals

ISOLATION

@tomastrajan

28 of 54

ISOLATION

equals

IMPL DOESN’T* MATTER

(as much as before)

@tomastrajan

29 of 54

ISOLATION

equals

PARALLELIZED WORK

(even without worktrees)

@tomastrajan

30 of 54

ISOLATION >>> DRY

BEFORE

@tomastrajan

31 of 54

ISOLATION >>>>>>>>>>>>>>>>

DRY

AFTER

@tomastrajan

32 of 54

ISOLATION

equals

PREVENTING WRONG IMPORTS

@tomastrajan

33 of 54

34 of 54

@tomastrajan

35 of 54

Automated architecture

validation with

eslint-plugin-boundaries

@tomastrajan

36 of 54

Clean dependency graph between parts of the codebase

@tomastrajan

37 of 54

Enterprise architecture (e)book

  • V2.5 out now
  • Angular 20
  • Standalone first
  • Example repo
  • 180+ pages of content
  • 8+ years of experience
  • Lifetime access

@tomastrajan

38 of 54

@tomastrajan

39 of 54

@tomastrajan

40 of 54

Automated architecture (validation) as a skill

  • Agent knows about the arch concepts
  • Agent can run lint to auto-validate correctness
  • === solved concern
  • Only review created / touched files location
  • Only high level feedback, extract X as ui/ or pattern/ when expecting reuse, or make a new feature/

@tomastrajan

41 of 54

@tomastrajan

42 of 54

What about the official angular-developer skill

@tomastrajan

43 of 54

Agents are great at following established patterns in the codebase

@tomastrajan

44 of 54

Official angular-developer skill

  • Great when first starting working on a new project
  • Great for migration from old to new APIs (new releases)
  • Less important once codebase contains enough impl
  • I never call it explicitly besides migration to new APIs

@tomastrajan

45 of 54

What about state management?!

@tomastrajan

46 of 54

COMMON PATTERNS

>>>>>>

custom abstractions

(NgRx global store has only 5 concepts, and some verbosity)

@tomastrajan

47 of 54

@tomastrajan

48 of 54

@tomastrajan

49 of 54

State management with NgRx

  • Just 5 dedicated building blocks
  • Repeatable patterns and approaches
  • 1st class support to retrieve router state anywhere (router-store vs withComponentInputBinding())

  • Verbosity is free*

@tomastrajan

50 of 54

Skills as workflows

@tomastrajan

51 of 54

@tomastrajan

52 of 54

SUMMARY

  • Clean Architecture / ISOLATION is king
  • Use skills to establish codebase patterns
  • Agents follow patterns pretty well
  • High level reviews, impl matters less
  • Skills for workflows
  • Minimal AGENTS.md rules for recurring mistakes only
  • Works better for LOGIC vs UI ( ~10 x more prompts required )
  • Parallelization of bigger tasks with sub-agents

@tomastrajan

53 of 54

Let’s check

the code

@tomastrajan

54 of 54

THANK YOU and LET’S TALK!

Follow me

@tomastrajan