All projects

Crypto Paper Trading App

CryptoPulse — live prices for every Binance USDT trading pair, and a risk-free paper-trading portfolio to practice against them.

Personal project Nuxt 3 · TypeScript · Binance API

The problem

Learning to trade — or just testing an idea — usually means either risking real money or trusting a spreadsheet. I wanted a lightweight way to watch real market prices and simulate trades against them, with no risk and no setup.

What I built

  • A live market view tracking all ~490 Binance USDT trading pairs, with search, gainers/losers counts, and the top 24h gainer.
  • A paper-trading account you fund with a starting virtual balance (from preset amounts or a custom one).
  • Buy and sell trades executed against live prices, with an equity curve chart tracking account value over time.
  • A performance summary — win rate, profit factor, max drawdown, average win/loss — and a full trade history.

Technology

Nuxt 3Vue 3 TypeScriptTailwind CSS

Key technical decisions

  • Rendered as a pure SPA. Every meaningful piece of data — live Binance prices, the paper-trading account — is client-only, so server-rendering would just hydrate a stale, empty shell on every load. The app disables SSR entirely.
  • No backend. Market data comes straight from Binance's public REST and WebSocket APIs from the browser; the paper-trading account (balance, open positions, closed trades) lives entirely in localStorage.
  • WebSocket with a polling fallback. Live prices stream over a WebSocket connection, with a 10-second polling fallback if the socket drops, so the market view keeps updating either way.

← Back to all projects