A real-time plural system tracker for the Doughmination System — current fronters, system members, and switching patterns. Member data is pulled live from PluralKit through the Doughmination API, so pages render fresh on every request.
- Next.js 16 (App Router, React 19)
- vanilla-extract for styling
- TanStack Query +
@doughmination/react-apifor data - Deployed to Cloudflare Workers via OpenNext
npm install
npm run devRuns the Next.js dev server at http://localhost:3000.
To preview in the real Workers runtime (closer to production):
npm run previewDeployed to Cloudflare Workers with the OpenNext adapter — not Pages / next-on-pages.
npm run deployThis runs opennextjs-cloudflare build (which wraps next build) and then
wrangler deploy. First run will prompt wrangler login.
Alternatively, connect the repo as a Workers project in the Cloudflare dashboard with:
- Build command:
npx opennextjs-cloudflare build - Deploy command:
npx wrangler deploy
Worker config lives in wrangler.jsonc; adapter options in
open-next.config.ts. Member pages (/[member_id]) are
server-rendered on demand so Discord embeds and live data stay current with no
rebuild.
| Script | Description |
|---|---|
npm run dev |
Next.js dev server (Turbopack) |
npm run build |
Plain next build |
npm run preview |
Build + serve in the local Workers runtime |
npm run deploy |
Build + deploy to Cloudflare Workers |
npm run lint |
ESLint |
See Contributing.md, Security.md, and Licence.md.