Cash
$7532.25
Total value
$10000.00 +0.00%
NVDA
NVIDIA Corporation
-1.39%
$194.83
You own
1 share
Value
$194.83
Gain / loss
+$0.00
AAPL
Apple Inc.
+4.84%
$308.63
You own
1 share
Value
$308.63
Gain / loss
+$0.00
MSFT
Microsoft Corporation
+1.62%
$390.49
You own
1 share
Value
$390.49
Gain / loss
+$0.00
GOOGL
Alphabet Inc.
-0.36%
$359.91
You own
0 shares
Value
$0.00
Gain / loss
+$0.00
AMZN
Amazon.com, Inc.
+0.40%
$242.67
You own
0 shares
Value
$0.00
Gain / loss
+$0.00
TSLA
Tesla, Inc.
-7.49%
$393.45
You own
4 shares
Value
$1573.80
Gain / loss
+$0.00
META
Meta Platforms, Inc.
-4.90%
$582.90
You own
0 shares
Value
$0.00
Gain / loss
+$0.00
NFLX
Netflix, Inc.
+4.66%
$77.65
You own
0 shares
Value
$0.00
Gain / loss
+$0.00
Portfolio value
Cash + everything you own, over time
Price history
Recorded from the moment this app started tracking it — Finnhub's free tier doesn't offer past history
Recent news
Real headlines from Finnhub for the company selected above — opening a link takes you to the original source
Time Action Company Shares Price Cash change
2026-07-05 20:49 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 20:49 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 20:49 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 20:49 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 20:48 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:48 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:48 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 20:48 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 20:48 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:48 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 20:48 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:45 Reset +$1301.70
2026-07-05 20:45 Reset Amazon.com, Inc. -1 +$0.00
2026-07-05 20:45 Reset Alphabet Inc. -1 +$0.00
2026-07-05 20:45 Reset Microsoft Corporation -1 +$0.00
2026-07-05 20:45 Reset Apple Inc. -1 +$0.00
2026-07-05 20:45 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:38 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 20:38 Sell Meta Platforms, Inc. -1 $582.90 +$582.90
2026-07-05 20:38 Buy Meta Platforms, Inc. 1 $582.90 $-582.90
2026-07-05 20:38 Buy Alphabet Inc. 1 $359.91 $-359.91
2026-07-05 20:38 Buy Amazon.com, Inc. 1 $242.67 $-242.67
2026-07-05 20:37 Reset +$1900.87
2026-07-05 20:37 Reset Microsoft Corporation -1 +$0.00
2026-07-05 20:37 Reset Apple Inc. -3 +$0.00
2026-07-05 20:37 Reset NVIDIA Corporation -3 +$0.00
2026-07-05 20:37 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:25 Sell Apple Inc. -5 $308.63 +$1543.15
2026-07-05 20:25 Sell Apple Inc. -5 $308.63 +$1543.15
2026-07-05 20:25 Sell Apple Inc. -5 $308.63 +$1543.15
2026-07-05 20:25 Sell Apple Inc. -5 $308.63 +$1543.15
2026-07-05 20:25 Sell Apple Inc. -5 $308.63 +$1543.15
2026-07-05 20:25 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 20:25 Buy Apple Inc. 5 $308.63 $-1543.15
2026-07-05 20:25 Buy Apple Inc. 5 $308.63 $-1543.15
2026-07-05 20:25 Buy Apple Inc. 5 $308.63 $-1543.15
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:25 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:25 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:22 Buy Apple Inc. 2 $308.63 $-617.26
2026-07-05 20:22 Reset +$7835.50
2026-07-05 20:22 Reset Netflix, Inc. -7 +$0.00
2026-07-05 20:22 Reset Meta Platforms, Inc. -2 +$0.00
2026-07-05 20:22 Reset Tesla, Inc. -5 +$0.00
2026-07-05 20:22 Reset Amazon.com, Inc. -3 +$0.00
2026-07-05 20:22 Reset Microsoft Corporation -6 +$0.00
2026-07-05 20:22 Reset Apple Inc. -1 +$0.00
2026-07-05 20:22 Reset NVIDIA Corporation -4 +$0.00
2026-07-05 20:22 Sell Microsoft Corporation -2 $390.49 +$780.98
2026-07-05 20:22 Buy Microsoft Corporation 3 $390.49 $-1171.47
2026-07-05 20:19 Sell Microsoft Corporation -1 $390.49 +$390.49
2026-07-05 20:19 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 20:19 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 20:19 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 20:18 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 20:18 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:13 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 20:09 Sell Amazon.com, Inc. -1 $242.67 +$242.67
2026-07-05 20:09 Buy Amazon.com, Inc. 1 $242.67 $-242.67
2026-07-05 20:05 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:55 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:55 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 19:55 Sell Alphabet Inc. -1 $359.91 +$359.91
2026-07-05 19:55 Sell Netflix, Inc. -1 $77.65 +$77.65
2026-07-05 19:55 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:55 Buy Meta Platforms, Inc. 1 $582.90 $-582.90
2026-07-05 19:16 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 19:16 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 19:16 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 19:16 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 19:16 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 19:16 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 19:16 Buy Alphabet Inc. 1 $359.91 $-359.91
2026-07-05 19:16 Sell Alphabet Inc. -1 $359.91 +$359.91
2026-07-05 19:16 Sell Alphabet Inc. -1 $359.91 +$359.91
2026-07-05 19:16 Buy Amazon.com, Inc. 1 $242.67 $-242.67
2026-07-05 19:16 Sell Amazon.com, Inc. -1 $242.67 +$242.67
2026-07-05 19:16 Sell Tesla, Inc. -1 $393.45 +$393.45
2026-07-05 19:16 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 19:16 Sell Netflix, Inc. -1 $77.65 +$77.65
2026-07-05 19:16 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:16 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:16 Sell Meta Platforms, Inc. -1 $582.90 +$582.90
2026-07-05 19:16 Buy Meta Platforms, Inc. 1 $582.90 $-582.90
2026-07-05 19:16 Buy Meta Platforms, Inc. 1 $582.90 $-582.90
2026-07-05 19:14 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 19:14 Sell Apple Inc. -1 $308.63 +$308.63
2026-07-05 19:14 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 19:09 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:09 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:08 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 19:08 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 19:08 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 19:08 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:08 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:08 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:08 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 19:08 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 19:08 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 19:08 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 19:08 Buy Apple Inc. 1 $308.63 $-308.63
2026-07-05 19:08 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:08 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:08 Buy Alphabet Inc. 1 $359.91 $-359.91
2026-07-05 19:08 Buy Alphabet Inc. 1 $359.91 $-359.91
2026-07-05 19:08 Buy Netflix, Inc. 1 $77.65 $-77.65
2026-07-05 19:08 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 19:08 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 19:08 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 19:08 Buy Amazon.com, Inc. 1 $242.67 $-242.67
2026-07-05 19:08 Buy Tesla, Inc. 1 $393.45 $-393.45
2026-07-05 19:08 Buy Amazon.com, Inc. 1 $242.67 $-242.67
2026-07-05 19:08 Buy Amazon.com, Inc. 1 $242.67 $-242.67
2026-07-05 19:07 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 19:07 Sell Microsoft Corporation -1 $390.49 +$390.49
2026-07-05 19:07 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:07 Buy Microsoft Corporation 1 $390.49 $-390.49
2026-07-05 19:02 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 19:02 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 19:02 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 19:02 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 19:02 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:02 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:02 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 19:02 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 18:59 Sell NVIDIA Corporation -1 $194.83 +$194.83
2026-07-05 18:59 Buy NVIDIA Corporation 1 $194.83 $-194.83
2026-07-05 18:58 Deposit +$10000.00

This is a practice trading app — pretend money, real stock prices. Everything runs on one server, and every piece below is something you can open and read.

Your browser HTTPS :443 nginx reverse proxy + TLS :8000 gunicorn + Flask app.py — the program PostgreSQL the ledger + caches Finnhub prices, logos, metrics
What happens when you click Buy
Your browser sends the quantity to the server and waits — it never changes the numbers itself. Flask looks up the current price, checks you have enough cash, writes one new row to the ledger table, then re-adds the whole list to work out your new cash and shares, and sends those numbers back. The page updates just that one card — no reload, no page jump.
Flask — the program
A Python web framework, run by gunicorn (2 worker processes) behind nginx. It decides what happens when you click Buy or Sell, builds the page you see, and is the only thing allowed to change your cash or shares — the page in your browser can never change them on its own.
PostgreSQL — the database
Every deposit, buy, sell, and reset is written as a new row in one growing list (a "ledger") that's never edited or erased. Your cash and shares aren't stored directly — they're worked out by adding up that list, so there's always an honest record of everything that happened. Six tables in total:
  • ledger — every deposit, buy, sell, and reset, forever
  • price_cache — each company's latest price, refreshed at most once a minute
  • price_history — every fresh price fetch, building the price chart over time
  • portfolio_snapshots — your total account value, saved roughly every 15 minutes
  • company_logos — logo images fetched once and cached, so your browser never asks Finnhub directly
  • company_metrics — 5-day/1-month/1-year returns and 52-week range, refreshed daily
Finnhub — real stock data
The server asks Finnhub for each company's current price and saves the answer for about a minute before asking again; company logos and performance stats (5-day, 1-month, 1-year returns, 52-week range) are cached too, refreshed daily since they change slowly. Your API key lives only on the server and is never sent to the browser. Finnhub's free plan doesn't include multi-year historical prices — that's a real limit of the free API, not something this app fakes. The "years of growth" numbers you see are genuine trailing returns Finnhub does provide for free; the price chart's long-term view instead grows organically from the moment this app started tracking it.
gunicorn + systemd — staying online
gunicorn runs the Flask app as two worker processes on 127.0.0.1:8000, not exposed to the internet directly. systemd (part of the server's operating system) manages it as a service named paper-trader — restarts it if it ever crashes, and starts it automatically if the server reboots. PostgreSQL and nginx are separate systemd services managed the same way.
nginx + HTTPS — the secure connection
nginx listens on ports 80 and 443, redirects plain HTTP to HTTPS, and forwards everything else to gunicorn. The certificate is a free one from Let's Encrypt, obtained and installed by certbot; a systemd timer checks daily and renews it automatically before it expires — no one has to remember to do it by hand.
The charts — hand-drawn, no outside library
The price and portfolio charts are plain JavaScript drawing simple shapes (SVG) directly from the numbers in the database — no chart library, no other outside service, nothing downloaded from anywhere but this server.