# A.R.I.S. — an assistant connected to a remote execution node

**Flagship case study for UBC Launch Pad · April 2026–present, start month to confirm**

A.R.I.S. connects a personal assistant running on Cloudflare to a physical Ubuntu workstation in Mexico. It brings together Telegram, web chat, voice, background coding jobs, machine telemetry, and scheduled market research. Alex reports using the remote desktop from other devices; this evidence review also confirmed that the node is currently active on Tailscale.

The interesting engineering problem is what happens after an assistant receives a request: how work reaches a machine in another country, how a long-running job survives pauses, how its progress becomes visible, and how failures stay distinguishable from successful results.

## From a message to supervised work

The cloud brain sends jobs to a dedicated `aris-job-queue` Worker backed by D1. The node daemon polls outward from the Mexico machine and runs Claude Code under a restricted, non-sudo account. In supervised mode, a job can stop for input, wait for an answer, and resume the same Claude Code session.

The daemon reports lifecycle events and redacted output chunks to a shared event store. If event delivery fails, an on-disk spool preserves the events for retry with the same identifiers. The dashboard reads this event stream to expose execution state, while the node reports CPU, memory, disks, and available hardware telemetry on a configured 60-second interval.

That makes the portfolio demo more concrete than a chat exchange: show a request, the job reaching the remote node, progress appearing in the dashboard, and a completed result.

## Remote access as an operational requirement

The machine remains in Mexico while its owner works elsewhere. Tailscale supplies private access and stable naming. The workstation handoff records 32 GB RAM, an RTX 2060, and a real reboot recovery in approximately 35 seconds with the daemon and Tailscale returning automatically.

The planned desktop stack is Sunshine on the host and Moonlight on the client, using NVIDIA's NVENC hardware encoder. The August handoff still listed parts of this setup as pending; Alex now reports the desktop is live. A current desktop capture should substantiate that final state, rather than presenting the old plan as a completed verification.

## Market Scout: research that can explain its decisions

Market Scout is a separate scheduled pipeline for stocks and crypto. For stocks, it combines SEC filings with daily market data. Deterministic checks handle rejection and quarantine decisions; incomplete evidence stays explicitly unknown. Reports reach Telegram and a read-only dashboard, with no connection to trading execution.

Two production findings make good interview stories:

- **A text match was not an event.** Counting mentions of reverse splits falsely flagged Apple. The corrected check combines an 8-K Item 5.03 filing signal with corroborating split text and collapses nearby dates into events.
- **A storage filter biased the baseline.** Keeping a ticker only on high-volume days inflated its normal-volume estimate. The build record describes removing the volume-based storage floor and retaining data by time instead, so quiet days remain part of the baseline.

These examples show the work of checking whether a measurement actually represents the thing it claims to measure.

## Evidence measured on 7 September 2026

| Metric | Observed value | Meaning |
|---|---:|---|
| Stored daily market observations | 225,243 | Ticker/date rows, not unique companies deeply analyzed |
| Distinct tickers represented | 13,229 | Across 18 trading dates, 12 August–4 September |
| Recorded market scans | 69 | 35 crypto and 34 stock runs; includes stored repeat runs |
| Candidate evaluations | 2,470 | Repeated evaluation of an asset counts again |
| Stored email records | 1,094 | D1 records; not a verified Vectorize embedding count |
| Latest scan date | 7 September 2026 | Confirms ongoing scheduled research activity |

The SQL and raw aggregate results are included under `evidence/`. No investment-performance, time-saved, or uptime percentage is claimed.

## Architecture to illustrate

```mermaid
flowchart LR
    UI[Telegram / web / voice] --> Brain[aris-brain Worker]
    Brain --> Models[AI Gateway → Claude]
    Brain --> Memory[D1 / Vectorize / R2]
    Brain --> Relay[aris-job-queue Worker + D1]
    Node[Mexico node: outbound polling daemon] -->|claim jobs / return results| Relay
    Node --> Code[Claude Code session]
    Node -->|redacted events + telemetry| Relay
    Relay -->|event reads| Dashboard[Passkey dashboard]
    Devices[Owner devices] --> Mesh[Tailscale private access]
    Mesh --> Node
    Sources[SEC EDGAR / Massive / crypto sources] --> Scout[Scheduled Market Scout]
    Scout --> Store[D1 observations + audit]
    Store --> Reports[Telegram digest / Markets dashboard]
```

## Suggested opening copy

> I built A.R.I.S. to connect an assistant in the cloud with a physical execution node in Mexico. It combines Telegram and voice interfaces, resumable coding jobs, a passkey dashboard, and automated market research. Its research pipeline now holds more than 225,000 daily market observations; the work I am proudest of is making execution observable and making uncertain evidence remain uncertain.

First-person copy is a draft based on Alex identifying A.R.I.S. as his build. Add collaborators and clarify individual ownership before submission if any part was shared work.

## Visuals still needed

The strongest sequence is the node/Jobs dashboard, the remote desktop, a Markets report, and a short voice interaction. Live dashboard capture is waiting on passkey sign-in. The SSH service check also encountered a Tailscale identity challenge; current process state has not been inspected.

Source basis: private `RussianDerpFace/ARIS` repository at `8e271842`, its `CLAUDE.md`, `ARIS_MARKET_SCOUT_SPEC.md`, node daemon and event protocol, the August workstation handoff, and the live aggregate queries in this pack. The root README is stale and was not used as the final feature inventory.
