Roger Mendoza

From scanner to product: building GammaJuice

Turning a Python squeeze scanner into a signals product — a dashboard, a content site on a headless CMS, automated social posts and the engagement data that changed what we publish.

The GammaJuice signals dashboard with a quick guide and a table of squeeze signals

A scanner that prints to a terminal is a tool. A scanner other people can use is a product — and almost all of the work is in the gap between the two. GammaJuice is what the 3WT squeeze scanner became when I tried to close that gap.

GammaJuice is an education and research tool. Nothing here is investment advice.

The pipeline

Underneath, it's the same daily pipeline as the scanner:

  1. Refresh the stock universe weekly (about 3,700 small, mid and micro caps).
  2. Scan after the close for squeezes and three-week-tight consolidation.
  3. Track every signal over time — score, phase, streak and week-over-week changes.
  4. Enrich the survivors with options candidates and sentiment.
  5. Publish: dashboard, Telegram, social posts and the content site.

Each step is a small Python script with one job, scheduled by an agent runner. When a step breaks, it's obvious which one.

The dashboard: explain before you show

GammaJuice dashboard
The signals view: a quick guide on the left, the top signals across the top, and every signal's phase, streak, Z-score and options candidates in the table.

The first version was a table of numbers, and it was useless to anyone but me. The fix was the quick guide down the left side: what a squeeze is, what "before", "crossing" and "on" mean, what delta and gamma tell you. Every column in the table maps to a sentence in the guide.

The second fix was the "why" column: a one-line, plain-English reason for each signal. A score of 71 means nothing. "Ten weeks coiled before the squeeze, Z-score recovering" is something a person can evaluate and disagree with.

Content on a headless CMS

The public site is built with Astro and pulls articles, authors and signal tables from a Directus CMS. Writers work in the CMS; the site rebuilds as static pages with structured data for search. It's the same split I use on most content projects: editing in one place, a fast static site in another, and an API between them.

Charts people actually share

QQQ vs SPY normalised performance
One of the automated market charts: QQQ vs SPY over six months, with the spread underneath.

Market context charts are generated automatically and posted with the daily notes. Simple, dark, readable on a phone, and labelled with the one number that matters.

What the engagement data said

Social posts go out through Buffer, which made it possible to compare formats. Across 79 posts, the ones naming specific tickers averaged a 4.71% engagement rate, against 2.06% for posts without. The best performers combined a ticker, a clear setup and levels to watch — and, occasionally, a joke at our own expense.

Social engagement rate by post typenames a specific ticker (23 posts)4.71%no ticker (56 posts)2.06%
Small sample, and engagement isn't usefulness — but specific, checkable setups earned more than twice the engagement of general commentary. Source: GammaJuice market research.

That's a small sample, and engagement isn't the same as usefulness. But it changed what we publish: fewer general market musings, more specific, checkable setups.

Honesty is a feature

Building the product made me more careful about the numbers, not less. Signals are tracked forward from the day they first appear, with that date recorded, so performance is measured from a point nobody chose after the fact. And when a backtest looked too good, I read the code and found out why before it went anywhere near a marketing page.

The lesson from twelve years of sales systems applies here too: people can tell when a number is trying to sell them something. The fastest way to earn trust is to show your misses next to your hits.

Some links in these notes are affiliate links. If you buy through one, I may earn a commission at no extra cost to you. I only link to tools I use or would recommend.