Intrabar fills + replayable backtests
Two backtest improvements. Fills stop snapping to bar close — intrabar timing matters and gaps get detected properly. And old backtests can be re-run on the new engine and compared side by side. Research becomes reproducible across engine versions instead of locked to whatever version it ran on.
DSL strategy editor lands in the backtesting page
Up until this commit, if you wanted a custom strategy you had to either pick from presets or come find me. From now on you write it yourself, in the browser, in a typed mini-language. Run it, watch entries and exits draw on the chart, tweak it, run it again. Moltfi herself can write strategies the same way through her agent door — MCP. Strategy stops being something you ask for and starts being something you author.
Async backtest — Moltfi becomes voice-driveable
Backtest runs go fire-and-forget — submit a strategy, get a job id back, poll for status later. The change isn't just an API ergonomics win. It's what makes Moltfi voice-driveable: until now, running a backtest from a chat session would block the agent waiting for the result. Async means Mate can hand the job to Moltfi, return to the user, and pick up the result when it's ready. The next day, Mate ships the tool calls (run_backtest, get_run_status) that turn this into the first end-to-end voice trade-research loop.
JWT → opaque session tokens
Strategy DSL — schema, validator, interpreter
Strategy is now data, not configuration. ICT primitives — fair value gaps, order blocks, sessions — become first-class types in the DSL. The backend half of what users will see in the editor a few days later.
MCP bridge — Moltfi opens up to agents
Same day Moltfi opens up to outside callers in general. The thesis: an agent should be able to talk to Moltfi the same way a human account holder does. MCP is the door.
Realtime PnL using quote last price
Auto-reconnect — copy trading needs always-on
Cross-broker copy trading — live
The day cross-broker copy trading actually went live. Different brokers, different account sizes, different per-member multipliers — all kept in sync, all reacting to the same lead trader's moves. Most copy-trading systems out there assume everyone's on the same broker; the prop-firm world doesn't work that way. Building this was the original reason Moltfi existed in the first place. The peak of this chapter.
Copy Trading Engine — Phase 2
The feature that makes Moltfi different from every other trading tool I'd seen lands in code form. You stop thinking about one account at a time and start thinking about a leader and a group of followers as one unit. Actions on the leader fan out to the whole group at once, the engine keeps everyone in sync, and the architecture writeup landed in the same commit so future-me wouldn't forget how it worked. Everything in place for the live cross-broker run the next day.
Account Groups Phase 1 — batch ops across bridges
Multi-user isolation — bridges + trading data per-user
Single-user prototype → SaaS pivot. Same day, login integrates with everydays.tools. Strangers can now use the same server safely.
DOM Ladder — click-to-order, working orders on the book
Multi-account order routing — every order knows its target
First slice of the OHLCV backtesting engine
Plus continuous-contract support so backtests stop breaking on futures rollover. The seed of everything in the backtesting story.
Mint a token, share a live view
Two related commits the same morning, three hours apart. First: a standalone viewer page — read-only chart and order book, no trading buttons, just the live picture. Then: a small admin page that mints a token and gives you back a shareable link. Anyone holding the link can watch live, restricted to the symbols you allowed; without a valid token, the viewer doesn't even open. This little seed turned into the token system that today spans everydays.tools. The first place I treated tokens as something you create, not something you receive when you log in.
Paper trading + multi-account PnL
Data model crystallises
Until this commit the data layer had grown organically — everything piled into one big space. This is where it gets carved into proper domains: market data, orders, users, simulations, each owning its tables, no more bleeding across boundaries. The architectural inflection point for Moltfi's backend.
R/R overlay on chart — planning mode, draggable zones
First real order through my own code
Two things had to land on the same day for this milestone to mean anything. First: I'd spent a couple of weeks building my own binding from Python down to Rithmic's C++ SDK, instead of using whatever wrapper happened to be lying around. Second: the broker finally approved my account for live trading. So when I sent that first market order, it went out through code I wrote — every layer between the keyboard and the exchange was my own. Market, limit, stop, cancel — all working. The loop closed for the first time. Trading carpentry.
ATM strategy editor — multi-layer TP allocation
Candles tick live in the browser
Charts hooked up to the live quote feed instead of pulling fresh data from storage every few seconds. Quotes stream in, the current bar updates in place, the line moves. Until this commit the chart was a picture; from this commit on, the chart was breathing. The first time Moltfi felt like a chart, not a spreadsheet.
TimescaleDB + Vue 3 + FastAPI — the web pivot
The TUI got the Rithmic protocol working in 10 days, but a web app couldn't sit on top of curses. This commit is the pivot — same protocol layer underneath, but everything above it gets rewritten for the browser. Tick data gets pulled out of in-memory dicts and lands in TimescaleDB, because regular Postgres collapses on hot-path quote streams. FastAPI sits between the protocol bridge and the frontend so a Vue 3 single-page app can consume it. Nothing visible to a user yet — but every Moltfi feature shipped after this rides on the bones laid down here.
TUI v2 — quick-order panel, real-time positions
First commit — Rithmic protocol, Python TUI
Moltfi's real beginning. While waiting for broker approval to enable live trading, I built a TUI that talks the Rithmic protocol on a paper account. Nobody builds TUI trading terminals anymore. That was the point.
trader-pro Phase 1 — "trading + courses" idea
trader-pro — first prototype, shelved days later
Started from the frontend. Quickly realised: without a real broker connection and historical data, there's nothing for the UI to show. Shelved — and resurrected weeks later as the foundation of Moltfi's frontend, which is where backtesting lives today.