Skip to content
Case study

OptionTeller: Querying 70 Million Daily Option Trades

An options analytics platform querying 70+ million daily trades, built on Next.js and Rust.

Overview

About OptionTeller

OptionTeller is an option tape reading platform built by LaDucTrading in partnership with Volland. It lets traders query, filter and sort more than 70 million daily option trades to see actual customer positioning, with a seven-month look-back. Rather than showing unusual activity and leaving interpretation to the reader, it labels the trade — exact positioning, the option tactic used, whether it is open or closed, and whether the motivation is a bullish or bearish bet, a hedge, or delta-neutral. CharPixel built the web application in Next.js and the backend in Rust, hosted on AWS Lambda.

  • Query, filter and sort 70+ million daily option trades across all stocks and ETFs.
  • Seven-month look-back for tracking positioning over time.
  • Correctly-labelled option tactics, and whether a position is open or closed.
  • Customer motivation classified as bullish or bearish bet, hedge, delta-neutral, or arbitrage and closing.
  • Relevance scoring from 0 to 100 showing concentration of positioning.
Client
OptionTeller
Industry
Trading
Business type
Subscription options analytics platform
Website
option-teller.io
Sector pageHow we build for trading
The problem

What the platform had to solve

Option flow tools can display large trades and unusual activity, but they leave the hardest question unanswered: what does that trade actually represent? Without context, a large trade gets read as conviction when it may be a hedge, one leg of a multi-leg strategy, or a position being closed. The platform's problem was therefore not displaying data but interpreting it — and doing so across an institutional-grade feed producing around 70 million trades a day.

Challenges

What made it difficult

Seventy million trades a day, queryable

An institutional-grade OPRA datafeed across all option exchanges synthesises around 70 million trades daily. Making that interactively queryable — with filters, sorting and a seven-month look-back — is a data engineering problem before it is a product one.

Interpretation, not display

The value is in labelling what a trade represents. Multi-leg strategies have to be reassembled from individual legs and classified by intent, which is considerably harder than surfacing large prints.

Query latency against seven months of history

A look-back window measured in months, over a dataset growing by tens of millions of rows a day, puts the storage and query design directly in the path of whether the product feels usable.

Signal over noise

Most option volume is not informative. Ranking has to push retail-sized trades down so the positioning that matters surfaces.

Solution

How we approached it

  1. 01

    Rust backend on serverless infrastructure

    The query and processing layer written in Rust and deployed to AWS Lambda behind API Gateway, with AWS Secrets Manager handling credentials — chosen because the workload is CPU-bound over large datasets and the traffic is bursty.

  2. 02

    Next.js application

    The web application built in Next.js, keeping the query surface responsive over a dataset that cannot be shipped to the client.

  3. 03

    Trade matching and classification

    Matching logic that reassembles multi-leg tactics and classifies positioning intent — deliberately built from market experience rather than generated, which the product states explicitly.

  4. 04

    Relevance scoring

    A 0–100 score over open positioning across the look-back window, showing where bullish or bearish conviction concentrates, with sub-50-contract trades ranked to the bottom.

Technology

What it was built with

The technologies named for this project.

Frontend

Next.js

React

React

Backend

Rust

Infrastructure

AWS Lambda

AWS Lambda

API Gateway

AWS Secrets Manager

AWS Secrets Manager

Integrations

Stripe

Stripe

ActiveCampaign

OpenAI

OpenAI

Data

OPRA institutional datafeed

Architecture

How the system fits together

The structural decisions behind the platform.

  1. 01

    A Rust backend deployed to AWS Lambda behind API Gateway — a serverless fit for bursty query traffic over a CPU-bound workload.

  2. 02

    AWS Secrets Manager handling credentials for the data feed and third-party integrations rather than configuration held in the application.

  3. 03

    A Next.js front end issuing queries against the backend, since a dataset of this size cannot be shipped to the browser.

  4. 04

    Ingestion of an institutional-grade OPRA feed across all option exchanges, synthesising roughly 70 million trades per day into queryable positioning.

  5. 05

    Matching logic and relevance scoring built from market experience rather than model-generated — a positioning the product states explicitly.

Features

What the platform does

Customer-level trade query

Search customer-level trades rather than aggregated flow that hides intent.

Option tactic labelling

Correctly-labelled multi-leg tactics, and whether each position is open or closed.

Positioning intent

Each trade classified as bullish or bearish bet, hedge, delta-neutral, or arbitrage and closing.

Seven-month look-back

Historical positioning across a seven-month window to track conviction over time.

Relevance indicator

A 0–100 score showing concentration of open bullish or bearish positioning.

Filtering

Filter by date range and expiry, option tactic, directional positioning and relevance score.

Related services

What this project involved

All services
Web Application Development

Web Application Development

Scalable web applications on modern frameworks, engineered for first-load performance and sustained load.

Data Analytics & Engineering

Data Analytics & Engineering

Pipelines, warehousing and reporting built so the numbers reconcile and people act on them.

Cloud & DevOps

Cloud & DevOps

Migration, deployment automation and infrastructure on AWS, Azure and Google Cloud, built to be operated.

Custom Software Development

Custom Software Development

Bespoke systems shaped around your operations, integrated with the tools and data you already run on.

Questions

OptionTeller: common questions

Working on something similar?

Tell us what you're building and we'll say whether it's a fit.

Start a project
  • 01

    What did CharPixel build for OptionTeller?

    The web application in Next.js and the backend in Rust, hosted on AWS Lambda with API Gateway and Secrets Manager. Third-party integrations include Stripe for subscriptions, ActiveCampaign for lifecycle messaging and OpenAI.

  • 02

    Why Rust for the backend?

    The workload is querying and classifying tens of millions of rows per day with a seven-month look-back — CPU-bound work where execution speed translates directly into query latency and, on serverless infrastructure, into cost per request.

  • 03

    Is the analysis AI-generated?

    No, and the product is explicit about this. The matching logic and relevance scoring are built from market experience rather than generated by a model. OpenAI is integrated in the platform, but it is not what produces the trade classification or the scoring.

  • 04

    How is OptionTeller related to LaDucTrading?

    OptionTeller was built by LaDucTrading in partnership with Volland. LaDucTrading is a full-service financial research firm founded by Samantha LaDuc; Volland provides volatility and dealer-positioning analytics. CharPixel has worked on both LaDucTrading's platform and OptionTeller.

More work

Related case studies

All case studies
LaDucTrading case study

Finance & Education

LaDucTrading

A migration and relaunch for a trading education platform combining macro analysis with live trading.

The Cytadel case study

Financial Research

The Cytadel

A subscription market intelligence platform built on Supabase and Stripe.

Next step

Building something like OptionTeller?

Tell us what you're working on and what it has to handle. We'll come back with an architecture opinion and a realistic first milestone.

  • Reply within one business day
  • NDA on request