Forex Lab Academy
Companion learning platform to Forex Lab Trading Engine — educational content for traders building strategies on the platform. Scope being scoped.
What it is
The educational companion to Forex Lab — an MDX-driven learning platform where retail traders learn to build strategies on the trading engine itself. Lessons, walkthroughs, and embedded interactive Blockly examples that students can fork into their own Forex Lab account.
The problem
Forex Lab's drag-and-drop bot builder is approachable, but new users still hit a wall: they understand the blocks individually but not how to compose them into a working strategy. Existing trading-education content is either generic 'what is RSI' material or paid masterclasses with no hands-on tooling.
What I built
MDX-driven lessons
Each lesson is an MDX file with structured frontmatter (difficulty, prerequisites, estimated time). Custom MDX components let lessons embed live Blockly snippets, chart screenshots, and quiz checkpoints inline.
Fork-into-Forex-Lab flow
Each embedded Blockly example has a "Open in Forex Lab" button that deep-links to the trading engine with the strategy pre-loaded. Students go from reading a lesson to running the strategy in one click.
Progress tracking
Per-user lesson completion tracked in Supabase. Optional — anonymous browsing works, but signed-in users get a dashboard of where they left off and a recommended next lesson.
Same brand, separate domain
Shares the Forex Lab design tokens but lives on its own domain so the engine and the academy can ship independently.
Engineering decisions
Why MDX over a CMS
Lessons evolve with the engine — when Forex Lab adds a new block, the lesson explaining it should ship in the same PR. MDX keeps content in the repo, version-controlled, and reviewable. A CMS would mean the lesson and the feature drift apart.
Why a separate domain
If the academy and the engine share a domain, downtime on one affects the other and deployments couple. Separate domains let me iterate on educational content without touching the trading engine's release cadence.
Why optional progress tracking
Forcing sign-in to read a tutorial is the fastest way to lose first-time visitors. The progress dashboard is a nice-to-have for committed students; everyone else gets the lesson without friction.
What I'd do differently
Scope is still being finalised — this is an in-progress build, and the live Blockly embed pattern needs more validation with real student feedback before I commit fully to it. Listed here as a contingent project; the design and the data model are settled, content authoring is the open question.