Marketing apex
Show Pony follows the Money-Horse apex pattern: localized marketing HTML is
boot-rendered into dist/pages/, and hostDispatch serves it on the apex.
Login and the host dashboard live behind /login (admin SPA with
MarketingShell chrome).
Before and after
Section titled “Before and after”Before (chapters 1–11): after you mount the foundation, the apex only exposes
the host app — visitors hit /login and see the auth gate in marketing chrome,
but / has no public landing yet.
After (this chapter): / is the English marketing landing; /features and
/pricing explain the product; legal pages share the same header/footer.

Routes
Section titled “Routes”| Path | Page |
|---|---|
/ | English landing (default) |
/de | German landing |
/features | Features (EN) |
/de/funktionen · /funktionen | Features (DE) |
/pricing | Pricing (EN) |
/de/preise · /preise | Pricing (DE) |
/login | Host login + app |
| Surface | Local | Cloud |
|---|---|---|
| Host login (apex) | http://show-pony.localhost:4180/login | https://show-pony.kumiko.rocks/login |
| Demo invite (rooftop) | http://demo.show-pony.localhost:4180/e/rooftop-launch | https://demo.show-pony.kumiko.rocks/e/rooftop-launch |
| Acme invite (offsite) | http://acme.show-pony.localhost:4180/e/acme-offsite | https://acme.show-pony.kumiko.rocks/e/acme-offsite |
| Marketing (EN) | http://show-pony.localhost:4180/ | https://show-pony.kumiko.rocks/ |
| Marketing (DE) | http://show-pony.localhost:4180/de | https://show-pony.kumiko.rocks/de |
Boot render
Section titled “Boot render”At startup, renderAllMarketingPages() writes static HTML under
dist/pages/<lang>/…. Production hostDispatch checks the path first; only
non-marketing apex paths fall through to admin.html:
const dispatched = dispatchShowPonyApexStatic(path);if (dispatched !== null) return dispatched;return { kind: "html", file: "admin.html", injectSchema: true };bin/main.ts
Auth in marketing chrome
Section titled “Auth in marketing chrome”client-admin.tsx wraps the login card in MarketingShell (same header/footer
tokens as the static pages) via AuthShellProvider — pixel parity with the
landing without duplicating CSS.
Next: Legal pages.