Projects

Personal projects across statistics, systematic trading, machine learning, AI, and software engineering.

Distillfolio ↗

Live · Updated Daily

Nine signals. One score. A daily systematic long/short portfolio.

A systematic portfolio construction tool that distills nine alternative data signals into a single composite score for 3,000+ US equities. Built end-to-end: data ingestion pipelines, signal processing, composite scoring, and a web frontend with daily automated updates.

13F Hedge Funds
Conviction changes from hedge fund 13F filings
13F Asset Managers
Conviction changes from asset manager 13F filings
13F Other Institutions
Banks, pensions, and insurance funds
Analyst Ratings
Upgrade and downgrade consensus across firms
Price Momentum
Systematic price return signal
Short Interest
Days-to-cover trend across FINRA reporting periods
Insider Trades
Executive and director open-market transactions
Congressional Trades
Senate member equity disclosures
ARK Flows
Position weight changes across ARK ETFs
Next.js FastAPI Python Supabase Alternative Data Signal Aggregation 3,000+ Stocks

Trialchemy ↗

Live · Open Source

The workbench for designing, simulating, and comparing clinical trials.

Trialchemy brings 21 trial designs across 7 families into a single workbench, from Phase I dose finding to treatment selection. The cross-design view lets researchers compare methodologies under the same scientific objective, making it more than a calculator.

Phase I Dose Finding
3+3 · BOIN · mTPI-2 · CRM · TITE-CRM · BLRM
Dose Optimization
BOIN-ET · Keyboard OBD
Phase II Single Arm
Simon's two-stage · A'Hern single-stage
Phase II Dose Response
MCP-Mod · Emax
Phase III Two-Arm
Binary · Continuous · Survival
Non-Inferiority
Binary · Continuous · Survival
Treatment Selection
Sargent-Goldberg · Multi-arm GS · Adaptive Selection
Next.js FastAPI R TypeScript Clinical Trial Design Trial Simulation 21 Designs

EggBomb (掼蛋) ↗

Live · Multiplayer

A multiplayer web implementation of the Chinese card game Guan Dan.

掼蛋 is a 4-player team card game where partners race to shed cards before the opposing team, with valid combinations ranging from singles to multi-card bombs. Empty seats are filled by an AI bot powered by ISMCTS, an algorithm designed for games with imperfect information.

A♠
Single
K♠ K♥
Pair
5♠ 6♥ 7♦ 8♣ 9♠
Straight
7♠ 7♥ 7♣ 3♦ 3♣
Full House
J♠ J♥ J♣ J♦
Quad
5♥ 6♥ 7♥ 8♥ 9♥
Straight Flush
7♥ ?♠ ?♥ ?♣ ?♦
Wildcard (current rank)
React Node.js Socket.io TypeScript ISMCTS Real-Time Multiplayer