Full-stack web application
GamePriceHub
Compare current PC game prices, discounts and price history, with release information across major platforms.
Status: Beta- Category
- Full-stack web application
- Technologies
- Next.js, TypeScript, Supabase, Vercel, Playwright
Summary
GamePriceHub is a full-stack comparison product that brings current PC game prices, discounts, tracked price history and cross-platform release information into one searchable place.
My role
I designed and built the product end to end, covering product direction, interface work, application architecture, data ingestion, database design, testing and deployment.
Problem
Game buying information is fragmented across storefronts, regions and release calendars. Comparing an edition or checking whether a discount is genuinely useful often means opening several sources and reconciling inconsistent data.
Users and use case
The product is for players who want a quick way to discover games, compare available PC store prices and inspect release timing before deciding what to buy or watch.
Constraints
The project is designed around a cost-conscious solo-development workflow. Its development stack stays within free service allowances, limits catalogue ingestion deliberately and avoids paid search infrastructure while the product is still being validated.
Solution
Users can browse and search the catalogue, open a game detail page, compare available listings, review discounts and tracked price changes, and explore release information. Clear source notes and feedback routes make data limits visible instead of overstating coverage.
Awaiting input
- Replace the placeholder with approved product screenshots
Architecture and workflow
A Next.js application serves the product interface and server-side routes. Supabase stores the catalogue, editions, listings, prices, history and ingestion records. Scheduled and manual ingestion jobs normalise external data before writing it to the shared model, while Vercel hosts the application and Sentry supports monitoring.
Key decisions
The catalogue keeps provider identifiers separate from canonical games so multiple data sources can map to the same record. Price history writes only when a value changes, reducing unnecessary storage. Refresh outcomes are persisted with cooldowns so scheduled ingestion can make steady progress without repeatedly retrying unsuitable records.
Testing and delivery
The delivery workflow combines unit and component tests with Playwright browser coverage, static type checking, linting and production builds. Deployment checkpoints also record migration order, ingestion validation and production readiness for changes that affect live data.
Current limitations
Store and regional price coverage is still narrower than the release catalogue, so many games do not yet provide a meaningful multi-store comparison. Some enrichment jobs remain manual, and the product deliberately avoids claiming console prices that its current sources do not supply.
Lessons and next steps
The strongest product value comes from trustworthy coverage rather than adding more interface features. The next priority is to broaden reliable store and region support while preserving source transparency, controlled ingestion costs and a clear separation between verified data and planned capability.