Selected work02 / 092025 — now
ng-alda
Angular design system & component library
The library I wished I had on every project. It now runs inside Ulory, iDenote and parts of Noctua.
- Studio
- AstroNote
- Years
- 2025 — now
- Role
- Design, engineering, documentation
- Scope
- 60 components, theming engine, Figma kit, docs site, licensing

ng-alda grew out of client work. The same app bar, data table, page wizard and tree kept appearing in CWEX and then in Tallsoft, so in early 2026 I pulled them out into a library of their own. Version 1.0 shipped in February; it is on 2.1 now.
It is built on Angular’s newest primitives (signals, standalone components, OnPush), themed entirely through CSS custom properties, documented on ng-alda.astronote.co and in TypeDoc, and tested to around 95% coverage.
A theme starts from one colour: the engine builds the palette from a colour harmony and checks every pair against WCAG contrast. It ships in five locales, right-to-left included, and is sold under AstroNote.
Overview & launch
The docs site doubles as the product page: sixty components, five languages, AA accessibility and test coverage in the mid-nineties, sold as perpetual licences through AstroNote.


Components
The pieces products are actually made of: form controls in three styles and three sizes, date and range pickers with presets, alerts, toasts and menus, a data grid that keeps 50,000 rows smooth by rendering only the twenty-five you can see, a kanban, and canvas charts with no charting library underneath.




Theming, dark mode & RTL
Give it one colour and the theme builder works out the rest through one of six harmonies. Every colour gets a ten-step ramp, and a live matrix checks each text and background pair against WCAG. Swap the preset and a whole app follows; the same tokens run dark mode and a fully mirrored Arabic layout.



Docs & developer experience
One icon component with nine icon libraries behind it, token docs that say which variable goes where, live playgrounds for the charts and a TypeDoc reference for every public class.

Built on ng-alda
The library is not a showcase; products run on it. Ulory, AstroNote's task and project app, takes its kanban, backlog and calendar views straight from ng-alda.

The method behind it
- 2025·02CWEX: first shared components
- 2025·08Tallsoft: second generation
- 2026·02ng-alda 1.0, now 2.1
- 2026Ulory, iDenote, Noctua
// Ulory's whole palette, from one colour changeTheme('#2A7AED', TRIADIC); // → primary #2A7AED · secondary #ED2A7A · WCAG-checked
#EB4037accent#EB9A37secondary#2A7AEDulory#ED2A7Atriadic