Client Work — Next.js + TypeScript Full-Stack
December 2025 – Present
A breakfast service tracking system for hotel guests ordering at Bonita Cafe. Staff can verify authorised rooms, check off arrivals, and view upcoming bookings to streamline operations and prevent unauthorised access. This full-stack application demonstrates expertise in both frontend UI development and backend API implementation, built with Next.js and TypeScript.

Clean breakfast tracking interface with card-based layout, visual status indicators, and intuitive check-off system.
Technical Implementation
Key Features
Verify which hotel rooms are authorised for breakfast service to prevent unauthorised access.
Visual circle system for tracking individual guests as they arrive for breakfast service.
Tab navigation for today and tomorrow's bookings with automatic date management.
Shows menu selections and guest count for each booking to help kitchen preparation.
Colour-coded cards (green for complete, yellow for partial, gray for pending) for quick status recognition.
Records and displays last service time for each booking to monitor flow.
Development Process
Numa hotel guests order breakfast at Bonita Cafe, but staff needed a way to verify authorised rooms and prevent duplicate or unauthorised service. The system also needed to help staff prepare for upcoming bookings and track which guests had already been served.
Digital Booking Tracker
Before: manual verification and tracking prone to errors.
After: digital system showing authorised rooms with visual check-off and menu information.
Impact: prevents unauthorised access, reduces service errors, helps kitchen preparation.
This project showcases full-stack capabilities — building both the frontend React UI and the backend API routes with Next.js. Leveraged AI assistance to accelerate development while maintaining code quality and learning new patterns.
Technical Approach
Frontend: TypeScript interfaces, React state management, responsive card layout.
Backend: API routes, database queries, authentication, data validation.
AI Collaboration: used AI to accelerate development and learn best practices.
Designed the interface to be simple and intuitive for cafe staff during busy breakfast service. Used a card-based layout with visual indicators that don't require reading. The check-off circles provide satisfying visual feedback as guests are served.
Design Highlights
Visual Hierarchy: large room numbers, menu info, and clear status colours.
Touch-Friendly: large click targets (28px circles) work well on tablets.
Confirmation Dialog: prevents accidental early service of tomorrow's bookings.
Challenges & Solutions
Challenge: Managing bookings, service status, and date filtering efficiently.
Solution: React hooks (useState, useEffect) with proper dependency management and optimistic updates for responsive UI.
Challenge: Grouping bookings by date, calculating service progress, handling edge cases.
Solution: Created helper functions for date grouping, service summary calculations, and status determination with clear business logic.
Challenge: Staff might accidentally serve tomorrow's breakfast early.
Solution: Implemented a confirmation dialog specifically for tomorrow's bookings with a clear warning message.
Challenge: Protecting booking data while keeping login simple for staff.
Solution: Password-based session storage with API middleware validation for secure yet user-friendly access.
Planned Enhancements
Complete testing and deploy for daily staff use.
Track peak times, popular menu items, and service patterns for better planning.
Sync with Numa's booking system for automatic updates and guest information.
Generate daily and weekly reports for accounting and operational insights.