Code Station

ReplayRoom

Trade replay software

I wanted a way to replay my own executions and study my entries and exits. It also lets me share my best trades and showcase executions in a way simple screenshots never could.

Role
Design and development
Year
2025
ReplayRoom replaying a TSLA trade bar by bar
The replay running: a TSLA trade played back bar by bar.

01

What it does

A web-based trade replay tool for day traders, live at replay.trading. Built solo from scratch as my first software project.

  • Bar-by-bar replay

    Replays your executions bar by bar, with each fill marked on the chart at the exact bar it happened.

  • Manual or imported

    Takes trades by manual entry or by import from Interactive Brokers.

  • Playbooks

    Stores and tags replays into custom playbooks.

  • GIF export

    Exports a replay as an animated GIF for sharing.

02

Screens

ReplayRoom replay view with the candlestick chart, the marked fills and the playback controls
The replay: every fill marked on the chart at the bar it happened, with the playback controls below.
ReplayRoom home page
The home page at replay.trading.
ReplayRoom pricing page
The pricing page.

03

How I built it

ReplayRoom is a React and TypeScript front end built with Vite, charting on TradingView's Lightweight Charts, over a Supabase backend of PostgreSQL, Auth and Edge Functions. Price data comes from Polygon.io and billing from Stripe, whose webhooks run on those same Edge Functions. It was my first software project, built solo from scratch, and it deploys to Vercel from GitHub with a separate staging environment in front of it.

Front end
React 18, TypeScript and Vite, with TradingView's Lightweight Charts for candlestick charting
Back end
Supabase — PostgreSQL, Auth and Edge Functions — hosted on Vercel with auto-deploys from GitHub
Data and billing
Polygon.io for real-time and historical price data across six timeframes, from 2-minute to weekly. Stripe handles billing, with webhooks running on Supabase Edge Functions. Sign-in is Google OAuth
Design
A custom neobrutalist system with hard black borders, flat drop shadows and no rounded corners, set in Manrope and Geist Mono
Process
A separate staging environment with its own Supabase project, so chart and schema changes are tested before they reach users