Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
vanetex - build your edge
Translation pending
FinanceTypeScript · HTMLGitHub @VanetexOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A daily training tool that helps beginner investors build real decision-making intuition through reps, AI feedback, and structured reflection. Not a course, not a simulator — a training + feedback system.
Train like an investor in 10 minutes.Read the full README ↗A daily training tool that helps beginner investors build real decision-making intuition through reps, AI feedback, and structured reflection. Not a course, not a simulator — a training + feedback system.
Train like an investor in 10 minutes.
Investing App/
├─ app/
│ ├─ layout.tsx # Global shell + nav
│ ├─ page.tsx # Landing
│ ├─ globals.css # Tailwind + transitions + progress bar
│ ├─ challenge/page.tsx # The full daily flow (state machine)
│ ├─ journal/page.tsx # Past reflections
│ ├─ progress/page.tsx # Skill score, accuracy, calibration, trend
│ ├─ history/page.tsx # [BONUS] Review past decisions, expandable
│ └─ api/evaluate/route.ts # AI evaluation endpoint (Anthropic or OpenAI)
├─ components/
│ ├─ Nav.tsx
│ ├─ ScenarioCard.tsx
│ ├─ DecisionInput.tsx # Buy/Hold/Pass + confidence slider + reasoning
│ ├─ FeedbackPanel.tsx # Scores + did-well / missed / tip / tags
│ ├─ OutcomePanel.tsx # Outcome %, verdict, insight line, ideal answer
│ └─ ReflectionPrompt.tsx # 3-field structured journal entry
├─ data/
│ └─ scenarios.ts # 8 hardcoded scenarios (growth vs value, good vs bad)
├─ lib/
│ ├─ types.ts # Shared TS types
│ ├─ storage.ts # localStorage wrapper (single-key array)
│ ├─ scoring.ts # Verdict + progression math
│ └─ evaluationPrompt.ts # THE CORE PROMPT (see below)
├─ .env.local.example
├─ package.json
├─ tsconfig.json
├─ tailwind.config.ts
├─ postcss.config.js
└─ next.config.js
cd "Investing App"
npm install
Copy .env.local.example to .env.local and fill in ONE provider:
cp .env.local.example .env.local
Anthropic (default):
ANTHROPIC_API_KEY=sk-ant-...
AI_PROVIDER=anthropic
AI_MODEL=claude-sonnet-4-5
OpenAI:
OPENAI_API_KEY=sk-...
AI_PROVIDER=openai
AI_MODEL=gpt-4o-mini
No API key? The app still works —
/api/evaluatefalls back to a deterministic local rubric so the full flow remains usable offline. Feedback quality is worse; that's the point of using a real model.
npm run dev
# http://localhost:3000
npm run build
npm start
| Variable | Required | Description |
|---|---|---|
AI_PROVIDER | No | anthropic (default) or openai. |
AI_MODEL | No | Model name. Defaults: claude-sonnet-4-5 / gpt-4o-mini. |
ANTHROPIC_API_KEY | If anthropic | Anthropic API key. |
OPENAI_API_KEY | If openai | OpenAI API key. |
Nothing is ever sent to any third party besides the chosen AI provider. API keys stay server-side in app/api/evaluate/route.ts; do not expose them as NEXT_PUBLIC_* variables. All decisions, reflections, and progress live in the browser's localStorage under the key ait.decisions.v1. localStorage is readable by any script running on this origin, so XSS prevention remains critical and this data should not be treated as secret storage.
The prompt (in lib/evaluationPrompt.ts) is the most load-bearing part of the product. It:
If you want to tune the product's feel, tune this file.
Keep it focused. Reps + feedback is the product.