True Wear
A streetwear store written from scratch in PHP and vanilla JavaScript — no Shopify, no WooCommerce, no framework. Catalogue, per-size stock, cart, orders and an admin panel, all in one codebase with nothing to license and nothing to update every month.
The brief
The client was selling premium streetwear out of Instagram DMs. Stock, sizes and prices lived in chat threads, and every sale stalled on the same two questions: is this piece original, and which size will actually fit me.
The store is built to answer both before anyone has to ask. Authenticity is stated where the money decision happens, and sizing is a calculator rather than a chart nobody reads.
Under the hood it is PHP on MySQL with PDO prepared statements, and vanilla JavaScript on the front end. Stock is tracked per size, not per product, so a sold-out large is unbuyable while the medium stays on sale — and the cart refuses to exceed what is actually on the shelf.
-
Size calculatorHeight, weight and build return one recommended size — no size chart.
-
Per-size stockFive sizes tracked separately, with the cart capped at real availability.
-
Live filteringCategory, brand, price range and sorting — no page reload.
-
Reviews tied to productsRatings stored per item and surfaced on both the product and the homepage.
-
Orders and adminEvery order stored with its line items, managed from a built-in panel.
-
Restock listEmail signup for sizes and limited colours that sold out.
Inside the build
Size anxiety, handled in three fields
Returns on fitted streetwear are almost always a sizing problem. Instead of a chart, the store asks for height, weight and build, and returns one size with a plain-language reason — tuned to how this particular cut runs, not to generic tables.
A catalogue that filters in place
Categories, brands, a price slider and sorting all narrow the grid without a page load, and the counters at the top stay in sync. Sale items render the original price struck through next to the current one, so the discount reads at a glance.
Product pages built to answer objections
Thumbnail gallery, size selector that reflects real stock, quantity stepper, and a trust row — free delivery, returns, cash on delivery — directly under the buy button. Customer reviews with dates and ratings load below, critical ones included.
An admin panel the owner can actually run
Products, orders and reviews in one dashboard, with totals for revenue and order count on top. Stock is edited per size from the product table, images are managed per product, and new items go live without touching a single line of code.
Screens
On the phone
Home
Product
Cart