← All projects
Counter-Strike 2 · Browser Web App

CS2 Skin Tracker

A web app that tracks what I paid for CS2 skins versus their current market value, using live CSFloat listings — matched by skin, wear, float, pattern, and StatTrak™.

🚧 Work in progress — runs entirely in the browser and is built for my own use (needs a personal CSFloat API key + proxy setup), so there's no public demo.
Vanilla JS + sql.js (WASM) SQLite in the browser CSFloat API Steam OpenID Cloudflare Worker

What it does

📊 Portfolio P/L

Tracks buy price vs. live low and median market price per item, with running profit/loss and totals across the whole inventory.

🎯 Precise pricing

A tiered pricing engine matches by wear bracket, tight float window, and paint seed — with special handling for Case Hardened blue gems and Doppler phases.

📥 Inventory import

Pulls the CS2 inventory straight from CSFloat (float, seed, and blue % included) with a thumbnail picker.

🔑 Steam sign-in

Steam OpenID login shows avatar and persona, and backs public-inventory import as a fallback.

📈 History & alerts

Scheduled auto-refresh saves portfolio snapshots, draws a value chart and per-row sparklines, and fires price alerts.

💰 Sold tracking

Mark items sold to record realized P/L, with buy-order prices and CSV export of the whole portfolio.

How it's built

No server. The whole app runs in the browser: the portfolio lives in a SQLite database (via sql.js compiled to WebAssembly) persisted to the browser's own storage. CSFloat and Steam are reached through a tiny personal Cloudflare Worker that holds the API key as a secret and is locked behind an access token — so the key is never public and only I can use it.