We worked inside the client team rather than beside it as a separate delivery unit.
Architecture first: the structure of the application and the services it depends on were settled before interface work began.
A custom design system: no off-the-shelf component library. Components were built for the client and owned by the client.
Accessibility in the foundation: React Aria as the behavioural layer beneath every component, so keyboard handling, focus management and ARIA semantics are inherited rather than retrofitted screen by screen.
Type safety end to end: TypeScript across the application.
Data and forms: TanStack for server state, data-dense views, and validation-heavy flows.
Delivery pipeline from day one: GitHub Actions for automated testing, builds and controlled deployments, rather than a pipeline bolted on once the product was written.
We used AI-assisted development throughout to move faster on a rebuild of this size. That is a delivery choice, not a product claim - the portal itself ships no AI features.