← Selected work

Case Study 02 · Independent AI/Quant Side Project · Jun 2026 — Present

Curren

A solo-built quantitative intelligence platform spanning the full path from causal market research to operational signal state: reusable point-in-time evidence, hypothesis selection, research-to-streaming parity, real-time signal intelligence, ML quality control, lifecycle/risk/execution, subscriber and content distribution, access workflows, and a public verification surface that stays isolated from private alpha and trading controls.

RoleIndependent AI/Quant Side Project · Solo Builder
Research systemReusable causal event evidence · shared Rust/Python core · locally verified
Public boundaryRead model / API / CLI / MCP · live public feed not claimed

System state reviewed across the current research, signal-runtime, access, content-distribution, product-policy, marketing, and public developer surfaces on .

45M+verified closed 1m bars in the current 30-instrument development/screening market; not final alpha authority
Causal coreresearch evidence is generated through shared reusable timeframe, primitive and event semantics
10 / 10structural-level engines locally verified before event-store authority cutover
No alpha claimthe next economic run remains separately authorization-gated; profitable strategy is not claimed

Interactive system map

One platform, three authority planes.

The diagram intentionally uses public capability names rather than internal repository, source-channel, host, package or release identifiers. Use the focused views to isolate research, the private signal runtime, or product/distribution surfaces.

Technology & system decisions

Polyglot by boundary: fast research iteration without duplicating production semantics.

The stack is split by workload instead of fashion. Rust owns reusable causal computation where deterministic speed matters; Python owns research, ML and orchestration; Arrow/Parquet bind both sides; production state and public product surfaces remain separate authorities.

Causal research core

Rust · Python · PyArrow/Arrow · Parquet

Rust accelerates shared timeframe, primitive and event computation while Python keeps research iteration flexible. Typed Arrow/Parquet contracts prevent the language boundary from becoming a semantic fork.

Research analytics

Polars · DuckDB · NumPy · SciPy · Statsmodels

Columnar scans, local analytical SQL and statistical tooling keep hypothesis views cheap after expensive market-to-event computation has already been materialized.

ML & selection

LightGBM · CatBoost · XGBoost · Scikit-learn · Optuna

Models sit behind causal data and out-of-fold governance. They can rank or filter evidence but cannot bypass split discipline, multiplicity controls or hard trading rules.

Execution semantics

NautilusTrader · Bybit/Binance adapters

Simulation and live-adjacent execution share explicit order, fill, portfolio and risk semantics, with offline/streaming/restart parity treated as a release boundary.

Operational state & APIs

FastAPI · PostgreSQL/SQLite · idempotent workers

Signal lifecycle, P&L, risk, execution intent and reconciliation are durable state machines rather than values inferred from charts or subscriber messages.

Product & operations

TypeScript · Next.js · API/CLI/MCP · Docker · Linux · systemd

Public/read-only clients and content surfaces consume sanitized projections, while long-running workers are operated independently from private alpha and execution authority.

System thesis

The hard part is not generating a signal. It is preserving evidence and authority end to end.

A quant platform can fail long before an order reaches an exchange: future information can leak into research, repeated search can manufacture a winner, production can regenerate a strategy differently from historical evaluation, runtime state can drift after restart, and public presentation can silently rewrite the original plan.

Curren separates those failure modes into explicit authority planes. Research owns causal evidence and promotion. The private operational runtime owns signal, risk, lifecycle, execution and reconciliation state. Product surfaces receive only approved projections and cannot become trading authority.

My ownership

Research kernel, production runtime, and product system — without collapsing their responsibilities.

Quant research architecture

Designed the point-in-time data lifecycle, immutable releases, conjecture/hypothesis contracts, shared causal primitives/events, out-of-sample validation, multiple-testing controls, append-only research history, atomic selection boundaries, portfolio replay and terminal-holdout discipline.

Research → production semantics

Built a shared Rust/Python causal core and versioned event architecture so historical research and streaming regeneration can converge on the same resampler, primitive, structural-level, divergence and event semantics instead of maintaining two versions of “alpha.”

Signal / risk / execution runtime

Built the operational path that normalizes external source observations into candidate signals, applies deterministic scoring and fail-closed ML quality gating, persists lifecycle/P&L, applies hard risk boundaries, supports guarded execution, and reconciles restart-safe order/fill state.

Product and distribution

Built or coordinated the supporting public read model, API/CLI/MCP clients, subscriber delivery, native social-content production, membership/support/optional checkout flows, and public web surface while keeping each downstream system failure-isolated from alpha and execution authority.

Research architecture

PIT MARKETSHARED TIMEFRAMESPRIMITIVESCAUSAL EVENTSEVENT STOREHYPOTHESIS VIEWSOOF / SELECTIONALPHA HISTORY
// compute market structure once; reuse it across hypothesesmarket → versioned primitives/events → cheap predicates & joins// immutable manifests bind upstream data, code, partitions and hashes
CAUSALITYclosed bars · available-time rules · causal next-open labelsSELECTIONglobal OOF · purge/embargo · multiplicity · one-shot terminal holdout

Why this architecture matters

Make market → evidence expensive once; make hypothesis → economics cheap.

Shared causal core

Closed-timeframe resampling, ATR/RSI/OBV and other primitives, structural levels, divergences and source events are reusable computations rather than regenerated inside every experiment.

Versioned event evidence

Typed Arrow/Parquet boundaries, deterministic event identities, manifests and hashes turn event data into inspectable research evidence that hypotheses can query and join.

Hypothesis views

Frozen hypotheses resolve required event identities plus predicates, joins, labels, split/cost/evaluation specifications; existing event partitions are reused instead of rescanning years of candles.

Research/streaming parity

The same semantics are checked across clean replay, restart, catch-up, duplicate/gap handling and timeframe boundaries before a research definition is allowed to become a production regeneration rule.

Research governance

Keep failed ideas and make outcome peeking expensive.

New ideas can enter through a prove-or-counterexample conjecture process: search prior research history, state mechanism and falsification conditions, include negative controls, then emit a planned finite hypothesis specification. The proposal itself has no execution or promotion authority.

An append-only Alpha History retains candidates, runs, exact spec/release/code identities, pass/fail observations and lineage — including rejected ideas. Final entry-alpha promotion requires a separately frozen full historical PIT-universe confirmation; representative screening cannot be relabeled as validated alpha.

Decision layers

L1

Entry alpha

Discover entry evidence, screen on representative history, seal survivors, confirm on the complete historical PIT universe, then atomically promote or reject.

L2

Take / skip quality

A learned quality layer may consume genuine out-of-fold entry predictions only; it cannot train on in-sample upstream scores.

L3

Post-entry lifecycle

Position-management actions are learned only after honest upstream trade episodes; first actions are monotonic risk reduction rather than leverage expansion.

P

Portfolio replay

Concurrent positions share one global clock and hard capital/exposure constraints; independent-trade statistics are not treated as a portfolio equity curve.

R

Robustness

Finalists face block/episode Monte Carlo, cost/delay/funding/capacity stress and execution ambiguity rather than iid trade shuffling.

H

Terminal holdout

Approximately 20% remains one-shot and unavailable to search, threshold tuning or model selection until the full chain is frozen.

Operational signal intelligence

Source observations become durable decisions through explicit gates.

Normalize source data

External alpha-source observations are parsed into typed candidate events. Public-facing material describes the data semantics, not private source-channel or implementation identities.

Deterministic candidate rules

Scoring, confirmation/no-chase checks, failed-setup memory and hard risk rules establish a bounded candidate plan before downstream automation.

Fail-closed ML quality gate

A persisted LightGBM quality decision can accept or block a valid signal before automated trading or publication; the model does not create signals, change levels, resize risk or override kill switches.

Restart-safe lifecycle

Entry, targets, stop, breakeven, expiry, manual close, current/best progress and post-target runners are persisted and reconciled against market state across restarts.

Guarded execution

An isolated execution lane converts eligible persisted signal state into idempotent intents under hard risk, stale-intent and reconciliation boundaries; execution remains separate from subscriber publication.

Durable reconciliation

Account/order/fill state is reconciled rather than inferred from presentation state, preserving restart recovery and explicit operational authority.

Product & distribution plane

Downstream systems can fail without becoming trading authority.

Subscriber delivery

Approved signal/lifecycle state is scheduled for tiered realtime or delayed delivery with dedupe, restart-safe pending state and purpose-built lifecycle visuals.

Content production

One canonical read-only result contract drives native platform-specific media and copy, so social output does not recalculate trade outcomes or invent a second source of truth.

Access & membership

Onboarding, support, referrals, memberships and optional payment verification are a separate product authority. Access state never trains alpha or submits orders.

Public verification

A one-way sanitized projection feeds an isolated read model with immutable initial-plan records, append-only lifecycle, frozen terminal outcomes, entitlement-aware API views, CLI and six read-only MCP tools.

Public verification boundary

01

One-way publication

Private operational state is reduced to a strict sanitized projection. Public clients never connect to private signal/execution storage.

02

Immutable initial plan

The first accepted plan is hashed so side, entry, stop, targets and publication context cannot be silently rewritten after the fact.

03

Append-only lifecycle

Lifecycle identities are conflict-checked and protected by source-time watermarks so stale retries cannot move public state backward.

04

Frozen terminal outcome

Results and track-record rows are derived from immutable terminal records rather than mutable marketing state.

05

Entitlement-aware views

Public active context can be delayed or hidden while premium/agent views receive only fields authorized by server policy.

06

Read-only agent interface

API/CLI/MCP can inspect proof-backed state but expose no order placement or trading-control mutation surface.

Current evidence state · 2026-09-02

Shared causal core / event-store evidence authorityLocally verified · active research path
Structural-level research program10 / 10 engines locally verified
Execution simulation bridge + offline/streaming/restart parityLocally verified
Next representative economic runAwaiting separate authorization · outcome not inspected
Public API / read model / CLI / read-only MCP contractsImplemented
Live public signal projector / public API feedNot yet connected / not claimed
Validated profitable alpha / guaranteed performanceNot claimed

Public disclosure boundary

Show the engineering system, not the private edge.

This case study intentionally abstracts private source identities, internal repository/package names, machine names, credentials, alpha parameters, model feature definitions, release labels and trading controls. What remains public is the part a technical reviewer can evaluate responsibly: authority boundaries, causal research methodology, system decomposition, reliability behavior, validation evidence and public contracts.

Public source ↗