Most retail traders are flying blind. Before you write a single line of code, understand why a unified dashboard changes everything.
The Problem With Flying Blind
When you have capital deployed across multiple strategies, assets, and brokers, the answer to "how am I doing?" should take seconds โ not tabs. Most retail traders manage their portfolio from broker apps, spreadsheets, and gut instinct. That's not a system. That's chaos with a brokerage account attached.
A financial dashboard is your single source of truth. It answers the only questions that matter in real time: What do I own? What's it worth? What's at risk? What happened while I was away?
The DeadCatFound Standard
By the end of this course you will have a live dashboard that refreshes every 5 minutes, tracks positions across strategies, shows P&L in real time, and pushes alerts to your phone the moment something moves. All hosted free.
What You'll Actually Build
This isn't a theory course. The dashboard below is a replica of the exact architecture running the DeadCatFound trading firm live today:
Chris's First Firm โ Dashboard
Heartbeat OK ยท 14:32 ET
Net Asset Value
$1,000,143
Paper account DUQ090929
Open Positions
9
Across 2 strategies
Today's P&L
+$2,840
+0.28% vs. prior close
Last Sync
14:30 ET
Next in ~3 min
Open Positions
Symbol
Qty
Entry
Last
P&L
Strategy
Status
AAPL
12
$182.50
$191.20
+$104.40
momentum_v10
โ Active
NVDA
8
$852.00
$890.45
+$307.60
momentum_v10
โ Active
TQQQ
50
$56.40
$58.32
+$96.00
levetf_v2
โ Active
SOXL
80
$23.10
$22.15
-$76.00
levetf_v2
โ Active
The Four Pillars
Data Layer โ live feeds from your broker stored as JSON
Sync Engine โ scheduled Python scripts that pull data every 5 minutes
Display Layer โ clean HTML/CSS frontend that reads JSON and renders it
Alert Stack โ Telegram notifications pushed to your phone instantly
No Framework Required
This entire dashboard runs on vanilla HTML, CSS, and Python. No React. No Node. No paid services. Total monthly cost: $0.
Track 04 โ Financial DashboardM-02
Architecture Overview
Understand how the pieces connect before writing any code. A five-minute diagram now saves five hours of debugging later.
The Full Stack, Mapped Out
System Architecture
Component
What It Does
Technology
sync_dashboard.py
Pulls positions from broker every 5 min
Python + IBKR API
trades.json
Stores current positions as structured data
JSON flat file
update_quotes.py
Fetches live prices every 15 min
Python + yfinance
quotes.json
Current price for each symbol held
JSON flat file
index.html
The visual frontend โ reads JSON, renders UI
HTML / CSS / JS
launchd plists
Schedules sync scripts automatically
macOS launchd
Cloudflare Workers
Hosts the dashboard publicly, free
Wrangler CLI
Telegram Bot
Pushes trade alerts to your phone
Telegram Bot API
The Data Flow
Data always travels one way: broker โ JSON โ dashboard. The frontend never talks to the broker directly โ that's what makes this architecture safe, fast, and hostable anywhere.
Design Principle
Separate your data collection from your display layer. If the sync script breaks, your dashboard still shows the last known state. Failure in one component never cascades to another.
JSON flat files are the backbone. Structure your data correctly and everything downstream becomes simple.
Why JSON Flat Files?
Flat JSON files are readable by any browser, versionable with git, deployable to any static host, and debuggable in five seconds with a text editor. For a personal trading dashboard they are the right tool.
The positions table is the dashboard's core. Here's how to build it so it's always accurate and instantly readable.
Live Positions Table
Live Positions โ Paper Account DUQ090929
Symbol
Type
Qty
Avg Cost
Last
P&L
P&L %
Strategy
AAPL
STK
12
$182.50
$191.20
+$104.40
+4.77%
momentum_v10
NVDA
STK
8
$852.00
$890.45
+$307.60
+4.51%
momentum_v10
MSFT
STK
10
$415.20
$421.80
+$66.00
+1.59%
momentum_v10
TQQQ
STK
50
$56.40
$58.32
+$96.00
+3.40%
levetf_v2
SOXL
STK
80
$23.10
$22.15
-$76.00
-4.11%
levetf_v2
SPXL
STK
30
$142.80
$148.20
+$162.00
+3.78%
levetf_v2
Computing Unrealized P&L
Formula
Unrealized P&L = (Current Price − Average Cost) × Quantity
P&L % = ((Current Price − Average Cost) / Average Cost) × 100
Price Fallback Pattern
safe price lookup
// Fall back to avg_cost if quote is missing (market closed / API limit)
const price = quotes.prices[pos.symbol] ?? pos.avg_cost;
// Never let a missing price crash the render
Track 04 โ Financial DashboardM-07
Telegram Alerts & Notifications
Your dashboard should come to you โ not the other way around. Wire up Telegram so every trade and fill pushes to your phone.
Setup: Get Your Bot Token
Open Telegram and search for @BotFather
Send /newbot and follow the prompts
Copy the token โ looks like 123456789:ABC-xyz...
DeadCatFound is an educational platform only. We are not a registered financial advisor, broker-dealer, investment advisor, or financial institution of any kind. Nothing in this course constitutes financial advice, investment advice, or any recommendation to buy or sell any security.
All content is for educational and informational purposes only. Trading involves substantial risk of loss. Always consult a licensed financial professional. By accessing this course you acknowledge that DeadCatFound bears no liability for any financial outcomes.