Megapot Network · developer factory

Clone the player site. Configure on the host. Deploy.

megapot.build is for builders, not players. Clone BuiltByGoat/network-site-template, bind MEGAPOT_PLAY_DESTINATION on the host, and ship a front door whose public copy sells play — not a builder ad.

Two-sided funnel

Developers here. Players on the site you ship.

You visit this factory, clone the player shell, and bind MEGAPOT_PLAY_DESTINATION on the host. Players never see this page. They see your site, tap Play, and land on Megapot through Function-win /go.

01 · Factory

Builders, not a player landing

This hub explains picker → configure → deploy. It is not the homepage clones publish. Factory Play is our first-level hop.

02 · Clone

Ship a player site

network-site-template is the player marketing shell. Its public copy should sell play — not advertise builders.

03 · /go

Bind Play on the host

Put the destination in MEGAPOT_PLAY_DESTINATION. Public Play buttons point at /go; the Function issues the Location at request time.

01 · Picker

Clone the player site: network-site-template

The cloneable is a player marketing shell, not a developer homepage. Clone BuiltByGoat/network-site-template on main. Preview: network-site-template.pages.dev. This factory repo is the explainer, not the site you ship.

  1. Use GitHub's template flowOr git clone https://github.com/BuiltByGoat/network-site-template.git.
  2. Stay on mainThe canonical squash is on main. Do not start from deprecated kits.
  3. Preview the player front doorThe Pages demo is the cribble-first shell players will see. You configure it on the host after clone.
network-site-template.pages.dev
Player site you ship

Play on Megapot.

Public copy sells play. Play hops through /go. Dashboard and latest results stay public look-ups — not a signup flow.

Preview the player shell →

02 · Configure

Bind Play on the host

Bind MEGAPOT_PLAY_DESTINATION on the host — the absolute URL /go redirects to. HTML outbound UTMs require SITE_HOSTNAME at build. The factory Pages project megapot-build must set SITE_HOSTNAME=megapot.build so dashboard / results / hub hrefs and /go Location match. Clones set their own deploy host.

NameWhere it livesRole
MEGAPOT_PLAY_DESTINATIONPages FunctionYour clone's Play destination — the absolute URL /go redirects to. Bind it on Cloudflare Pages. Empty → public Megapot origin.
SITE_HOSTNAMEPages + buildRequired for HTML UTMs. Factory: megapot.build. Alias: MEGAPOT_SITE_HOSTNAME.
NEXT_PUBLIC_SITE_NAMEPublic labelCloneable title: Play on Megapot | {SITE_NAME}. This factory: Build on Megapot | {SITE_NAME}.
MEGAPOT_REFERRER_ADDRESSServer onlyReserved. Unused by the cloneable v1 shell.
MEGAPOT_API_KEYServer onlyReserved for server-side Data API reads. Do not prefix with NEXT_PUBLIC_.

SITE_HOSTNAME stamps HTML UTMs so dashboard, results, and hub match /go Location. MEGAPOT_PLAY_DESTINATION is the Function's redirect target. Hostname UTMs are campaign params (builder / build-factory-v1).

03 · Deploy

Cloudflare Pages, Function-win /go

Cloneable and factory both export out/. Play is functions/go.js + functions/go/index.js with _routes.json include: ["/*"]. Never a static /go 200. The factory's existing Pages project is megapot-build on a personal Cloudflare account. Custom-domain attachment is DomainManager only — this factory does not publish apex DNS steps.

Build

pnpm buildout/

Next.js static export. Factory build sets SITE_HOSTNAME=megapot.build so HTML stamps matching UTMs.

Function

Plain JS /go

Git integration so functions/ ships. Bind SITE_HOSTNAME=megapot.build and MEGAPOT_PLAY_DESTINATION on the project.

Hop

Play uses /go

Public markup links to /go. The Function reads MEGAPOT_PLAY_DESTINATION and returns the Location.

Doors

Factory Play is first-level. Your clone's Play is yours.

Play is intent. This factory's Play button is our /go. After you ship, players use yours. Dashboard and results stay public look-ups — not a signup flow.