What's new

What changed, and what it means

Every change worth knowing about, in plain words rather than commit messages. The unflattering ones are here too — a feature we built and then switched off, an email system that silently threw everything away, an outage we caused ourselves. A log that only lists wins is the same genre as a backtest that only shows the good half.

July 2026

Fixed

Deployed bots now fire exactly like their backtests

Two silent bugs meant a rule could grade beautifully and then take zero trades live, with nothing warning you. Rules that compare a stock to the market (SPY's return, say) were never wired into the live walk — one measured case fired 155 times in the backtest and 0 times live. Anything nested inside arithmetic, like "20-day momentum minus SPY's return", never resolved at all, in backtests either. Both are fixed, and the fix is one shared piece of code now instead of four copies that could drift apart again.

Better

Market rules a backtest usually skips

A fill can no longer happen outside real trading hours — orders that fire late queue for the next open, on the real US market calendar including half-days. An option contract can no longer outlive its own expiry: it settles. And buying power, stale-quote checks and split safety are all enforced on the live paper desk.

New

The front page is a lab you can use before signing up

Pick a strategy you already know the name of — buy the dip, the golden cross — pull one lever, and read a real graded result with a plain-words explanation of why. Three real runs, no account, nothing withheld until you hand over an email.

New

A feedback button in the corner, and kill switches behind it

Bottom-right of nearly every page — it steps aside during signup and on shared links — there's now a way to tell us something is wrong without leaving what you were doing. Behind the scenes we can also switch a single feature off without taking the whole product down, which is the difference between a bad hour and a bad day.

Better

Share links can't leak your desk

A public link to a result now carries the honesty stamp and the numbers, and provably nothing else — no keys, no account, no other strategies.

Fixed

Intraday works on every symbol, not just the pre-loaded ones

If a bot needs minute history we didn't have yet, we go and fetch it instead of quietly grading it on nothing. Loading that history also went from about 50 minutes to about 12 seconds.

New

Deploying a bot no longer runs a backtest behind your back

Deploying isn't a request to be graded, and not every strategy can be honestly graded — an intraday options idea may simply have no history to score against. So an ungraded bot is now a normal resting state: it trades exactly like a graded one, and the page invites you to "Run one" rather than warning you. When you do ask for a grade, it attaches to that bot.

New

Your stop stays your stop

We used to reject a custom stop outright. Now we grade the one you asked for and print our engine's read beside it — "a 50% stop would have done X% better" — as a suggestion. Never a substitution, never a refusal.

Better

We're on the full consolidated tape now

Quantradin got its own dedicated market-data account, so live prices come from the whole US tape instead of a single exchange. It also ended a crash loop that was restarting our live engine every few minutes.

Fixed

A 5-minute bot now actually trades 5-minute bars

Caught before launch: intraday bots were being walked on the wrong bar size. Related trap, now documented everywhere it bites — some indicator names count bars, not minutes, so on a 5-minute chart a "5-minute return" means 25 minutes. If you build intraday, read the feature names literally.

Better

Every bot gets a real name and a true description

Deployed bots are described by what their rules actually do, generated from the spec — so a desk with a dozen alphas on it is still readable a month later. A missing name gets filled in rather than rejected.

Fixed

Every email we sent for weeks was being thrown away

Verification links, welcome mails and password resets were all being blocked at the edge before they reached our mail provider, because of the default signature our code sent them with. Nothing in our logs said so. If you signed up in that window and never got a link, that was this — it works now, and there's a test pinning it.

New

Three real emails, and a soft verification gate

Signup verification, a welcome, and password reset, all redesigned and all sent with a plain-text twin for screen readers and text-only clients. An unverified member is fully inside the product — build, backtest, read everything. The one thing that waits for a verified address is deploying a bot.

Fixed

A database lock took signup and login down

One bug looked like three unrelated outages. A read connection was parking itself mid-transaction and blocking a startup migration, which then blocked every later reader and stopped new instances from starting at all. Root-caused, fixed at the source, and guarded by a test — mitigating it by hand wasn't good enough.

New

Profile pictures

500 procedurally drawn trading avatars, or upload your own. Picked during signup rather than discovered in settings three weeks later, and saved the moment you click so it survives skipping the rest of onboarding.

Better

Real recorded quotes on exits, not just entries

Where we hold a real two-sided quote for the moment a position closes, we sell at the real bid — same-session only, so nothing stale gets carried forward. Where we don't have one, the modeled fallback is identical to what it always was, and every result tells you what fraction of its fills used a real quote versus a modeled spread.

New

The results page shows the unflattering half

Alongside the verdict: how much of it rests on real recorded quotes, how confident the engine is and why, the exact in-sample and out-of-sample date ranges, whether delisted companies were included, which overlays were running, and the full trade list. You can check our work.

New

Multi-leg options in the no-code builder

Verticals, spreads and covered calls can be assembled from clicks, priced off real option chains rather than a model where the chain exists.

Better

Backtests got a lot faster, with identical results

Option-chain lookups are batched and indicator maths is vectorised. A full-universe run that took minutes takes seconds. The numbers are byte-for-byte the same as before — a test pins the fast path and the old path bit-exact against each other, because a speed-up that changes an answer is a bug.

Honest note

Crypto is built, and switched off

The crypto engine works. We then measured the data behind it and found our provider's crypto feed is venue-only and far too thin to grade honestly — roughly two coins a day of Bitcoin volume on that venue, against something like $30bn traded globally. We could ship fills priced on that. They would not be honest, so crypto stays behind a switch until we license a real feed. Please don't plan around it.

Honest note

Futures is cut

Our market-data provider has no futures at all. Rather than model them and call it a backtest, futures is off the roadmap until that changes.

New

Minute-bar backtesting, and 113 more indicators

Strategies can run on 1-minute US equity bars with the same no-look-ahead rules as the daily path, entering at the next minute's open. The indicator library went from 45 to 158. Daily results are unchanged to the last decimal place.

New

A profit cap you can run but we won't credit

You can set a take-profit target and it will run on your live paper desk. It stays out of the score, because a target flatters a curve without earning anything — the graded result is identical whether you use one or not.

New

Guard rails for AI agents

Keys can be scoped to specific capabilities, a repeated request can't accidentally double-deploy, a desk can require your approval before a bot goes live, exposure and rate caps are enforceable, and everything an agent does is written to an append-only ledger you can read.

New

Our own market-data pipeline, watched by a supervisor

We stopped depending on the original rig for data: we ingest bars and option quotes ourselves, and a supervisor restarts anything that dies, refuses to run two copies at once, and checks the bar cache is fresh — because a stale cache means a lying backtest.

Better

Companies that no longer exist are back in the history

A backtest that only knows about today's survivors is flattering itself. Delisted names load their real history, frozen at the delisting date, and results say whether they were included. Two fabricated post-delisting price tails were caught and cut in the process.

Better

Nightly backups, with a restore we actually practised

The database is dumped nightly to offsite storage, and we've rehearsed bringing it back rather than assuming we could. Errors now page us in Slack, uptime is monitored from outside, security headers are enforced and dependencies are audited weekly.

New

The whole stack runs in the cloud

Website, API, engine and database live on real infrastructure with a domain, instead of on a laptop. Same code as local; only the data source differs, and the two are proven to produce identical results.

June 2026

New

Accounts, and a paper desk of your own

Sign up, sign in, and get a $100,000 paper desk that forward-walks on real quotes with a morning digest of what your bots did. Every strategy and result is scoped to you.

New

The no-code builder and the full report

Assemble a strategy from clicks — rules, indicators, exits — and get back a real report: equity and drawdown, what happened year by year, the distribution of outcomes, gross versus net after costs, and how much of the result you'd actually have been able to fill.

Better

The honesty fix that made every number worse

Choices like the stop are now settled on one stretch of history and scored on a later one the rules never saw. Results across the whole product dropped the day it shipped. That was the point: the old numbers were partly a description of the answer key.

Better

Contracts too thin to trade are skipped, not imagined

An option with no real volume or no tradeable bid is dropped from the result and counted in a skip rate you can see, rather than filled at a price nobody was offering.

New

Day one

The engine was lifted out of a working trading rig — not written for a website — and re-validated so it grades a reference strategy identically before and after the move. That check still runs on every change we make to the maths.

Older than this

This log starts the day the repository did. Anything before it happened inside the trading rig the engine came out of — that story is on about.

Something missing?

If a change affected you and isn’t written down here, tell us and we’ll add it. The fastest route is the feedback button in the bottom-right corner of any page, or the Discord.