The browser breeds strategies on a fixed candle history
SETS MACHINE makes genetic search visible: candidate trading strategies appear in a population, reproduce, and disappear as the program selects survivors. The winning eligible strategy then runs through a historical paper-trading replay. The README calls it a research toy and explicitly rules out connecting it to real money. That is the right frame for this project. You can inspect how search works without creating an exchange account or pretending an animated dashboard establishes a profitable strategy.
Our lab counted 17 files and roughly 167 source lines in a 9.7 MB checkout. Those counts describe the measured snapshot; source lines don't measure the bundled historical data or media assets. The repository includes fonts, screenshots, and a promotional video alongside plain JavaScript modules. Its runnable files already live under dist/. There is little infrastructure to understand before you can explore the program. To study the behavior, start with the separate simulation and evolution modules rather than the presentation assets.
What happened when we ran it
Our sandbox completed the install step for SETS commit da0f110 in 1 second, adding 0 packages and occupying 20 MB on disk. There was no build script or target, so the build step was skipped. Node's test runner passed all 8 tests in 1 second. We used lab-node:22 in an unprivileged Debian container on October 9, 2026, with 3 CPUs, 8 GB of RAM, and no secrets.
Npm audit reported 0 known vulnerabilities, with 0 critical, high, moderate, or low findings. That is a dependency-audit result for this run, rather than a browser-security certification or financial validation. Our scan found a tests directory, no CI workflow files, and no Dockerfile. The 8 passing tests establish that the supplied checks completed successfully. Nothing in the lab block measures dashboard frame rate, real exchange execution, or the returns of a trading strategy.
Static serving replaces a deployment stack
The documented local route uses Python's HTTP server to serve dist/, then opens the dashboard in a modern browser. There are no account credentials, database settings, or exchange keys to configure. The README's clone command still contains a placeholder GitHub username, so use the actual Shelpid/SETS repository URL. GitHub Pages is another documented hosting option, with a root page forwarding visitors into the runnable directory. This is a small documentation flaw with a straightforward correction.
The 0-package install fits that static design. Application logic runs in browser ES modules, and the README says normal runtime makes no external requests. Market-data refresh is a separate Python tool that calls Binance's public API and rewrites the bundled candle file. Running the dashboard therefore replays its stored data rather than subscribing to today's market. If you're showing it in a classroom or publishing your own copy, preserve the data snapshot alongside the seed so another person can inspect the same experiment.
One shared engine keeps the replay and scoring aligned
The GridBot implementation drives both strategy evaluation and the displayed paper replay. Signals use a closed candle before execution on the next candle's open. Within a candle, the engine processes grid fills before checking the stop and then take-profit, and it charges fees on fills and exits. Closing any remaining position at the window's end makes that position count in the reported result. These rules make the simulation's assumptions inspectable.
The 8 passing tests provide useful, limited evidence around those mechanics. Reading the test source shows checks for bundled-data consistency, causal indicators, fees and fills, stop closure, bounded mutation, and seeded reproduction. A causality check changes a future candle and verifies that an earlier signal stays unchanged. That's a meaningful software property. It doesn't tell you whether candle-level prices reproduce the order sequence or execution conditions of an actual exchange.
The selection window is reused to choose the leader
The evolution code evaluates each newcomer on a training segment and a later validation segment. Candidates must pass the latter's return, drawdown, and trade conditions before they can become the displayed leader. The README acknowledges the catch: selecting among candidates that passed the validation gate reuses that data, so the leader's reported result is optimistic. A later segment isn't untouched evidence once its outcome helps determine which strategy you choose.
Our 1-second test pass doesn't resolve that research limitation. The repository's own examples also say that holding the asset made more money over their chosen window, and that wide stops help explain the attractive win rates. Those are the author's reported examples, not returns measured by our sandbox. The dashboard is useful precisely when you keep the selection process visible. Adding generations lets you watch more searching against the same history, without adding fresh evidence about how the leader will behave elsewhere.
Seeds make a lesson repeatable, while history limits the lesson
The interface offers run and pause controls, stepping, speed changes, and candidate inspection. Seeded randomness lets you return to the same population history. You can compare a strategy's training and validation records or inspect the genome instead of merely accepting the winner. For teaching selection pressure, those controls give an instructor a concrete example to stop and discuss. They also make it easier to show how changing the seed changes what a search happens to discover.
The 20 MB environment is easy to keep around for that purpose. GitHub recorded a September 22, 2026 push, 255 stars, and no open issues or PRs; the issue listing was empty and no latest release existed. That's little public support history, even with recent code. The checked-in license identifies the code as MIT despite GitHub's generic license classification. Choose Backtesting.py for programmable strategy experiments, or Freqtrade when you need exchange-related software. For SETS, stop the replay and inspect how the leader was selected before interpreting its result.

