Hardware Store
A local hardware store in the Philippines needed an online presence to let customers browse products, place delivery orders, and track order status — all without phone calls or walk-ins.
We built a full-stack e-commerce platform with a customer-facing storefront, an admin dashboard for order and inventory management, and automated SMS notifications for real-time order updates.

An online ordering system for a neighborhood hardware store
Hardware Store is a full-stack e-commerce and inventory management platform built for a local hardware business in the Philippines. Customers browse the product catalog organized by category, search and filter by availability, add items to a cart with support for product variants like size or color, and place delivery orders with address and contact details. On the other side, store admins manage products, fulfill orders through a step-by-step status workflow, and track sales through a real-time analytics dashboard.

No digital presence and manual order management
The store handled all orders through phone calls, walk-ins, and chat messages. There was no centralized system to track which orders were pending, accepted, or out for delivery. Product availability was checked manually, and customers had no way to browse the full catalog before visiting the store. The business was losing potential sales from customers who expected an online ordering experience.
A customer-facing catalog built with React and Vite
The storefront is a React 18 application built on Vite with Tailwind CSS and React Router v6. Customers can browse the full product catalog organized by category, search for specific items, filter by availability, and view product variants with different sizes and colors. The shopping cart supports variant selection and quantity adjustments. Registered users can save delivery addresses, view order history, and maintain a wishlist. Order tracking is available through a unique order number — no account required.

Order fulfillment and inventory management for store staff
The admin panel is a protected dashboard built with the same React + Vite stack, authenticated with JWT tokens. Store owners and staff can view a sales analytics dashboard with daily and monthly breakdowns, accept or reject incoming orders through a defined status workflow (pending → accepted → out for delivery → delivered), manage products including variants and bulk pricing tiers, organize categories, create staff accounts with role-based access, and generate sales reports. The system also handles automated SMS notifications through the Semaphore gateway — customers receive text updates at every order status change, and the admin gets alerted when new orders arrive.
