PROJECTS / CASE STUDY

Mammoth Capital Markets

The tools I trade with, built and served from my home lab: live market dashboards, an AI signal engine that grades its own calls, and a strategy engine I rebuilt around one rule: keep only what's proven.

3live dashboards
11signal modules in the Oracle
Everycall logged and graded
$0per month to host

BTC Oracle ↗  Pulse PRO ↗  OmniData ↗

The problem

I trade BTC and the MSTR ecosystem, and I trade risk first. The context I needed was scattered across a dozen tabs and subscriptions: sentiment, funding rates, liquidations, order flow, ETF flows, macro. And most "signals" online never tell you how often they were wrong.

So I built my own tools, on the rule that every call gets measured, and anything that can't show evidence gets cut.

What I built

BTC Oracle

A Python/FastAPI engine that fuses 11 signal modules (funding, fear & greed, multi-timeframe EMAs, golden cross, CME gaps, macro, news sentiment, max pain, liquidations, ETF flows and price action) into a conviction score. An LLM writes the thesis, and a live WebSocket feeds the dashboard.

Mammoth Pulse PRO

A multi-asset market pulse: fear & greed, funding, open interest, liquidations and cross-market momentum. Built for the web and packaged for Android.

BTC OmniData

Live BTC order flow, liquidation zones, multi-timeframe EMAs and tape reads, streamed from Coinbase and drawn on canvas.

Behind them sits the strategy engine (V3): one event loop with a unified risk manager (daily loss cap, position limits), a clean trade journal, live and historical market data, and a bridge that pulls the Oracle's conviction into its decisions. Earlier pieces (a tiered web product with accounts and Stripe payments, a trading terminal, an active-trader desk and a scalping desk) fed into it.

Architecture

One engine, many screens: the same Oracle feeds the dashboards and the strategy engine.

Decisions

  • Measure everything. Every Oracle prediction is written down with a timestamp and graded later against the real price, at several time horizons. A signal that isn't graded is just an opinion.
  • Kill what doesn't earn its keep. V3 was "built from the wreckage of V2, keeping only what was proven." I shut down an over-complex orchestrator, a routing layer that never produced results, and strategies that couldn't show evidence, and kept the few that could.
  • Risk before return. One risk manager owns the daily loss cap and position limits for every strategy, instead of each bot policing itself.
  • Why no performance numbers here: results depend on markets, timing and sizing, and a portfolio page isn't the place for them. These are personal tools, not financial advice.

What it taught me

Evidence over enthusiasm. The hardest and most valuable commit was the one that deleted code I'd been proud of. It's the same discipline I'd bring to a customer's proof of concept: define success, measure it, and be honest about what the data says.

Real-time is an operations problem. Live feeds drop, APIs rate-limit and exchanges hiccup. Most of the work is reconnects, caching and graceful degradation, not the chart.

Open the Oracle ↗  All projects