PRIOR/ODDS · elvis liu · risk · forecasting · ai
RELAY OK UTC --:--:--

№ 002 · NOTEBOOK · DENSE VIEW

Notebook.

Code, writing, reading, calibration. The dense view of what I'm doing now. The scoreboard updates when reality resolves.

Claims
0
logged
Resolved
0
of 0
Brier
cumulative
Best tag
lowest Brier
Worst tag
highest Brier

§01 · Now SNAPSHOT OF THIS FORTNIGHT

BUILDING PriorOdds Agent — a web shell around Claude Code's agent loop, aimed at academic paper analysis and writing.
READING Tetlock, Superforecasting. Hull, Risk Management. Whatever arxiv preprint the OpenAlex feed surfaces this week.
WATCHING Polymarket featured markets against Manifold base rates. Calibration is the only metric I trust.
AVOIDING Hot takes on AGI timelines. There is enough work to do at 6-to-18 month horizons.
LEARNING Stochastic processes the hard way — Shreve vol. 1, then Glasserman for the practitioner side.

§02 · Code LIVE FROM GITHUB

GitHub avatar
github.com/arteeeezy ↗
Elvis Liu
member 5y · public repos shipping as the workshop matures

Workshop · pushing public as each one matures

# Project Description State
01 priorodds-brain Personal-knowledge MCP server. Ingests my saved content across Substack, X bookmarks, Xiaohongshu collections, and Zhihu saves into a single corpus, then exposes it over MCP so Claude and ChatGPT answer grounded in my own history. Hybrid retrieval (BM25 + dense + reranker), Gemini Embedding 2 as a single 1536-d vector space for both text and image-posts so XHS notes surface alongside Substack longforms in one query. Deployed alongside aistack on the Hetzner box, gated by Cloudflare Access at brain.priorodds.com.
FastMCP 3.0pgvectorGemini Embedding 2Cohere Rerank 3.5Cloudflare Access
v0.1 · pg + schema live · awaiting first ingest
02 priorodds-agent Claude Code's agent loop, recompiled for the browser. Drop in an arxiv URL or research question; a sandboxed agent reads the PDF, searches OpenAlex, drafts a critical review, ships Markdown + PDF. Per-task Docker container, 2 GB cap, 30-min default timeout.
Next.js 15Anthropic Agent SDKDocker sandboxPostgres
private · prep for OSS
03 priorodds-site Single-page editorial layout. GitHub data fetched at build time, real calibration math drawn in SVG, terminal aesthetic. Builds to one ~60 KB HTML file.
Astro 5TailwindCloudflare Pages
live · this site
04 openclaw Multi-agent radar framework. First agent watches featured Polymarket markets, cross-references arxiv and news, surfaces what the consensus seems to be missing. MCTS hypothesis search; outputs flow into the decision journal as priors.
PythonMCTSPolymarket APIscheduled cron
private experiment
05 elvis-ledger Discord → Beancount personal ledger bot. Send a line in chat; LLM parses to beancount, bean-check validates, bot commits to a private GitHub repo, Fava renders the books in real time.
PythonBeancountDiscordFavaFly.io
live · personal
06 decision-journal The Bayesian decision journal proper. Every claim, prior, evidence pull, posterior, outcome. Brier score updates as reality resolves; per-tag calibration curves accumulate.
Next.jsPostgrescalibration math
private notebook

§03 · Stack SELF-HOSTED ON ONE BOX

Label Service Purpose Status
chat chat.priorodds.com ↗ Self-hosted Open WebUI with custom tools, skills, and prompt templates. Multi-user, lives on a small Hetzner box. PROD
agent agent.priorodds.com ↗ PriorOdds Agent — Claude Code-style web agent. Per-task Docker sandbox, real-time progress UI. DEV
code code.priorodds.com ↗ Cloud code-server behind Cloudflare Access + Google SSO. The driver seat for everything above. SSO
relay relay.priorodds.com Anthropic-compatible relay. One subscription, every internal service — keeps native message format, caching, thinking blocks intact. INT

§04 · Calibration PERSONAL DECISION LOG · HONEST SCOREBOARD

Reliability diagram

0 1 0 1 FORECAST P OBSERVED FREQ
Reliability diagram · dot = bin, size ∝ count, diagonal = perfect

Cumulative Brier

Brier score · cumulative

awaiting resolution

Claims logged
0
Resolved
0
Brier
As of
2026-06-11

The board is empty right now. Each claim is logged with a prior, evidence, and a posterior; the score updates when reality resolves. Honesty before scoreboard.

§05 · Writing LONG FORM · ON THE SLOW

01
A risk-control reader's notes on prediction markets
Why a Polymarket question is a more honest research artifact than most policy papers — and why most quants ignore it anyway.
Draft · forthcoming
02
Building Claude Code into a web app, the small-team way
Wiring the Anthropic agent SDK behind a thin Next.js surface, sandboxing per task, and the ten obvious bugs you will hit.
Draft · forthcoming
03
When a prior is too sharp
A short defense of holding 35-65% in places where everyone around you holds 5-95%. With three examples from this year.
Draft · forthcoming
04
Notes from a self-hosting weekend
What a small Hetzner box, Cloudflare proxy, and a stubborn weekend can replace from your SaaS subscriptions. Honest costs.
Draft · forthcoming
05
Calibration is the only honest scoreboard
If a forecaster will not show you their Brier score over time, you do not have a forecaster.
Outline

§06 · Reading BOOKS · PAPERS · PEOPLE

Books

Papers

People I read

§07 · Bio PRIOR → POSTERIOR

prior
evidence
posterior

Recovering internal auditor, now mostly thinking about risk control, calibration, and what it means to forecast under genuine uncertainty.

I run a small stack of self-hosted AI tools — a chat assistant, a code workspace, a relay, and lately a Claude-Code-style agent that runs research for me while I'm asleep.

The site name is a Bayesian joke and an honest brief. If I say the odds are 60-40, that's the prior — what I'd say before reading anything. The work is in figuring out where the posterior actually lands.

§08 · Reach DIRECT MAIL · I REPLY TO MOST

EMAIL hi@priorodds.com GITHUB @arteeeezy ↗ CHAT chat.priorodds.com ↗ CV /cv →