Project detail · Sluice

Sluice Design System & Frontend Platform

I designed and built the frontend foundation behind Sluice — a reusable Angular component library, documentation platform and visual customisation system designed to accelerate product development and maintain UI consistency across applications.

My role: Senior Frontend Engineer · Team Lead

Focus: Architecture · Design Systems · Angular · Storybook · Component Engineering

AngularReactIonicStorybookTypeScriptRxJsComponent ArchitectureDesign SystemsWeb Content Accessibility Guidelines (WCAG)REST APIsnpmTechnical Documentation
Open Sluice ↗
Sluice

Product architecture in six views

Selected screens demonstrating the product architecture, component library, documentation workflow and visual customisation capabilities.

01 · Introduction
Sluice landing page — introduction and product overview

Sluice product overview

The product entry point, positioning Sluice as a reusable frontend platform for building consistent digital products.

02 · Technical complexity
Online blog image — Technical complexity behind simple designs

Technical architecture behind the UI

Engineering concepts, implementation decisions and technical considerations behind building a reusable component-driven platform.

03 · Components
Component list image — Customisable components

Reusable component library

A centralized set of configurable UI components designed for reuse across product interfaces.

04 · Documentation
Documentation screen image — Customisable documentation

Developer documentation

Documentation designed to make components easy to discover, understand and integrate into applications.

05 · Brand theming
Manage colours image — Manage colours image

Theme and brand configuration

Visual configuration capabilities allowing product teams to adapt components to different brand requirements.

06 · Visual customisation
Visual editor image — Preview table + customisation panel

Visual component customisation

A dedicated interface for previewing and configuring component appearance without manually rebuilding the underlying UI.

Technical knowledge

Technologies & engineering areas

Angular · React · TypeScript · Architecture · Design Systems · Web & Mobile

LanguagesTypeScript · JavaScript · HTML5 · CSS3
FrameworksAngular · React · RxJS · Ionic · Cordova
UI EngineeringAngular Material · Tailwind · Bootstrap · Storybook · MUI · Responsive Design · Accessibility
ArchitectureFrontend Architecture · Modular Architecture · Component Architecture · Design Systems · Component Libraries
State & DataRxJS · Reactive State Management · REST APIs · GraphQL · Firebase
AuthenticationOAuth / JWT · Role-based access control
DevOpsGitHub Actions · CircleCI · Git · GitHub · GitLab · Bitbucket
Product DevelopmentWeb applications · Mobile applications · Cross-platform development · Application builders
LeadershipArchitecture decisions · Sprint planning · Code reviews · Mentoring · Engineering standards
My contribution

Architecture and implementation of the Angular component library, reusable UI patterns, documentation workflow and visual customisation capabilities. I also contributed to technical direction, code quality, mentoring and frontend engineering standards.

Built using Sluice

Gym application

The application demonstrates the practical value of the design system: the designer could focus on UX and product flows in Figma rather than preparing the visual specification of every individual component. The developer installed the Sluice package and used the ready components directly.

Why it was faster

UX-first design + ready-to-use frontend components

Without a component system, a designer and developer spend significant time repeatedly defining and implementing the visual behaviour of standard UI elements.

With Sluice, the design system already provided the component styles and reusable implementation. The designer could concentrate on the UX, while the developer assembled the product from existing components.

Approximately 5× faster implementation

By separating UX decisions from repetitive UI implementation, the design system allowed the designer to focus on product flows while developers assembled interfaces from existing, documented components.

5×faster implementation
01

Define UX flows

Designer focuses on product experience.

02

Select existing components

UI patterns are already implemented.

03

Configure and integrate

Developer installs the package and adapts components to the product.

04

Assemble the product

Less repetitive UI implementation and faster delivery.

Gym application

A practical example: Gym application

The Gym application demonstrates how the design system was used in a real product workflow. Instead of recreating UI components for every screen, the developer could install the Sluice package and assemble the application using existing components.

01 · Product Experience
Gym application image 01

Gym platform overview

A complete product interface assembled using reusable components from the Sluice design system.

02 · Onboarding
Gym application image 02

User onboarding flow

A structured onboarding experience demonstrating reusable forms, inputs and interaction patterns within a real product flow.

03 · Product Creation
Gym application image 03

Data-driven product configuration

A management flow combining forms, reusable UI components and structured data to create and configure product content.

04 · Booking
Gym application image 04

Booking & interaction flow

An interactive booking experience built from reusable components, demonstrating consistent forms, controls and user feedback patterns.

05 · Gym Profile
Gym application image 05

Responsive product interface

A responsive product view demonstrating how the component system adapts across different content structures and screen sizes.

06 · Public Website
Gym application image 06

Customer-facing product experience

A polished public-facing interface demonstrating how the same component foundation can support both application and marketing experiences.