Build
yarn install
cp .env.example .env # add your CLOOMBA_API_KEY
yarn build:astro # → apps/astro-theme/dist/The build pulls your event's agenda, speakers, sponsors, and tickets from the Cloomba API and bakes them into static pages. dist/ is the whole site.
Hosting
Cloudflare Pages (what the demo runs on): connect the repository, set the build command toyarn build:astro, the output directory to apps/astro-theme/dist, and add CLOOMBA_API_KEY as a build environment variable. Attach your custom domain in the Pages settings.
Railway or Netlify work identically (same command, same output path, same env var). GitHub Pages works with any static-deploy action. Or run yarn build:astro locally and uploaddist/ to any web server — nothing about the site needs a runtime.
The TanStack Start app
apps/tanstack is the same site as a React app. It is served one of two ways:
- On a Node server —
yarn build:tanstack, thenyarn start:tanstack(it listens onPORT). Pages render on each request from event data the server keeps for a minute, so edits on Cloomba show up within a minute, with no rebuild. Any host that runs Node works. - As static files —
yarn build:tanstack:staticwrites every page toapps/tanstack/.output/public; host that folder exactly like the Astro build. Serve it from the root of a domain or subdomain (tanstack.example.comrather thanexample.com/conference/) — pages load their data from absolute paths. tanstack.cloomba.com runs this way on Cloudflare Pages.
Either way, CLOOMBA_API_KEY goes in the host's environment (or apps/tanstack/.env locally). It is read on the server or at build time and never reaches the browser.
Keeping it fresh
- Live by itself: the agenda's Now/Next strip and ticket availability refresh in the visitor's browser — a tier selling out shows without any rebuild.
- Everything else (a new speaker, a session moved, edited copy) appears on the next build. Every host above has a deploy-hook URL — trigger it after editing your event, or put it on a schedule. The TanStack app on a Node server picks these up by itself within a minute.
After the first deploy
- Set
site.urlin the config to your real domain — it drives canonical tags, the sitemap, and the iCal link. - Submit the sitemap in Google Search Console once:
/sitemap-index.xmlfor the Astro build,/sitemap.xmlfor the TanStack app.
Next: configuration · customization