All work

Websites · DashboardsClient project

The Bag Archives PH

Coach resale shop, Philippines

A storefront for a Philippine Coach-resale shop, plus the admin portal the owner runs inventory, shipping rates and orders from.

The bottleneck

The shop ran on a Google Sheet. Prices, stock and shipping rates lived in cells, and the columns that carried cost and margin were readable by anyone who could open the sheet. Orders came in through Messenger, were priced by hand, and stock was only correct if somebody remembered to edit the row.

  • The Bag Archives PH: Storefront

    Storefront

  • The Bag Archives PH: Shop

    Shop

  • The Bag Archives PH: Product

    Product

  • The Bag Archives PH: Checkout

    Checkout

  • The Bag Archives PH: Payment

    Payment

  • The Bag Archives PH: Admin sign-in

    Admin sign-in

What we built

  • A storefront with no framework and no bundler: browser-ready JavaScript and a single dependency
  • An admin portal for inventory, shop settings and shipping rates, behind Google sign-in
  • PayMongo checkout over QR Ph, so one code covers GCash, Maya, BPI, GoTyme and Home Credit
  • Webhooks verified by signature before anything they claim is trusted
  • Stock holds that expire with the QR code itself, so nothing has to sweep them
  • Postgres as the source of truth, migrated once off the sheet and then retired

What changed

  • The fee quoted and the fee charged are the same number, because both are derived server-side
  • Cost and margin are not columns in the schema, so the browser cannot leak them
  • Every admin route fails closed: one that forgets its guard has no session and returns nothing
  • With no payment key configured the shop falls back to the Messenger flow rather than breaking
Built with
Vanilla JS, no bundler
Built with
Vercel Functions
Built with
Neon Postgres
Built with
PayMongo

The storefront is open to anyone, including the checkout, which prices shipping server-side before handing off to PayMongo. The QR code shown is from a test order and expired with its session. The admin portal at /admin is restricted to the shop's own Google account, so it is not browsable here.

Open the live website

Have a process like this one?

The consultation is free. If software is not the right fix, we will say so.

Free consultation