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.
Understand your Australian property portfolio, stay ahead of important events, and model your next move — without maintaining another spreadsheet.
FinanceTypeScript · CSSGitHub @TheodoreChuangOnlineOwner 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
Real Investment Portfolio System
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Working prototype with correct, verified dependency versions.
All page data is hardcoded in lib/mock-data.ts. Infrastructure stubs are wired and ready to fill in.
Vercel AI SDK v6 — built-in AI Gateway
You can now call models without a provider package:
Or directly with a provider for more control:
Drizzle + Supabase — prepare: false required
Supabase's connection pooler (Transaction mode) does not support prepared statements:Read the full README ↗Working prototype with correct, verified dependency versions.
All page data is hardcoded in lib/mock-data.ts. Infrastructure stubs are wired and ready to fill in.
You can now call models without a provider package:
import { generateObject } from "ai";
// No import needed for the provider — Gateway handles routing
const { object } = await generateObject({
model: "anthropic/claude-sonnet-4-5",
schema: statementSchema,
prompt: "...",
});
Or directly with a provider for more control:
import { anthropic } from '@ai-sdk/anthropic'
const { object } = await generateObject({ model: anthropic('claude-sonnet-4-5-20251101'), ... })
prepare: false requiredSupabase's connection pooler (Transaction mode) does not support prepared statements:
const client = postgres(process.env.DATABASE_URL!, { prepare: false });
cp .env.example .env.local # fill in your Supabase + LLM keys
pnpm install
pnpm dev
| File | Purpose |
|---|---|
lib/db.ts | Drizzle + Postgres connection (with prepare: false) |
lib/supabase.ts | Browser + server Supabase clients using @supabase/ssr |
middleware.ts | Auth session refresh + route protection |
db/schema.ts | Full Drizzle schema (properties, statements, reports, mortgages) |
drizzle.config.ts | Drizzle Kit config (uses direct URL, not pooler) |
.env.example | All environment variables needed |
app/api/extract/route.ts | PDF → LLM extraction with AI SDK v6 pattern |
app/api/statements/route.ts | Statement persistence (Drizzle TODO comments) |
app/api/reports/route.ts | Report generation (Drizzle TODO comments) |
| URL | Used for | Setting |
|---|---|---|
DATABASE_URL | Runtime queries via Drizzle | Transaction pooler (port 6543) — prepare: false required |
DATABASE_URL_DIRECT | drizzle-kit migrate / generate | Direct connection (port 5432) |
Both are in Supabase Dashboard → Project Settings → Database.