ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Interactive finance experiments, 23 hands-on lessons, and real Python in your browser. Explore options, risk, and backtesting. Free for students, with a six-week club program.
EducationTypeScript · CSSGitHub @isaacgong0311-hashOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Browser-based options pricing education for high schoolers — Black-Scholes, Greeks, Pyodide playground
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A six-week technical-finance lab that high-school clubs can run, where students code real market models in the browser and finish with a capstone they can show.
A club leader launches a cohort from a fixed template in minutes, shares an invite link, and watches a scorecard (activation, weekly activity, week-4 retention, who needs help). Students work through lessons (Black-Scholes, the Greeks, backtesting) in an in-browser Python editor with nothing to install, and submit a private capstone. Everything is free for students; pilots are free for clubs.
The plan on one page: docs/PLAN.md. It supersedes the older plans below on what to do next.
Status (2026-10-01): the product and the pilot operating system are built and tested; no leader-run cohort has started yet. Where the company stands, what it has to prove, and the plan:
docs/superpowers/specs/2026-09-13-strikelab-yc-company-design.mddocs/superpowers/plans/2026-09-29-mega-plan.mddocs/superpowers/plans/2026-10-01-yc-readiness-plan.mddocs/gtm/docs/investor/claim-ledger.md separates implemented features from verified live usage and revenue; docs/INVESTOR_READINESS_WORK_PLAN.md is the evidence planTry it in two minutes: open strikelab.dev/demo for the leader and student views, or start lesson 1 at strikelab.dev.
Live → strikelab.dev · Free · Open source · MIT license
Three tracks, 23 lessons, each ending with a coding exercise — students fill in missing functions in a real pricing engine, run unit tests in-browser, and see live charts update.
Investing Fundamentals (Beginner, 9 lessons) — stocks, markets, financial statements, valuation, risk, portfolio building, bonds, retirement accounts, and common investing mistakes.
Options Pricing (Intermediate, 11 lessons):
| # | Lesson | Key concept |
|---|---|---|
| 1 | What Is an Option? | Calls, puts, strike price, expiration |
| 2 | Put-Call Parity | The no-arbitrage relationship that ties it together |
| 3 | Black-Scholes Formula | Deriving intuition for the formula |
| 4 | Delta: Directional Exposure | How option value moves with the underlying |
| 5 | Theta: Time Decay | Why options lose value as expiration approaches |
| 6 | Gamma: Rate of Change of Delta | Directional exposure and its rate of change |
| 7 | Vega: Volatility Sensitivity | How option value responds to implied vol |
| 8 | Implied Volatility | Inverting Black-Scholes with Newton-Raphson |
| 9 | Option Strategies | Spreads, straddles, and iron condors |
| 10 | Binomial Trees | Pricing American options via the CRR model |
| 11 | Rho: Interest Rate Sensitivity | The fifth Greek — why it matters for long-dated options |
Quant Investing (Advanced, 3 lessons) — CAPM and beta, backtesting, and portfolio optimization.
| Surface | What it does |
|---|---|
| Lesson track | 23 structured lessons across three tracks, each ending with a Pyodide-powered coding exercise that runs directly in the browser — no install. |
| Pricing playground | A CodeMirror editor pre-loaded with a partial Black-Scholes engine. Implement compute_delta, compute_gamma, compute_theta, compute_vega, click Run, and all four Greek curves render live. |
| Greek visualizer | Recharts plots of Δ, Γ, Θ, ν as functions of strike price. Drag sliders for stock price (S), time to expiry (T), risk-free rate (r), and volatility (σ) to reshape the curves in real time. |
| Dashboard | XP, streaks, a full-year activity heatmap, per-difficulty stats, and 12 achievement badges. |
| Short sessions | Week-1 lessons also run as bite-sized sessions at /learn/[id]: one idea per screen, instant feedback, missed questions come back. |
| Pilot cohorts | Teachers launch the six-week Quant Foundations Lab (with break weeks) and share an invite link. Students get a cohort home with one next step and a private capstone; teachers get a scorecard (activation, weekly activity, week-4 retention, who needs help) and CSV export. |
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 (App Router) + TypeScript + Tailwind CSS |
| Code editor | CodeMirror 6 via @uiw/react-codemirror |
| Python runtime | Pyodide — WebAssembly, runs entirely client-side |
| Charts | Recharts |
| Auth + database | Supabase (Postgres, auth, RLS) |
| Payments | Stripe |
| Deployment | Vercel |
npm install
npm run dev # dev server at localhost:3000
npm run build # production build
Environment variables (create .env.local):
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
STRIPE_SECRET_KEY=...
STRIPE_PRO_PRICE_ID=...
STRIPE_SCHOOL_PRICE_ID=...
The app runs without any of these set — Supabase-backed features (auth, progress sync) and Stripe checkout fall back to a clean disabled state instead of crashing.
Database changes live in supabase/migrations/ and are applied by hand in the Supabase SQL editor, in order. scripts/metrics/check-migrations.sql shows which are applied.
npm test # unit tests, plus *.db.test.ts: every migration, trigger and RLS policy run in PGlite (in-process Postgres)
npm run test:e2e # Playwright journeys and axe accessibility scans
The Black-Scholes formula for a call option:
C = S₀ · N(d₁) − K · e^(−rT) · N(d₂)
d₁ = [ln(S₀/K) + (r + σ²/2)·T] / (σ·√T)
d₂ = d₁ − σ·√T
In the playground, black_scholes_call and the helper functions (_d1, _d2, _norm_cdf, _norm_pdf) are pre-implemented. Students implement the four Greeks:
def compute_delta(S, K, T, r, sigma, option_type="call"):
d1 = _d1(S, K, T, r, sigma)
return _norm_cdf(d1) if option_type == "call" else _norm_cdf(d1) - 1
def compute_gamma(S, K, T, r, sigma):
d1 = _d1(S, K, T, r, sigma)
return _norm_pdf(d1) / (S * sigma * math.sqrt(T))
def compute_theta(S, K, T, r, sigma, option_type="call"):
d1, d2 = _d1(S, K, T, r, sigma), _d2(S, K, T, r, sigma)
term1 = -S * _norm_pdf(d1) * sigma / (2 * math.sqrt(T))
if option_type == "call":
return (term1 - r * K * math.exp(-r * T) * _norm_cdf(d2)) / 365
return (term1 + r * K * math.exp(-r * T) * _norm_cdf(-d2)) / 365
def compute_vega(S, K, T, r, sigma):
d1 = _d1(S, K, T, r, sigma)
return S * _norm_pdf(d1) * math.sqrt(T) / 100
Lesson 8 adds the Newton-Raphson implied volatility solver:
def implied_vol(C_mkt, S, K, T, r, tol=1e-6, max_iter=100):
sigma = 0.2
for _ in range(max_iter):
diff = black_scholes_call(S, K, T, r, sigma) - C_mkt
if abs(diff) < tol:
break
sigma -= diff / compute_vega(S, K, T, r, sigma) * 0.01
return sigma
Quant finance is gatekept behind elite university networks. Students at top schools get exposure through alumni pipelines; everyone else finds it junior year of college — four years too late. StrikeLab is the fastest path from "what is a stock?" to implementing Black-Scholes, computing the Greeks, and backtesting a factor model, for free, in a browser.
Quant finance shouldn't require the right zip code.