ai-agnet-trading is a web application in which a self-directed retail trader configures an AI agent that trades on their behalf, and then watches that agent's trading activity unfold inside a Roblox-style animated 3D world. The product's defining, explicitly requested feature is the animation: the agent's trading behaviour is not presented as a spreadsheet or a chart wall, but as a playable low-poly world where a blocky robot-trader avatar walks between market islands, plants a coral flag on each completed trade, and drops coins into an inventory counter as fills arrive.
The audience is the retail trader who is comfortable with — and actively wants — game-like, toy-box systems. The emotional register is discovery and mastery, not sober fintech trust. The animation is the product's soul, so the visual language is a playable 3D world rather than a dashboard skin.
The product intent, derived from the authoritative requirement thread, is threefold:
ai-agnet-trading is delivered as a first-party web application with custom UI, application-owned identity, and background automation. A single accepted human persona — the Trader — enrolls, verifies on return, configures and starts an AI trading agent, watches that agent's activity in a Roblox-style animated world, and reviews the same activity as readable records.
The current delivery shape is:
The accepted page contract is closed and ordered: Landing, Sign Up, Login, Configure Agent, Activity, Animation. Landing, Sign Up, and Login are anonymously reachable; Configure Agent, Activity, and Animation require the Trader to be logged in.
Delivery ownership. The application owns the entire accepted experience: the public entry, the identity surfaces, the agent configuration workspace, the readable activity record, and the animated world. There is no provider-owned or external-only surface in the accepted contract, and no headless-only delivery. The AI trading agent runs as application-owned background automation; the Trader initiates, configures, and observes it through first-party pages.
Access ownership. Identity is application-owned because the Trader must privately own and resume durable actor-specific state: a configured agent, its trading activity, and its results must remain bound to the correct participant across sessions. First-use identity establishment is self-service enrollment (Sign Up), and returning verification is Login. Both are anonymously reachable entry interactions; the protected destinations (Configure Agent, Activity, Animation) never own the interaction that establishes access to themselves.
Current boundary. Current scope is exactly the six accepted pages and the accepted capabilities: configure and start an AI trading agent; have that agent trade on the Trader's behalf; visualize the agent's activity through Roblox-style animation; and view the agent's trading activity and results as a revisitable record.
Future boundary. No future-horizon requirements were accepted in the authoritative thread. Anything not listed under current scope — additional personas, additional destinations, social or sharing features, multi-agent portfolios, provider integrations, or account-management capabilities beyond enrollment and verification — is out of current scope and is not implemented.
No reference directive in this project declares content_source authority, so no source content inventory is included.
FR-1 — Configure and start an AI trading agent (explicit) As a Trader, I should configure an AI trading agent and start it so that it performs trading on my behalf.
FR-2 — Agent performs trading on the Trader's behalf (explicit) As a Trader, I should have the AI agent perform trading on my behalf so that trading activity happens without me placing each trade.
FR-3 — Roblox-style animation visualizing the agent's activity (explicit) As a Trader, I should see the agent's activity visualized as Roblox-style animation so that I can understand what the agent is doing as a playable world.
FR-4 — Review the agent's trading activity and results as readable records (explicit) As a Trader, I should review the agent's trading activity and results as readable text rows so that I can read the trade log without relying on motion.
FR-5 — Self-service enrollment for the Trader (required_inference) As a Trader, I should be able to enroll myself so that I can privately own and resume my configured agent and its activity.
FR-6 — Returning verification for the Trader (required_inference) As a Trader, I should be able to verify myself on return so that I regain access to my configured agent and its durable activity.
FR-7 — Persistent storage of the configured agent and its trading activity and results (required_inference) As a Trader, I should have my configured agent and its trading activity and results persist so that I can leave and return without losing them.
Product context. The Trader is a self-directed retail trader who wants an AI agent to trade on their behalf and who is comfortable with — and actively wants — game-like, toy-box systems. They are not looking for a sober fintech dashboard; they chose this product because its defining feature is a Roblox-style animated view of the agent's activity. They work in short, repeat visits: set the agent up, watch it run, come back to read what it did.
Primary goal. A working AI agent that trades on their behalf and shows its activity through the animation, with a durable record they can return to and read.
Distinct accepted responsibilities.
Relevant inputs and decisions. The agent's configuration values on Configure Agent; the decision to start the agent; the decision to inspect a specific trade marker in the animation or read the corresponding row on Activity.
Interactions with other accepted participants. The Trader is the only accepted human persona. The AI trading agent is application-owned background automation that acts on the Trader's behalf and produces the activity the Trader observes; it is not a persona and has no independent goals.
Observable success. The agent is running with the Trader's configuration; the animation shows the agent avatar walking between market islands and planting flags on completed trades; the Activity page shows the same trades as readable rows; and all of it is still there when the Trader returns and verifies.
What makes this role's work different. The Trader's work is split between delegation (configuring and starting an agent that acts without them) and comprehension (understanding what that agent did). The animation is not decoration for this role — it is the primary way they read the agent's behaviour, with the readable Activity log as the parallel, motion-independent record.
Muse and headline. Bruno Simon — Playable worlds: an AI trading agent you can watch run like a Roblox server. The animation is the page; the visual language is a playable 3D world, not a dashboard skin.
Mode. Dark mode only. No white-first surfaces anywhere; every card is a dark panel with a 1px lighter rim.
Colour tokens (dark mode).
| Role | Hex | Usage |
|---|---|---|
| Background | #12141C | Deep ink-navy ground; ~60% of any screen |
| Surface | #1E2230 | Dark panels with a 1px lighter rim; ~20% |
| Text | #F4F1EA | All readable text, 15:1 on the ground |
| Primary | #FF6B4A | Agent/action colour: primary CTA, agent avatar, active trade markers; ~12% |
| Accent | #5CE1A6 | Profit/live-signal colour, the only other saturated hue allowed; ~6% |
| Muted | #8A8FA3 | Metadata, timestamps, disabled states |
Cream accents account for roughly 2%. No blue or indigo primary in the #0057FF–#7C3AED band on a white or near-white ground; this project is dark-ground with coral and mint only.
Typography.
Shape language. Low-poly and toy-like: chunky rounded rectangles (radius 16–24px) for panels, capsule and pill buttons, faceted 3D primitives (cubes, coins, low-poly islands) with flat-shaded faces and soft contact shadows. No glassmorphism, no blur, no gradient blobs. Every shape reads as a physical object you could pick up.
Layout. The animation is the page. The Animation surface is a full-bleed 3D viewport with a minimal HUD: top-left agent status chip, bottom bar of trade ticker items, right-side dock of small stat tiles. Landing uses a split composition: live 3D world on the right 55% edge-to-edge, headline and CTA on the left 45% on the dark ground. Configure Agent and Activity are dark panel layouts on an 8pt grid: 2-column form with label-above-input pairs on the left and a live mini-preview of the agent on the right. No centred hero, no identical card grid.
Imagery. Low-poly 3D only: a small blocky robot-trader agent avatar, market islands as low-poly terrain, floating coin and candlestick props, and a soft-shadow toy lighting setup. Every visual is a buildable Three.js primitive — boxes, cylinders, cones, flat-shaded materials. No stock photography, no abstract gradient blobs, no clip art.
Readable text and controls. Headlines, wordmarks, labels, numbers, card text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery, decoration, and motion may be cropped, bled off an edge, rotated, overlapped, or cut as the direction asks, as long as they cover no readable text or control. Moving and scrollable content (the ticker, horizontally scrollable rows) may cross the viewport or container edge by design; every item becomes fully readable as it passes. Under reduced motion, items wrap into rows or scroll horizontally so each can be brought fully into view.
The Landing hero is a game title screen with a live world beside it.
The public entry is a split composition, not a centred hero. The left 45% is a dark ink-navy column carrying a three-line Fredoka display block set flush-left — "YOUR AI AGENT" / "TRADES THE MARKET" / "LIVE IN A PLAYABLE WORLD" — scaling from 48px on mobile to 96px on desktop. Directly beneath the third line sits a coral capsule CTA, "Start your agent", and under that a single mint live-status line. There is no subtext paragraph, no blue button, and no gradient blob.
The right 55% is a full-bleed Three.js viewport: a low-poly agent avatar walking between two market islands, floating coral coin props, and a soft-shadow ground plane. The dominant element is the animated world; the type is the frame around it. As the Trader scrolls, the camera makes a slow scroll-linked orbit around the world, so the page reads as a title screen you can look around inside.
The concept recomposes only accepted content and controls: the headline, the CTA that routes to Sign Up, the Login link, the live-status line, and the animated low-poly world that the Animation page owns at full strength.
Interaction Model: Animated Motion Tempo: cinematic Hero Dimensionality: webgl
Landing Hero Motion Brief
Landing Hero 3D Scene Brief — DIRECTION-DERIVED
A single crafted real-time scene: a low-poly ground plane with two market islands built from flat-shaded boxes, cylinders, and cones; a blocky robot-trader avatar in coral walking a looping path between them with a bouncy ease; floating coral coin props that drift and settle with squash-and-stretch; a soft-shadow toy lighting setup. The scene shows the product's defining state — an AI agent at work in a playable world — and is built entirely from Three.js primitives with flat-shaded materials. Under reduced motion it renders one static frame of the same composition.
NFR-1 — Motion is never the only way to read the trade log (explicit) The Activity page must present the same trading data as readable text rows that the Trader can read without any motion. Rationale: the animation is the product's soul, but the trade record must remain accessible.
NFR-2 — Reduced-motion support (explicit)
With prefers-reduced-motion, the 3D scene renders a static frame, the trade ticker becomes a horizontally scrollable row, and the stat tiles stack in a single column. Every ticker item must become fully readable as it passes or be brought fully into view by scrolling.
NFR-3 — Readable text and controls stay whole at every viewport (explicit) Headlines, wordmarks, labels, numbers, card text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit. No HUD chip or ticker may overlay readable headline text at any viewport.
NFR-4 — Instant, clear form and destructive feedback (explicit) Form validation errors and destructive actions stay instant and clear; no playful bounce is applied to them.
NFR-5 — Durable, identity-bound persistence (required_inference) The configured agent, its trading activity, and its results persist and remain bound to the Trader's identity across sessions, so a returning Trader resumes the same state. Rationale: required to make the accepted returning-verification and review journeys executable.
NFR-6 — Background automation continuity (required_inference) The AI trading agent runs as application-owned background automation that continues producing activity independently of whether the Trader currently has a page open. Rationale: required for the accepted "agent performs trading on the Trader's behalf" capability to be meaningful.
NFR-7 — Dark-ground contrast (explicit)
Cream text (#F4F1EA) carries all readable text at 15:1 on the ink-navy ground (#12141C). Muted slate (#8A8FA3) is reserved for metadata, timestamps, and disabled states.
Kubernetes is not required by any accepted requirement and is not included.
#0057FF–#7C3AED band on a white or near-white ground, no glassmorphism, no gradient blobs, no stock photography.prefers-reduced-motion state in which the 3D scene renders a static frame, the ticker becomes a horizontally scrollable row, and the stat tiles stack in a single column.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!