Client
Work type
Dates
Technical stack
Next.JS
React
Zustand
AWS
Typescript
PostgreSQL
Express
SicPama is a company specializing in technology solutions for the food service and hospitality industries. Their mission is to streamline restaurant operations, enhance customer experiences, and optimize workflows through innovative software solutions.
I joined SicPama during their transition from a POC (Proof of Concept) to a robust MVP (Minimum Viable Product). My primary role was to refactor their application to adhere to clean code principles and adopt a more data-driven approach. Under the supervision of the CTO, we undertook extensive work on the customer-facing client, the backend, and the KDS (Kitchen Display System). As the company grew, we also had to accommodate new requests from customers and seamlessly integrate new features alongside our ongoing refactoring efforts. The biggest challenge we faced was managing real-time and concurrency issues, particularly in scenarios where multiple customers could order and pay simultaneously for the same cart. To address these challenges effectively, we leveraged a Domain-Driven Design (DDD) approach, allowing us to tackle these problems not just from a developer’s perspective, but also through the lens of a restaurant owner, ensuring practical and reliable solutions.
As a web developer, my primary mission was to overhaul the entire front-end client. This involved optimizing the use of Zustand (our state manager), minimizing unnecessary rendering, managing real-time communication between customers, and refactoring the codebase to adopt a more efficient and scalable architecture using clean architecture principles. Following the principles of Extreme Programming (XP), we released updates daily and collected feedback from shop owners to remain highly responsive to their needs. One critical focus was ensuring the release of stable versions to prevent disruptions in the kitchen. Another key objective was empowering restaurant owners with the ability to manage all available translations in the customer application, enhancing usability for diverse audiences. My second mission centered on improving the KDS, the cornerstone of restaurant operations. This involved implementing features such as table and order management, food stock tracking, refund processing, and revenue reporting. The goal was to evolve the KDS from a simple order display system into a comprehensive online POS (Point of Sale) solution, providing restaurant owners with full control over their operations within the SaaS platform. My third mission was to refactor the admin and restaurant owner dashboard. We transitioned from a Next.js-based application to a pure React application with an Express backend. This refactor included developing new features such as a stamp and promotion code system, stock management tools, analytics reports, and a menu management system. These features empowered both SicPama administrators and restaurant owners to manage their operations more effectively. To ensure high-quality and reliable releases, all new features were developed using Test-Driven Development (TDD). This approach enabled us to deliver updates quickly with minimal bugs, ensuring a seamless experience for users.
Spearheaded the migration of a mixed JavaScript/TypeScript React application to full TypeScript, improving code reliability, maintainability, and scalability.
Revamped state management by normalizing data structures, which significantly enhanced performance and simplified data handling across the application.
Resolved over 500 compilation warnings, ensuring clean and robust code for seamless development and maintenance.
Introduced functional programming principles to improve code readability, reusability, and testability.
Collaborated with the CTO to refactor the backend using clean architecture and SOLID principles, streamlining development workflows and ensuring long-term scalability of the system.
Coupons System: Developed a robust system for managing customer discounts and promotions, driving user engagement and sales.
Menu Management and Inventory System: Built tools for managing restaurant operations, including dynamic menu updates and inventory tracking.
Kitchen Display System (KDS): Improved and optimized the KDS for better usability, ensuring efficient communication between front-of-house and back-of-house operations.
Delivered a more intuitive and efficient user interface for customer-facing applications, aligning with the needs of end-users and stakeholders.
Actively incorporated user feedback to fine-tune features and workflows.
Provided guidance to team members on TypeScript best practices and functional programming techniques, fostering a culture of continuous learning and improvement.
Delivered a robust, scalable solution that enhanced operational efficiency for restaurants and food service businesses.
Ensured reliable and efficient functionality for both in-house staff and end customers, positively impacting the overall user experience.