Inspiration

I’ve watched traders fail not because they can’t read markets, but because fear, greed, and sloppy process derail them. Aurum was born from a simple belief: discipline is a product feature. If we can encode guardrails—fixed risk, required journaling, simplified execution—then more traders cross the gap from “good ideas” to consistent outcomes. Kiro supercharged this by letting me move fluidly between planning and “vibe coding,” so I could prototype a discipline-first prop firm that actually feels helpful.

## What it does

Aurum is an agentic prop firm platform where traders choose direction and the system enforces discipline.

  • Spirit Journal: an AI assistant for analysis, quick calculations, and saved trade journals with TradingView charts.
  • Guided trading flow: account → pair → direction, with OANDA live pricing and a required “reason for entry” before orders.
  • Guardrails: fixed risk-to-reward modes, journaling gate, and simplified execution to reduce breaches.
  • Learn Aurum: a built‑in onboarding course that teaches the philosophy and the platform, saving progress locally and server-side.
  • Account history: live P&L, win rate, duration, and target context for transparency and feedback.

## How we built it

  • Stack: Next.js (App Router), React, custom CSS animations; NextAuth (credentials) for auth; Neon Postgres for persistence; OANDA REST for pricing/ orders; TradingView widget integration; Korapay routes for payments.
  • AI: Spirit Journal calls an OpenAI route with a trading-aware system prompt; detects inline calculations and saves conversations as journal entries.
  • Data: Neon serverless driver with simple helpers and schema (waitlist, users, accounts, trades, journal, learn progress).
  • Trading: OANDA pricing endpoint with normalized account IDs, robust error mapping, and periodic polling; order route with journaling enforcement.
  • Productization: “Learn Aurum” modules with localStorage + best-effort server sync; dashboard that reorganizes work by intent (journal, trade, learn, history).
  • Built with Kiro: started with .spec for scaffolding and architecture, then leaned into vibe coding for UI/flow decisions as the product vision crystallized.

## Challenges we ran into

  • Spec vs reality: Early Kiro .spec didn’t capture final UI/flows; shifting to vibe coding let the product emerge without fighting the plan.
  • Multi‑service integration: Normalizing OANDA account IDs, handling weekend market closures, and debouncing live price updates.
  • Reliability: Better error messages for API failures (auth, timeout, 404) and safe fallbacks so the UI remains usable when pricing blips.
  • Discipline gates: Designing the “reason for entry” modal so journaling strengthens behavior without feeling like friction.
  • State and persistence: Syncing Learn progress across local and server without blocking UX; ensuring journal entries remain readable and useful.

## Accomplishments that we’re proud of

  • A cohesive, discipline‑first trading experience: choose direction, we enforce the rest.
  • Spirit Journal that’s actually useful: calculation detection, saved conversations, and embedded TradingView charts.
  • Robust pricing pipeline: live OANDA polling with clear error handling and graceful UI states.
  • Learn Aurum: onboarding that teaches both the philosophy and the tool, with progress saved.
  • Clean, judge‑friendly code paths: API routes are explicit, typed by behavior, and easy to test with demo creds.

## What we learned

  • Agentic > reactive: Guardrails (fixed R:R, journaling gate) transform behavior more than adding new indicators.
  • Kiro works best as a creative partner: use .spec for scaffolding, then iterate via vibe coding to discover the product.
  • UX is risk management: Small choices—like requiring a reason before placing an order—compound into better outcomes.
  • Observability matters: Logs, normalization, and explicit error mapping are the difference between “works” and “works under pressure.”

## What’s next for Aurum Prop Firm

  • Deeper agentic coaching: auto‑feedback from journals and trades, with pattern detection and nudge-based improvements.
  • Broader market coverage: refined commodities support and additional instruments with better latency.
  • Pricing and execution: streaming quotes, GSockets/WebSockets where supported, and safer order semantics.
  • Better costs and safety: transparent token/cost tracking for AI usage, plus tighter abuse and compliance controls.
  • Social and scaling: shareable insights, team challenges, and smoother funding pipelines (payments, KYC, payouts).
  • Mobile-first experience: a streamlined “trade + journal” flow that travels with you.

Built With

Share this project:

Updates