← ayoub touatibuild notes

05 / 2024–2026 · arias tech solutions

The shared component library

One monorepo holding the UI parts and the standard service integrations every new project started from.

The shared component library

the brief

Five products built by a small team kept re-implementing the same table, the same filter bar, the same auth wiring — each slightly differently.

what I did

Angular components on PrimeNG and Tailwind, published as versioned packages, plus NestJS modules for the integrations every service needed. Documented with live examples, because nobody reads a README for a button.

what broke

The first year it was a folder people imported directly. Someone reached into an internal file, we changed it, two apps broke on a Friday. Versioned releases and a clear public surface came out of that.

what I'd change

I'd say no more often. A component used by one product is not a shared component; a few things went in early that only ever had one consumer and cost us maintenance for nothing.

Building something similar? I'd love to help.

I'm freelancing from October. Feel free to tell me about the problem — a rough description is more than enough to start.