invest.beluga-tempo.com

10
8
125+
2
📊

🌐

🤖

1

2

3

4

invest.beluga-tempo.com
Signal Dashboard
📊
🔍
📋
Ticker Val Gro Mar Tre Mom
NVDA +6 +1 +1 +1 +1 +1
AVGO +4 0 +1 +1 +1 +1
TSM +3 +1 0 +1 +1 0
AAPL 0 -1 0 +1 0 0
INTC -2 -1 -1 0 -1 +1

📊
P/E vs Screen
+1: P/E < 0.8× median
 0: ±20% of median
−1: P/E > 75th pctl
−1 0 +1
📈
Revenue YoY
+1: Rev Growth > 15%
 0: 5% – 15%
−1: Rev Growth < 5%
−1 0 +1
💰
Gross + FCF
+1: GM > 40% & FCF > 0
 0: GM 20%–40%
−1: GM < 20% or FCF < 0
−1 0 +1
〰️
SMA Alignment
+1: Close > SMA200, 50 > 200
 0: Crossover state
−1: Close < SMA200
−1 0 +1
RSI + 52w High
+1: RSI 35–55 (recovery)
 0: RSI 40–60
−1: RSI > 70 near 52w high
−1 0 +1
🔍
ADX + Proximity
+1: ADX > 25, ≤10% of 52w hi
 0: ADX 15–25
−1: ADX < 15 (no trend)
−1 0 +1
📅
Earnings Proximity
+1: AI thesis override
 0: ≤30d or >60d (default)
−1: Binary risk override
−1 0 +1
💬
Reddit / Xueqiu
+1: Rank ≤100, rising 1.2×
 0: Stable / no data
−1: Rank ≤20, fading <0.7×
−1 0 +1

NVDA — NVIDIA −1 +1 +1 +1 +1 +1 0 +1 +5
AAPL — Apple 0 −1 +1 +1 0 0 0 0 +1
INTC — Intel +1 −1 −1 −1 0 −1 0 −1 −4

−8−4−20+3+5+8

TradingView scan API Screener 21 fields Reddit 🇺🇸 US Xueqiu 🇨🇳 A-share Scorer 8 dimensions libSQL Turso Dashboard Next.js HTTP POST sentiment sentiment poll 30s persist

TradingView Scan API

market_cap_basicprice_earnings_ttmgross_margin_ttmRSIADXSMA50SMA200

Reddit Sentiment (ApeWisdom)

libSQL / Turso

UI LAYER LOGIC LAYER DATA LAYER EXTERNAL Next.js App Router page.tsxDashboard layout.tsxFonts + Theme globals.cssStarry Blue api/screen api/cron api/thesis proxy.ts signal-scorer.ts8 scoring functions screener.tsTV API client sentiment.tsMarket router llm.tsAI SDK themes.ts10 presets types.tsInterfaces db-operations.ts reddit-sentiment.ts xueqiu-sentiment.ts schema.tsDrizzle ORM db.tsConnection seed.tsTheme data TradingViewscan API Turso Cloudaws-us-east-1 LLM ProvidersClaude/GPT/DS ApeWisdomReddit API Xueqiu雪球 API

Next.jsv16.1.6
Reactv19.2.3
🗄
libSQL / Tursov0.14.0
💧
Drizzle ORMv0.45.1
🎨
Tailwind CSSv4
🧱
shadcn/uiv3.8.5
🧪
Vitestv4.0.18
🎭
Playwrightv1.58.2
🤖
Vercel AI SDKv6.0
📊
Rechartsv3.7.0
📈
Lightweight Chartsv5.1.0
📦
TypeScriptv5 (strict)

🇺🇸
ai-infrastructure
SemiconductorsCloudData CentersNetworking
MCap > $5BGM > 40%Rev Growth > 12%
market_cap_basic> $5B
sectorElectronic Tech, Tech Services
gross_margin_ttm> 40%
revenue_yoy_growth> 12%
schedule06:30 Mon-Fri
🇺🇸
robotics
Industrial MachinerySemi EquipmentElectronic Equipment
MCap > $2BRev Growth > 8%
market_cap_basic> $2B
sectorProducer Mfg, Electronic Tech
revenue_yoy_growth> 8%
schedule18:00 Sun
🇺🇸
energy-transition
SolarRenewablesElectrical Equipment
MCap > $1BRev Growth > 5%
market_cap_basic> $1B
sectorUtilities, Industrial Svcs, Producer Mfg
revenue_yoy_growth> 5%
schedule18:00 Sun
🇺🇸
healthcare-ai
MedTechHealth ITDiagnostics
MCap > $1BRev Growth > 10%
market_cap_basic> $1B
sectorHealth Tech, Health Services
revenue_yoy_growth> 10%
schedule18:00 Sun
🇺🇸
defense-reshoring
AerospaceSpecialty ChemicalsDefense
MCap > $2BRev Growth > 5%
market_cap_basic> $2B
sectorElectronic Tech, Producer Mfg, Industrial Svcs
revenue_yoy_growth> 5%
schedule18:00 Sun
🇨🇳
a-ai-computing
SemiconductorsCloudData Centers
MCap > ¥20BGM > 25%Rev Growth > 15%
market_cap_basic> ¥20B
sectorElectronic Tech, Tech Services
gross_margin_ttm> 25%
revenue_yoy_growth> 15%
schedule07:30 Mon-Fri
🇨🇳
a-new-energy
EVBatteriesAuto Parts
MCap > ¥10BRev Growth > 10%
market_cap_basic> ¥10B
sectorProducer Mfg, Electronic Tech
revenue_yoy_growth> 10%
schedule08:00 Fri
🇨🇳
a-consumer-leaders
Consumer StaplesConsumer DurablesBeverages
MCap > ¥50BGM > 30%ROE > 15%
market_cap_basic> ¥50B
sectorConsumer Non-Durables, Durables
gross_margin_ttm> 30%
return_on_equity> 15%
schedule08:00 Fri
🇨🇳
a-high-dividend
BanksUtilitiesEnergy
MCap > ¥50BDiv Yield > 3%Op Margin > 10%
market_cap_basic> ¥50B
sectorFinance, Utilities, Energy Minerals
dividend_yield> 3%
operating_margin_ttm> 10%
schedule08:00 Fri
🇨🇳
a-semiconductor
SemiconductorsChip DesignFoundry
MCap > ¥10BRev Growth > 10%
market_cap_basic> ¥10B
sectorElectronic Technology
revenue_yoy_growth> 10%
schedule07:30 Mon-Fri

71
Vitest v4
54+
Playwright

signal-scorer.ts100%
sentiment.ts100%
reddit-sentiment.ts100%
xueqiu-sentiment.ts100%

Unit Tests (71) E2E (54+) Manual

vitest.config.ts
provider: "v8"
include:
lib/signal-scorer.ts
lib/reddit-sentiment.ts
lib/xueqiu-sentiment.ts
lib/sentiment.ts
exclude:
e2e/**
node_modules/**

themes
idtext PK
name_zhtext
name_entext
markettext
sectorsjson
filtersjson
scheduletext?
screen_runs
idint PK auto
theme_idtext FK
sourceenum
run_atdatetime
candidate_countint?
stock_snapshots
idint PK auto
run_idint FK
tickertext
companytext
close, pe, rsi...real
sig_* (8 dims)int
signal_totalint
ratingtext
thesis_zhtext?
unique: (run_id, ticker)
watchlist
tickertext PK
added_atdatetime
notes_zhtext?
cost_basisreal?
sharesreal?
decisions
idint PK auto
tickertext
actionBUY/SELL/HOLD
signal_totalint
price_at_decisionreal?
entry, target, stoptext?
thesis_zhtext?
decided_atdatetime

🌐
Vercel
iad1 (Washington DC)
🗄
Turso
aws-us-east-1
5 scheduled
🔒
Bearer token

Node.js v25.1.0
TypeScript v5 (strict)
Python 3.13 (uv)
macOS Darwin 25.3.0
Port 8888
Next.js 16.1.6
React 19.2.3
Drizzle ORM 0.45.1

npm run dev
npm run build
npm run test
npm run db:push
npm run db:seed
npm run cron:local