Dontoliverse
The definitive Don Toliver encyclopedia.
Every album, every collaborator, every Cactus Jack thread — from Donny Womack to Octane. Built for the diehard.
Live: dontoliverse.com (pending DNS)
Live numbers
8 albums · 64 song meanings · 8 album analyses · 10 long-form blog posts · 675+ static pages · 105+ images · 30 trivia Qs · 18 daily battles · 10 archetypes
What's inside
- Discography — every album, every track, every feature, every producer credit across 8 LPs.
- Five eras — Donny Womack · Heaven or Hell · Life of a DON · Love Sick · Hardstone Psycho — each with its own visual identity, sonic palette, and per-era mood-board gallery.
- Song meanings — 64 long-form, editorially-styled writeups (
src/data/meanings.ts) with pull quotes, interpretation, notable lines, and cultural impact. - Album analyses — 8 deep-dive album writeups, one for every full-length.
- Bespoke pages — four hand-built features beyond the album/song templates:
/cactus-jack— interactive force-graph of the roster and signings (13 nodes / 24 edges)/duets/kali-uchis— full Don×Kali musical timeline/houston— Don's place in the Houston rap lineage from DJ Screw → UGK → Travis → Don, with neighborhood map and force-graph (21 nodes / 19 edges)/drops— fashion drops + sync placements tracker with filter chips and animated counters
- Per-era moodboards — visual mood-board galleries with motif chips, one per era.
- Samples browse —
/sample/[id]browse for Don's documented samples. - Long-form blog — 10 editorial blog posts (track-by-tracks, scene context, era retrospectives).
- DonAI — entity-aware chat panel powered by xAI Grok-4 (
grok-4-1-fast-reasoning), wired to a SearchModal Don entity index for fast in-site lookup. - Community — song ratings · 280-char takes · top-10 favorites · trivia leaderboard.
- 2D explore + 3D universe — force-directed song/sample/collaborator graphs.
- Daily engagement — 18 daily battles · 30 trivia Qs · 10-archetype taste quiz · achievements.
- Editorial pages — credits · privacy · terms.
Stack
- Framework: Next.js 16.2.1 (App Router) · React 19.2.4 · TypeScript 5
- Styling: Tailwind CSS 4
- Database / Auth: Supabase (
@supabase/ssr,@supabase/supabase-js) - AI: xAI Grok-4 (
grok-4-1-fast-reasoning) via/api/chat - Payments: Stripe (one-time $4.99 lifetime DonAI)
- Visualization:
react-force-graph-2d/react-force-graph-3d/ Three.js - Animation: Framer Motion
- Analytics: PostHog · Vercel Analytics · Vercel Speed Insights
Local dev
bun install # or: npm install
cp .env.example .env.local # fill in keys
bun run dev # http://localhost:3000
Database
Schema lives in supabase/migrations/. Run them against a fresh Supabase project:
profiles— user profile + subscription tierratings— song ratings (1-5)takes— 280-char community takesfavorites— top 1-10 song rankingtrivia_scores— daily streak + weekly leaderboard
All tables are RLS-protected.
Project layout
src/
├── app/ # Next.js App Router (45 page.tsx files, 675+ static URLs)
│ ├── album/[slug]/ # 8 album pages + nested moodboard / track routes
│ ├── song/[slug]/ # per-song detail pages with meanings + DonAI panel
│ ├── era/[slug]/moodboard/ # per-era visual mood-boards with motif chips
│ ├── sample/[id]/ # sample browse pages
│ ├── blog/[slug]/ # 10 long-form editorial posts
│ ├── cactus-jack/ # bespoke: roster force-graph (13 nodes / 24 edges)
│ ├── duets/kali-uchis/ # bespoke: Don×Kali musical timeline
│ ├── houston/ # bespoke: scene map + force-graph (21 nodes / 19 edges)
│ ├── drops/ # bespoke: fashion drops + sync placements tracker
│ ├── trivia/ · battles/ · quiz/ # daily engagement surfaces
│ ├── auth/ · pricing/ # Supabase auth callback + Stripe checkout
│ ├── credits/ · privacy/ · terms/ # editorial pages
│ └── api/
│ ├── chat/ # DonAI Grok-4 streaming endpoint
│ └── webhooks/stripe/ # Stripe webhook handler
├── components/ # UI primitives + features (SearchModal, DonAI panel, force-graphs)
├── data/ # TypeScript-as-CMS (no DB for music data)
│ ├── discography.ts # 8 albums + songs + samples + eras
│ ├── meanings.ts # 64 song meanings + 8 album analyses
│ ├── blog-posts.ts # 10 editorial posts
│ ├── cactus-jack.ts # roster graph data
│ ├── houston.ts # Houston scene + neighborhood graph
│ ├── drops.ts # fashion + sync placement entries
│ ├── trivia.ts · battles.ts · archetypes.ts
│ └── image-credits.ts # editorial-fair-use attribution
└── lib/ # site-config, supabase clients, auth, og-layout, etc.
public/
└── images/ # 105+ assets across albums, eras, songs, producers, moodboards
supabase/
└── migrations/ # SQL schema + RLS policies
Built from
This site was bootstrapped from /Desktop/kanye project/ye-universe (the production-grade Kanye West encyclopedia at yeuniverse.com), then rewritten end-to-end for Don Toliver. The shared playbook — Next.js 16 App Router + Supabase user data + TypeScript-as-CMS for music data + a single floating AI panel + force-directed graph visualizations — generalizes well across artist sites.
Deploying
See DEPLOY.md for the full operational checklist: Supabase + Stripe + xAI provisioning, Vercel env vars, DNS, smoke tests, and the pre-launch RLS / webhook / Lighthouse pass.
Credits
Built for the Cactus Jack faithful. Music, lyrics, album artwork, and likenesses are property of their respective owners. Editorial-use only; image attributions tracked in src/data/image-credits.ts.