Skip to content

Repository files navigation

Pantheon Capital — pantheonofducks.com

Marketing site for Pantheon Capital (POD) — a proprietary trading firm operating in sports betting markets and listed options.

Run it

npm install
npm run dev      # http://localhost:3000
npm run build    # production build
npm start        # serve the production build

Where to change things

I want to change… Edit
Any copy, numbers, roles, contact details src/lib/content.ts — everything is there
Colours, fonts, motion curves, type scale src/app/globals.css (Tailwind v4 @theme block)
The logo geometry src/components/brand/Mark.tsx — one source of truth, also used by the intro
Favicon public/icon.svg
Social share card public/og.png (1200×630)
Section order on the home page src/app/page.tsx

⚠️ The four figures in the metrics array are framed on the site as operating targets for a desk still in build, not as a trading record (see metricsCaption / metricsNote in src/lib/content.ts). Keep that framing honest as the firm matures.

The site is a single page. careers.roles in content.ts is written and unused — it is there for when you want a dedicated /careers route; today the hiring band links to mailto:.

Structure

src/
  app/
    layout.tsx              fonts, metadata, global chrome
    page.tsx                home page assembly
    globals.css             the entire design system
    robots.ts / sitemap.ts  static metadata files
  components/
    brand/Mark.tsx          pediment + TP monogram, plus <Lockup />
    intro/IntroSequence.tsx cinematic once-per-session title sequence
    canvas/MarketCanvas.tsx drifting live-market field behind the hero
    canvas/CandleField.tsx  candlestick band used as a section backdrop
    layout/                 Nav, Footer
    sections/               Hero, Manifesto, Markets, Edge, Method, Metrics, CareersCta
    system/SmoothScroll.tsx Lenis inertial scrolling
    ui/Ticker.tsx           marquee
  lib/
    content.ts              ALL copy and data
    useReveal.ts            one IntersectionObserver for every scroll entrance

Design system

See DESIGN.md. Short version: near-black ground, warm bone text, gold used as a spice (≤10% of any viewport). Instrument Serif for statements, Inter for body, JetBrains Mono for anything numeric. Everything honours prefers-reduced-motion.

Deploy

The site is fully static: no server, no API routes, no runtime data fetching. next.config.ts sets output: "export", so npm run build writes a plain folder of files to out/ (~1.7 MB).

⚠️ Nothing may introduce API routes, server actions, ISR, next/image optimisation, or headers() in next.config.ts — each of those breaks the static export.

Netlify (current)

netlify.toml is committed, so there is nothing to configure in the UI:

  • build command npm run build, publish directory out, Node 22
  • security headers (Netlify can serve them; a static export cannot emit them itself)
  • immutable caching on /_next/static/*

Connect the repo in Netlify and it builds on every push to main. Then point pantheonofducks.com at the site under Domain management, and let Netlify provision the certificate.

Porkbun Static Hosting (alternative)

Porkbun's upload cap is 40 MB, so the 1.7 MB build fits comfortably.

npm run build       # -> ./out
npm run deploy:zip  # -> ./pantheon-site.zip  (out/ zipped, for the web uploader)

In Porkbun: Domain Management → your domain → the house icon under "Website" → Static Hosting. Three ways to get the files up:

Method Use when
Web uploader One-off. Upload the contents of out/ (or pantheon-site.zip).
FTP Repeatable. Porkbun gives you FTP credentials; point any client at out/.
GitHub Best long term — push the repo, Porkbun redeploys on commit.

Upload the contents of out/, not the folder itself — index.html must land at the web root.

Notes:

  • out/404.html is the not-found page.
  • public/.nojekyll ships in the build. It matters only for hosts that run Jekyll (GitHub Pages) — without it, Jekyll strips _next/ and the site 404s on all of its JS and CSS.
  • Whichever host: make sure pantheonofducks.com and www. both resolve, over HTTPS.

Notes

  • The intro sequence plays once per browser session (sessionStorage key pod:intro). Clear it or open a new session to see it again.
  • The market canvas is decorative and generates simulated values. It is not wired to live data.

About

Pantheon Capital — proprietary trading in sports betting markets and listed options. pantheonofducks.com

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages