Our approach
In order to deliver value quickly and consistently, we embraced our SMART Build principles, leveraging the power of Laravel using Filament for the admin portal and API Platform as foundation for API development. The booking widget was built using React with shadcn/ui and Tailwind. This approach enabled us to deliver a robust, modular, and governance-ready platform that accelerates development, reduces maintenance, and ensures a consistent and intuitive UX across all salons.
Widget development: Analysis workshops mapped out the ideal customer journey and UX improvements. To accelerate development and ensure accessibility, the widget was built in React, starting from our custom template project containing prebuilt tools like shadcn/ui and Tailwind, which handle most of the boilerplate code required for each setup.
Admin dashboard: On-site sessions captured all operational needs, from managing shifts and staff to updating services, ensuring the system was intuitive for salon employees. A dedicated backend in Laravel Filament connects the widget and admin environment, supported by role-based access control (RBAC) to ensure employees only see the functionality relevant to their role.
API & Integration: The API serves as the central entrypoint, exposing both domain data and logic as a single source of truth. By leveraging API Platform, we accelerate API development through schema-driven resource definitions, automatic serialization, validation, and built-in OpenAPI documentation. This ensures that the booking widget, and all future touchpoints, can consume well-structured APIs. As a result, the solution is extensible, integration-ready, and capable of scaling without rework.
Development proceeded in two-week sprints, with continuous feedback loops. A testing phase with selected salons validated the final platform before a full rollout.