This article is a deep-dive from JudyAI Lab β€” an AI engineering playbook series with 100+ published guides, 5,000+ weekly readers across 60+ countries, focused on the practical side of running AI agents, trading systems, and content pipelines in production.

From Internal Tool to Open Source

Every quantitative trader’s workflow starts with the same point: filtering through thousands of coins to find ones that match your criteria.

Our team is no different. While building our automated trading system, we needed a tool to answer the most fundamental question: Which coins currently meet my technical conditions?

There are plenty of screening tools out there, but most have these issues:

  • Free versions have limited features, core functionality requires payment
  • No support for custom indicator combinations
  • Can’t be deployed locally β€” data security is questionable
  • Can’t integrate with your own automation workflows

So we built our own. After using it for a few months, we decided to open source it.

What CoinSifter Can Do

Six Technical Indicators

IndicatorDescriptionExample Setting
RSIRelative Strength Index48 < RSI < 52 for range breakout
EMAExponential Moving AverageEMA20 > EMA50 to confirm trend
MACDMoving Average Convergence DivergenceHistogram turning positive, momentum reversal
Bollinger BandsBollinger BandsPrice touching lower band, looking for bounce
KDJStochastic OscillatorK-line crossing above D-line from oversold zone
VolumeVolumeBreaking 2x the recent average volume

All indicators can have upper and lower bounds set, freely combined into screening strategies.

Strategy System

Screening conditions are saved as YAML files β€” a strategy is just a set of rules:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# strategies/trend_long.yaml
name: "Trend Long"
timeframe: "4h"
filters:
  RSI:
    min: 50
    max: 70
  EMA:
    short_period: 20
    long_period: 50
    condition: "short_above_long"
  Volume:
    min_ratio: 1.5

You can save multiple strategies β€” long and short setups β€” and switch between them anytime.

Web UI

Browser-based interface with three main pages:

  1. Screener β€” Select a strategy, hit scan, results displayed as indicator cards
  2. Scheduled Scan β€” Set up automatic scans every N hours, results pushed to Telegram
  3. Settings β€” API Key, Telegram Bot, scan parameters

Dark theme, perfect for long monitoring sessions.

Telegram Notifications

When coins match your conditions, they’re automatically pushed to your specified Telegram group or direct message. No need to keep your computer running to check results.

Architecture

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Strategy  │────▢│   Filter     │────▢│   Result    β”‚
β”‚    YAML    β”‚     β”‚   Engine     β”‚     β”‚  Output     β”‚
β”‚ (Rules)    β”‚     β”‚ (Indicators) β”‚     β”‚ (Web/TG)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  Binance API β”‚
                    β”‚  (K-line)    β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Core components:

  • filter_engine.py β€” Filter engine, takes strategy rules and market data, outputs matching coins
  • indicators.py β€” Technical indicator calculations, pure Python + pandas
  • notifier.py β€” Notification module, supports Telegram
  • web.py β€” Flask web server, provides UI
  • coinsifter.py β€” CLI entry point, supports one-time and loop modes

5-Minute Quick Start

Prerequisites

  • Python 3.8+
  • Binance API Key (free to apply, just need read-only permissions)

Installation

1
2
3
4
git clone https://github.com/judyailab/coinsifter.git
cd coinsifter
pip install -r requirements.txt
cp config.example.yaml config.yaml

Configure API Key

Edit config.yaml and add your Binance API Key:

1
2
3
binance:
  api_key: "YOUR_API_KEY"
  api_secret: "YOUR_API_SECRET"

Only read permission (Enable Reading) is needed β€” trading permissions are not required.

Launch Web UI

1
python web.py

Open your browser to http://localhost:5050, select a strategy, and hit scan.

Command Line Mode

1
2
3
4
5
6
7
8
# Scan with default strategy
python coinsifter.py

# Specify a strategy
python coinsifter.py --strategy strategies/trend_long.yaml

# Loop mode (scan every 4 hours)
python coinsifter.py --loop --interval 14400

Why Open Source

Three reasons:

1. Screening is the starting point of trading β€” it shouldn’t have a barrier

The screening tool itself doesn’t provide a trading edge. The real edge comes from how you interpret the results, design your trading strategy, and manage risk. By making the entry tool free and open, more people can focus on what really matters.

2. Open source makes the tool better

Our team is small β€” we can’t possibly cover all coins, all indicators, all use cases. With open source, the community can contribute new indicators, fix bugs, and suggest improvements.

3. Building trust

We’ll launch advanced analysis and trading tools in the future. Proving our technical capability and sincerity with a free open source tool first is more convincing than marketing talk.

What’s Next

CoinSifter is just the first step. Here’s what we’re planning:

  • More technical indicators: ATR, ADX, OBV, etc.
  • Multi-exchange support: OKX, Bybit
  • Backtesting integration: Feed screening results directly into a backtesting framework to validate strategy effectiveness
  • Community strategy library: Let users share and rate screening strategies

If you find this tool useful, feel free to drop a Star on GitHub.


CoinSifter is an open source project by JudyAI Lab. MIT licensed, free to use and modify.

References

Key Numbers

  • 2x recent average volume breakout threshold
  • 5000 users (Threads + Newsletter subscribers)
  • $0 ad spend (100% organic)

Further Reading