OrderFlow
OrderFlow is an AI-powered trading journal for Injective Protocol. It reads your on-chain trading history and turns it into specific, evidence-based feedback: where you are leaking money, what you are doing well, and what to fix next.
- Category
- AI trading analytics
- Status
- deployed
- Role
- Founder · Product Engineer · AI Integration Lead
- Built with
- Next.js 15, TypeScript, Tailwind CSS, Injective SDK, Google Gemini, Supabase
What it does
A web application that pulls a trader's on-chain history from Injective Protocol and analyses it with AI. It surfaces patterns across the trades, highlights where money is being lost, points out what is working, and gives specific suggestions drawn from the trader's own activity.
The problem it addresses
Most traders review their performance from memory or scattered screenshots. Their on-chain history holds the real story, but it is hard to read and even harder to turn into a concrete change in behaviour.
Key decisions
- Anchor every insight to real on-chain evidence from the user's own trades rather than generic trading advice.
- Use AI to interpret patterns, but frame the output as review and reflection, not signals or predictions.
- Focus on a single chain (Injective) to read its data accurately rather than covering many chains shallowly.
Built with
Next.js 15, TypeScript, Tailwind CSS, Injective SDK, Google Gemini, Supabase.
Known limitations
- This is a founder-built personal project, not a production trading service.
- It reviews past on-chain activity. It does not provide trading signals, predictions, or financial advice.
- Coverage is limited to Injective Protocol trading history.
What this demonstrates
- Analysis is only useful when it points to a specific, evidence-backed action.
- Reading one chain's data well is more valuable than reading many chains shallowly.
- An AI report is only as good as the statistics you pre-compute for it. Hand a model raw JSON and it gives you generic advice back.
Demo video
No demo video yet. Explore the live demo or repository to see this project in action.
Why this exists
Traders review their performance from memory. The memory is unreliable, and it is unreliable in a flattering direction. The losses were bad luck, the wins were skill, and the pattern in between stays invisible.
The pattern is in the data. It has been there the whole time, sitting in on-chain history that is public, complete, and almost unreadable.
How it works
Connect an Injective wallet. OrderFlow pulls recent trades from Injective's live indexer, covering both spot and derivatives, then computes behavioural statistics across them. Size relative to plan. Performance by time of day. What happens after a loss. Limit orders against market orders. Which markets carry the edge.
Those statistics go to a language model, which writes a structured report pointing at specific findings with the numbers attached. Every row in the trade list links to Injective Explorer, so any claim in the report can be checked against the chain rather than taken on trust.
Why one chain
This started as a general idea and became an Injective product for reasons that are technical rather than sentimental. Injective's exchange module exposes spot and derivatives trading through a single unified indexer. On Ethereum the same analysis would mean reconciling trades across dozens of venues with no shared data layer. Injective's order book is fully on-chain, so limit orders, market orders, and fills are all indexed and verifiable, which is what makes a statement like your limit orders outperform your market orders a claim about real behaviour rather than an impression.
Comparative analysis needs comparable data. Three hundred trades from one chain where every order is visible is worth more than a thin slice from five.
The decision that shaped the product
Sending the model statistics instead of trades.
The straightforward build hands raw trade data to the model and asks for insight. The output is fluent, plausible, and generic, because the model is doing arithmetic in its head over data it cannot reliably count.
Pre-computing the statistics in code and passing those along changes what the model is for. It stops calculating and starts interpreting, and the finding it reports is one that code already established. A win rate on limit orders against market entries is a computed number, not a generated impression.
What it does not do
It reviews the past. It does not predict, signal, or recommend a trade, and it makes no claim about future performance. Coverage is Injective only. This is a founder-built project rather than a trading service, and nothing it produces is financial advice.
People will read a report like this as an instruction anyway. That is worth saying out loud rather than discovering later.
What to take from this
If you are putting AI in front of data, decide whether the model's job is to count or to interpret, and make it do only one. Models are good at the second and unreliable at the first. Every number in an AI feature should come from code that can be checked.