The problem
Most retail traders keep their journal in a spreadsheet, or not at all. What little they record is entered after the fact, and therefore biased: you log the trades you remember, rarely the ones you would rather forget. Yet the most useful information is not the outcome of a position, it is the behavioural pattern preceding it — the revenge sequence after a loss, the size increase at exactly the wrong moment.
Edge Ledger removes manual entry: it pulls fills directly from the platforms, then works on that objective data to produce statistics and surface patterns the trader cannot see unaided.
What I built
Automatic multi-platform import
API connections to crypto venues, and a realtime bridge for MetaTrader platforms through a dedicated module installed on the trader's side.
Performance analytics
PnL, streaks, drawdown, statistics by instrument, session and time of day.
Tilt detection
identification of sequences characteristic of degraded decision-making.
AI deep analysis
synthesis of recurring patterns, computed in the background.
Prop-firm challenge mode
regular equity snapshots, automatic breach detection, post-mortem report.
Market alerts
large-wallet movements pushed through instant messaging.
SaaS foundation
subscriptions across two payment providers, two-factor authentication, outbound webhooks, generated share cards.
Architecture & technical decisions
The core of the product is a normalisation pipeline. Every venue describes a fill differently: fees separate or included, positions aggregated or fragmented, timestamps in different zones. Everything converges on a single internal model — without which no statistic is comparable across platforms.
Ingestion is fully asynchronous, driven by a queue supervisor. An initial import can represent years of history: processing it in the background lets the user keep navigating, and makes error recovery possible without starting over.
The MetaTrader bridge is a signed module installed on the trader's machine that pushes fills to the API. It carries a version number the server checks, so an outdated module is rejected cleanly rather than ingesting malformed data.
Platform API keys are encrypted with a key separate from the application's. They are the most sensitive data in the product: their compromise must remain independent of a leak of the main database.
Two payment providers coexist to cover different regions and payment methods, with dunning logic when a charge fails.
Technical challenges
Financial realtime. Fills arrive continuously and must appear immediately in the interface, over per-user WebSocket channels.
Import idempotency. Re-importing the same history must never duplicate a position — every fill is identified stably, whatever the source.
Prop-firm challenges. Enforcing a maximum-loss rule requires regular equity snapshots and reliable breach detection, including while a platform is temporarily unreachable.
The cost of AI. Deep analysis is reserved for paid tiers and cached: without that, the product's margin disappears into inference cost.
Compliance and data exit. Scheduled purging, full export and account deletion, because a tool holding someone's trading history must be able to hand it back and forget it.