Skip to content
After hours

iPhone app · sneaker store

In development

Hype Room

An iPhone app for a sneaker and streetwear store. Browse the catalog, reserve items for pickup, and enter a free weekly draw. Pre-launch demo with sample data.

Hype Room Drops tab: a free draw where one winner can buy a pair of Jordan 1s for $1, with the entry count and time remaining below.
Role
Solo: design and code, for the store owners
Timeline
Jul 2026 to now
Stack
TypeScript, Expo, React Native, Expo Router, SQLite, Jest

In development. Pre-launch demo with sample data. Not on the App Store. Status checked Oct 22, 2026.

By the numbers

58

tests in 8 suites

168

hours checked per week across 3 weeks of the draw calendar

48 h

before an in-store hold expires

The idea

I built this iPhone app for the owners of Hype Room, a sneaker and streetwear store. Shoppers can enter a free weekly draw, browse the catalog and request a pair to pick up in store.

What I built

The Expo app has five tabs. A shared Catalog interface currently serves sample data and can accept live inventory without changing the screens. One app-wide clock keeps every countdown in sync.

Draw entries, holds, saved items and shoe size stay on the phone in expo-sqlite’s key-value store. The demo has no backend and does not process payments.

The hard parts

  1. 01 Weekly draws across daylight saving changes

    Each weekly draw gets a dated ID calculated from a fixed starting week. The calendar handles daylight saving changes and keeps entries tied to their week. A test checks every hour of three weeks, including both clock changes, to ensure two draws never open at once.

    Where in the code: src/data/__tests__/drops.test.ts

  2. 02 Readable hold codes

    Hold codes use a 31-character alphabet that excludes 0, O, 1, I and L, making them easier to read at the counter. A tested pure helper sets each hold’s 48-hour expiry.

    Where in the code: src/lib/pickups.ts

  3. 03 A free draw with official rules

    The app includes an Official Rules screen and states on each draw page that entry is free and no purchase is necessary.

    Where in the code: src/data/store.ts

What’s next

Connect the store’s live inventory through the existing Catalog interface.

Hype Room Shop tab, with a product grid and size filter.
Hype Room Merch tab, showing the store’s own sweatsuits and sets.