SteamDeals.
Helping players decide when a game is actually worth buying.
Visit live SteamDeals
A discount needs context.
A large discount percentage does not tell a player whether the current price is unusually good, how it compares with previously recorded prices, or whether waiting may be worthwhile.
−90%
Current price: ¥13.60
At the recorded low
Current: ¥13.60 · Recorded low: ¥13.60
Above recorded low: ¥0.00
Lowest recorded: 7 October 2026
Information comparison using values from the supplied product screenshot; not a live price feed.
SteamDeals brings current prices, site-recorded lows, price trends, game information, official news, and personal watchlists into one experience.
Less interpretation. More clarity.

A watchlist as a game radar
Follow games and view pricing alongside official updates. Guest-account flows reduce the commitment required to try the product.
Lightweight comparison
Compare several games within the same interface, rather than switching between individual store pages.
Design decisions meet real data.
Visual direction
A Steam-inspired concept reorganized around price comparison and purchase decisions.
Interactions
Search, price and discount filters, comparison, watchlists, detail views, and news.
Data integration
Steam information and persisted price snapshots bring the interface beyond static mockups.
Deployment
Cloudflare deployment, empty states, bilingual flows, account persistence, and data migration.
An interface backed by a system.
Steam Store / News
Cloudflare Worker
Cloudflare D1
Price snapshots · User preferences · Watchlists
SteamDeals UI
Workers handle application logic. D1 provides SQLite-based persistence for historical pricing and user-related data. The interface supports Chinese and English, guest accounts, and preference persistence.
Migrated and preserved 159 existing price records during the database transition.
The UI is part of a larger system.
Decisions that looked simple in a mockup became more complicated once real data, loading states, persistence, caching, and deployment were involved.
I learned to connect interface choices to data availability, technical constraints, and user expectations—and to iterate on issues discovered during real use.
Current State & Next Steps
Current
- Site-recorded price history
- Persistent watchlists
- Notification preferences
- Chinese and English interfaces
Recorded lows reflect collected records, rather than complete historical all-time lows.
Next
- Expand historical coverage
- Complete external notification delivery
- Finish end-to-end Steam authentication validation
Mr. Question Mark
What if randomness itself became a deck-building resource?
Explore the case study