E-commerce
JhiKaye Online Shop
A product showcase and ordering site for a small Cebu clothing brand, where every order lands in a Google Sheet the owner already knows how to work in.

Year
2026
Role
Full-stack Developer
Client
JhiKaye Clothing Brand
Stack
React 18 (Vite), React Router, Zustand, Tailwind CSS, Radix UI, Express, Google Sheets API, Vercel
01
The problem
A small clothing brand in Cebu needed a place to show their pieces and take orders online. Most ready-made shop platforms felt too heavy for them: monthly fees, clunky dashboards, and more setup than a one-person business could keep up with. They did not want a full inventory system or customer logins. They just needed a clean site that matched their brand and let them review each order personally, the way they already worked.
02
What I built
JhiKaye is a storefront that stays light on purpose. Customers browse, save favourites and check out, and every order lands in a Google Sheet where the owner confirms it by hand. No backend database to maintain.
What the storefront needed to get right
Sheet as the backend
Orders post through serverless functions straight into a Google Sheet, so the owner manages everything from a tool she already knows.
Philippines-first checkout
Province-aware delivery fees, GCash and BPI payment options, and a QR-code payment step with proof-of-payment upload.
Account-free by design
Cart and wishlist save to the browser, keeping the site simple to use and easy to maintain.
React and Vite power the frontend, Zustand handles cart and wishlist state, Tailwind and Radix shape the UI, and Express plus Vercel functions connect orders to the Google Sheets API.
03
What I learned
The best solution is often the smallest one that fits how someone actually works. Skipping a database and leaning on a Google Sheet kept things maintainable for a one-person shop without losing any real function. I also learned how much a consistent design system carries a brand, from colour tokens down to copy. If I built on it, I'd add simple order-status updates so customers can follow their purchase without needing an account.
