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.
System state reviewed across the current research, signal-runtime, access, content-distribution, product-policy, marketing, and public developer surfaces on .
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.
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.
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.
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.
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.
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.
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.
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.
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.”
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.
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
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
Entry alpha
Discover entry evidence, screen on representative history, seal survivors, confirm on the complete historical PIT universe, then atomically promote or reject.
Take / skip quality
A learned quality layer may consume genuine out-of-fold entry predictions only; it cannot train on in-sample upstream scores.
Post-entry lifecycle
Position-management actions are learned only after honest upstream trade episodes; first actions are monotonic risk reduction rather than leverage expansion.
Portfolio replay
Concurrent positions share one global clock and hard capital/exposure constraints; independent-trade statistics are not treated as a portfolio equity curve.
Robustness
Finalists face block/episode Monte Carlo, cost/delay/funding/capacity stress and execution ambiguity rather than iid trade shuffling.
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
One-way publication
Private operational state is reduced to a strict sanitized projection. Public clients never connect to private signal/execution storage.
Immutable initial plan
The first accepted plan is hashed so side, entry, stop, targets and publication context cannot be silently rewritten after the fact.
Append-only lifecycle
Lifecycle identities are conflict-checked and protected by source-time watermarks so stale retries cannot move public state backward.
Frozen terminal outcome
Results and track-record rows are derived from immutable terminal records rather than mutable marketing state.
Entitlement-aware views
Public active context can be delayed or hidden while premium/agent views receive only fields authorized by server policy.
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
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.