Orvia

A design, software, and AI studio in Vancouver

Daneel

Public desk for a paper-trading system: a working operator console as the product shot, and a page that ends on the real ledger instead of a brochure.

Scope
Product, engineering & site
Year
2026
Live
daneel-ruby.vercel.app

Context

Daneel trades US equities on paper. Indicator rules, sliding windows, opening-range breakouts, and AI-driven picks each run their own portfolio, evaluated every minute of the session. Decisions become order intents, guarded and routed to an Interactive Brokers paper account, and fills settle back into the strategy ledger exactly once. After the close, a post-mortem reviews the day. The point is to learn which strategies earn before any capital is at risk.

What we built

The product end to end, and this public desk: a five-beat scroll page whose product shot is a working operator console. It reads from the same Firestore the dashboard does, so the strategy count, the ledger, and the three numbers at the end are live, not sample data.

Daneel operator console fully booted, the prompt waiting, under the line Paper money, live prices, a ledger that is real

Three lines over a console

Every minute of the session, on its own. Every order checked, the guards say no. Paper money, live prices, a ledger that is real. The lines crossfade above the console while it boots, and behind each one is the engineering: compare-and-set on every tick save, one Firestore transaction per settlement, pattern-day-trade and buying-power guards that fail closed. Type help, ls strategies, or cat ledger and the console answers from the same data as the dashboard.

Why it exists

Daneel exists because an audit showed where paper P&L lied. Everything since is designed so the ledger cannot flatter you: exactly-once settlements, guards that fail closed, paper first with live behind two flips, one portfolio per strategy, and broker fills in place of the zero-slippage paper fills that once created phantom equity.

Daneel takeover scene: Daneel runs the desk, over a pixel field

The numbers come from the ledger

The last scene is three numbers: paper equity across every strategy, return since inception, strategies active. They are read from the ledger the system trades against, at most five minutes old, and the paragraph under them says the rest: nothing here is advice or a track record you should act on.

Daneel ledger: paper equity, return since inception, and strategies active, with the login button

Research you can read

A pre-market scan, a daily post-mortem, and scheduled research notes, written by Claude and kept display-only. They inform you, they never trade. The notes expire on their own and the next run writes fresh ones. They live in the dashboard; the public page only ever shows the ledger.

Under the hood

Next.js and React on Vercel, with server-only loaders reading Firestore through the Admin SDK so server and client render identically. Firebase Auth with session cookies, Cloud Functions for the scheduled ticks and agents, Interactive Brokers for paper execution, a Python signal engine for the indicators, and GSAP with Lenis for the scroll scenes.

Daneel mobile intro: the console booted under the first lineDaneel mobile: the ledger and the closing ask

Building something like this?

Start a project