Skip to content
DEVANGELODEVANGELO
DEVANGELO
DEVANGELOFull-Stack Web Developer

Interface to infrastructure.

Available for select projects
Based
Based in the Philippines
Focus
Focused on modern web development
devangelo403@gmail.comResume ↧

© 2026 DEVANGELO · Built with code + curiosity

Fashion / E-Commerce

CRASH SITE WORLDWIDE

A streetwear storefront with product browsing, a cart, and drop mechanics that match how the label actually sells.

Case study
Year
2026
Status
Case study
Category
Fashion / E-Commerce
Stack
React / Next.js, TypeScript, Tailwind CSS
019690SCHEMATIC
01

The brief

Overview

A storefront for a streetwear label that sells in limited runs. It had to carry the brand without getting in the way of seeing the piece and buying it before it sells out.

Problem

Off-the-shelf themes flattened the brand into another product grid, and none of them handled drops honestly: limited sizes, fast sell-outs, restocks.

Solution

A custom catalogue and cart built around per-size stock, with product pages that treat each piece as a photo rather than a thumbnail.

02

Request path

What actually happens between a click and a response.

01 / Client / Add to cart
Cart state updates immediately and persists across reloads, because waiting on a round trip to see your own click feels broken.
02 / Server / Order route
Checkout posts to a Node handler. Prices come from the catalogue on the server, never from the cart the client sent.
03 / Server / Validation
The payload is parsed before anything else runs. Quantities, variant ids and totals all have to survive it.
04 / Data / Stock check
Availability is confirmed per size at order time, not at add-to-cart time. During a drop that is the difference between an honest sold-out and an oversell.
05 / Data / MongoDB
The order is written with the variants embedded, so a piece and its sizes come back in one read rather than a join.
06 / Server / Response
Either a confirmation or an explicit message about what is no longer available. The UI never silently drops a line item.
03

Features

  • 01

    Per-size stock

    Stock is tracked per variant, so a sold-out size is disabled at selection instead of failing at checkout.

  • 02

    Persistent cart

    Cart state survives reloads and is reconciled against current stock before checkout rather than trusted.

  • 03

    Product pages

    Large imagery, restrained type, and a buy panel that stays reachable while the photos scroll.

  • 04

    Filtering

    Filter and sort state lives in the URL, so any view can be shared or reopened.

  • 05

    Drop states

    Products carry an explicit state: upcoming, live, sold out. The store says so rather than quietly hiding items.

04

Architecture

  • 01

    Frontend

    Next.js for routing and rendering. Client interactivity is limited to cart and variant selection.

  • 02

    API

    Node.js handlers for catalogue reads, cart operations and order creation, validated at the boundary.

  • 03

    Data

    MongoDB, with variants embedded in the product so a piece and its sizes come back in one query.

  • 04

    Media

    Responsive lazy-loaded images with explicit dimensions, so heavy product photography does not shift the layout.

05

Technology

  • React / Next.js
  • TypeScript
  • Tailwind CSS
  • Node.js
  • MongoDB
06

Screens

No screenshots have been uploaded for this project yet. The plates below are generated schematics, not captures of the interface.

016725SCHEMATIC
028834SCHEMATIC
07

Challenges

  • 01

    Stock truth during a drop

    Lots of people hold the same size at once. Availability is confirmed at order time, and the UI is explicit when something is lost.

  • 02

    Image weight

    The brand lives on big photos. Formats, sizes and loading priority are tuned per breakpoint so the first view stays fast on mobile data.

  • 03

    Attitude without noise

    Motion is used to punctuate, not to decorate, so the buy action never gets buried.

08

Result

A storefront that reads as the label's own, with stock accuracy and drop states handled by the system instead of by hand.

09

Contact

Have something worth building?

Tell me what you're working on.

Available for select projects