[sage]SIGNALS screens 1,000+ US tech stocks through 6 research-backed gates every weekday at 9am and emails the top 10 — with entry zones, stop-losses, and sell signals — before the market opens.
The Builder

I'm a PM who decided the best way to get better at building was to actually build something. [sage]SIGNALS is one of a growing set of [sage] apps— personal tools I design, build, and ship with AI assistance. The stack is real, the data is live, and the pipeline runs every morning whether I'm watching or not.
Connect on LinkedInMotivation
A friend of mine has been trading stocks for years. I wanted to get into it, but I didn't want to just follow his picks. I wanted to understand the logic, build on top of it, and see if I could make it systematic.
So we collaborated: he brought the trading knowledge, I brought the ability to build things fast with Claude Code. The result is a screener that does our morning research for us. Every weekday at 9am, before the market opens, we both get the same email. He validates the model logic. I maintain the pipeline. Neither of us has to spend 45 minutes scanning tickers before breakfast.
We're paper-trading it now — tracking every pick's return at T+1, T+5, T+10, and T+21 before we commit real capital. This dashboard is how we know whether it's actually working.
The Product
[sage]SIGNALS is a daily pre-market email screener for US technology stocks. It runs every weekday via GitHub Actions, screens the full tech universe through 6 gates, ranks the top 10 by composite score, and sends the result as a mobile-friendly HTML email at 9am ET, before the New York Stock Exchange opens.
It's built for two investors with an aggressive risk tolerance and a days-to-weeks trading horizon. Every pick comes with an entry zone, two stop-loss levels (ATR-based and flat 12%), and a risk score from 1 to 10. Current positions are checked for sell signals every morning.
The validation dashboard on this site tracks every pick's forward performance against QQQ. Hit rate, alpha, rank validity, and per-pick return all update as Polygon.io closes resolve each day. Directional signal becomes readable at 2 to 4 weeks. Full statistical validation takes 12 to 16 weeks.
Capabilities
1,000+ US tech stocks narrowed to mid-cap and above with buy-or-better analyst consensus before a single gate runs.
Momentum, profitability, revenue growth, cash flow, sentiment, and options flow. Every stock must pass all six.
Survivors are scored, ranked, and annotated with top 3 strengths, a risk score, entry zone, and two stop-loss levels.
Mobile-friendly HTML report lands before market open every weekday. No login required — it just shows up.
Held positions are checked against four exit conditions: deteriorating fundamentals, sentiment breakdown, and trailing stops.
Every pick is tracked at T+1, T+5, T+10, and T+21 trading days and compared to QQQ over the same window.
A plain-English read on the day's picks — what the signals mean in context, not just raw numbers.
All picks are logged in Supabase before any real capital moves. The dashboard shows whether the model is working.
1,000+ US tech stocks narrowed to mid-cap and above with buy-or-better analyst consensus before a single gate runs.
Momentum, profitability, revenue growth, cash flow, sentiment, and options flow. Every stock must pass all six.
Survivors are scored, ranked, and annotated with top 3 strengths, a risk score, entry zone, and two stop-loss levels.
Mobile-friendly HTML report lands before market open every weekday. No login required — it just shows up.
Held positions are checked against four exit conditions: deteriorating fundamentals, sentiment breakdown, and trailing stops.
Every pick is tracked at T+1, T+5, T+10, and T+21 trading days and compared to QQQ over the same window.
A plain-English read on the day's picks — what the signals mean in context, not just raw numbers.
All picks are logged in Supabase before any real capital moves. The dashboard shows whether the model is working.
The Pipeline
The screener runs as a fully automated pipeline triggered by GitHub Actions every weekday morning. Here's each step in order.
The 6 screening gates
| # | Gate | What it checks |
|---|---|---|
| 1 | Momentum | Price above 50-day and 200-day SMA; 1-month and 3-month performance both positive |
| 2 | Profitability | P/E ratio positive (proxy for positive trailing EPS); EPS growth year-over-year positive |
| 3 | Revenue growth | 5-year sales CAGR ≥ 20% QoQ decel N/A — data gap |
| 4 | Cash flow | FCF or OCF positive N/A — data gap |
| 5 | Analyst sentiment | Buy-or-better consensus — enforced at the fetch stage via Finviz URL parameter |
| 6 | Options flow | Call/put ratio ≥ 1.0 N/A — data gap |
Gates 4 and 6 are structural placeholders. Finviz does not provide cash flow or options flow data, so they always pass as N/A. Both will activate when an appropriate data source is integrated in a future phase.
Stack
Libraries & frameworks
Platforms & services
Get in touch
I'm open to conversations about PM roles — ideally somewhere the product surface is genuinely complex and the team ships with intention.
If that describes where you're hiring, I'd like to connect.