The Vault  /  Iteration 01

Vaultv01

The Next.js codebase — Clerk auth, Drizzle/Postgres, Plaid, R2. Originally built for Railway; currently being ported off it.

Port in progress No live app yet

What's in the repo

Framework
Next.js 15 · App Router · TypeScript strict
Auth
Clerk Organizations (multi-tenant per operator)
Data
Drizzle ORM · Postgres · ioredis
Identity
Plaid (bank verification + ACH plumbing)
Storage
Cloudflare R2 (S3 SDK)
AI
OpenAI GPT-4o · Vercel AI SDK · pdf-parse · mammoth
Email
Resend
Motion
GSAP · Framer Motion · React Three Fiber + drei
Source
github.com/johhnycrash/vault · main

Route map · 31 pages, 11 API routes

Marketing

Investor

  • deals/[slug]
  • email-invite

Operator

  • dashboard
  • dashboard/analytics
  • dashboard/billing
  • dashboard/commitments
  • dashboard/deals
  • dashboard/investors
  • dashboard/settings

Admin

  • admin
  • admin/audit
  • admin/blueprint
  • admin/deals
  • admin/impersonation
  • admin/investors
  • admin/operators
  • admin/settings
  • admin/users

MVP / Broker

  • access · access/[code]
  • auth/redirect
  • broker · broker/investors
  • broker/opportunities
  • broker/settings
  • login
  • vault · vault/[id]
  • vault/opportunities
  • vault/settings

API

  • api/auth/[...nextauth]
  • api/ai/parse · api/ai/voice
  • api/invites
  • api/investors
  • api/investors/import
  • api/opportunities
  • api/signal-capital
  • api/signal-interest
  • api/admin/impersonate

Why offline · 2026-05-14

The repo targets Railway (Node). Cloudflare Pages requires the Edge runtime, and 32 of the routes here aren't opted into it. Adding export const runtime = 'edge' would unblock the build, but several deps (postgres, ioredis, pdf-parse, mammoth) only run in Node — fixing the build would break the running app.

The Railway host (vault.jonathanellis.ca) is also currently down.

Two viable paths forward: (1) port to Cloudflare's edge stack — swap Postgres driver for Neon serverless, Redis for Upstash, drop PDF/docx parsing or move it to a queue; (2) deploy the existing Node app to Vercel or restore Railway, then point this domain there.

Iterations · side by side