Add go page: Postgres Summit US 2026 contest (#49597)

## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Feature — new marketing landing page (`/go` page).

## What is the current behavior?

No landing page exists yet for Supabase's presence at Postgres Summit US
2026 (Sept 30 - Oct 2, 2026, NYC).

## What is the new behavior?

Adds a contest landing page and thank-you page, modeled on the existing
`pgconf-dev-2026/contest` go page pattern:

- `supabase.com/go/postgres-summit-2026/contest` — MacBook Neo giveaway
entry page, featuring the "Everything to know about Postgres Locks" talk
by Brian Brennglass (Supabase), Wed Sept 30, 4:00–4:50 PM EDT, Rossi
Intermediate room
- `supabase.com/go/postgres-summit-2026/contest/thank-you` —
confirmation page after entry
- Registered both in `apps/www/_go/index.tsx` with a `// remove after
October 31, 2026` cleanup marker, since this is a temporary event page
- HubSpot form wired to a real form GUID, with field mapping verified
against the form's actual internal property names (note: `company_name`
maps to `name` on the HubSpot **Company** object, not the usual
`company` Contact property — verified directly in the HubSpot form
editor rather than assumed)

Verified locally: both pages render correctly (hero, speaker section
with headshot, how-to-enter steps, form) via `pnpm --filter www dev`.

## Additional context

- Contest entry deadline is currently set to Monday, October 12, 2026,
12:00 PM PDT — a placeholder estimate (~12 days post-event, matching the
pattern used on other event contest pages), not sourced from an official
deadline. Flagging for review before this goes live.
- No talk-slides link exists yet for this session, so the "View session
details" CTA links to the official postgresql.us session page instead.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a Postgres Summit US 2026 contest landing page featuring prize
information, event content, entry instructions, and a contest entry
form.
* Added a thank-you page with submission confirmation, contest details,
onboarding guidance, and links to the dashboard and website.
* Added registration for both pages with availability through October
31, 2026.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Wendie Cheung <wendie.cheung@supabase.io>
This commit is contained in:
Wendie CheungandWendie Cheung authored and GitHub committed 2026-08-26 21:42:10 +10:00
1 parent 8291ed1401
commit ff5376c9f0
4 files changed
+200

No files matched your search

@@ -0,0 +1,36 @@
import type { GoPageInput } from 'marketing'
import Link from 'next/link'
import { Button } from 'ui'
const page: GoPageInput = {
template: 'thank-you',
slug: 'postgres-summit-2026/contest/thank-you',
metadata: {
title: "You're entered | Supabase at Postgres Summit US 2026",
description: 'Thanks for entering the Supabase contest at Postgres Summit US 2026. Good luck!',
},
hero: {
title: 'Thanks for entering',
description:
"Your contest entry is confirmed. Make sure you've created a Supabase account and loaded data before the contest deadline. We'll reach out to the winner by email.",
},
sections: [
{
type: 'single-column',
title: 'Get started with Supabase',
description: "If you haven't already, create your account and start building.",
children: (
<div className="flex flex-col sm:flex-row items-center justify-center gap-4">
<Button asChild variant="default" size="small">
<Link href="https://supabase.com/dashboard">Go to dashboard</Link>
</Button>
<Button asChild variant="outline" size="small">
<Link href="https://supabase.com">Visit supabase.com</Link>
</Button>
</div>
),
},
],
}
export default page
@@ -0,0 +1,160 @@
import type { GoPageInput } from 'marketing'
import Image from 'next/image'
import Link from 'next/link'
import { Button } from 'ui'
const page: GoPageInput = {
template: 'lead-gen',
slug: 'postgres-summit-2026/contest',
metadata: {
title: 'Win a MacBook Neo | Supabase at Postgres Summit US 2026',
description:
'Thanks for connecting with us at Postgres Summit US 2026. Try Supabase — Postgres with everything you need. Enter for a chance to win a MacBook Neo.',
},
hero: {
title: 'Win a MacBook Neo',
subtitle: 'Supabase at Postgres Summit US 2026',
description:
'Thanks for connecting with us at Postgres Summit US 2026. Try Supabase — Postgres with everything you need. Enter for a chance to win a MacBook Neo.',
image: {
src: '/images/landing-pages/sxsw-2026/macbook-neo.png',
alt: 'MacBook Neo in four colors',
width: 500,
height: 333,
},
ctas: [
{
label: 'Get started',
href: '#how-to-enter',
variant: 'primary',
},
],
},
sections: [
{
type: 'single-column',
title: 'Everything to know about Postgres Locks',
description: 'Conference Talk: Wednesday, September 30, 2026 4:00 PM EDT, Rossi Intermediate',
children: (
<div className="flex flex-col items-center gap-6">
<Image
src="/images/landing-pages/postgres-summit-NYC-2026/brian-brennglass.png"
alt="Brian Brennglass"
width={192}
height={192}
className="rounded-full object-cover aspect-square w-48 h-48"
/>
<div className="flex flex-col items-center gap-0">
<p className="text-foreground-light font-medium">Brian Brennglass</p>
<p className="text-foreground-lighter text-sm">Supabase</p>
</div>
<Button asChild variant="default" size="medium">
<Link
href="https://postgresql.us/events/postgressummitus2026/schedule/session/2406-everything-to-know-about-postgres-locks/"
target="_blank"
rel="noopener noreferrer"
>
View session details
</Link>
</Button>
</div>
),
},
{
type: 'single-column',
id: 'how-to-enter',
title: 'How to enter',
children: (
<div className="flex flex-col items-center gap-6">
<ol className="flex flex-col gap-4 text-foreground-light text-lg list-decimal list-inside">
<li>Create a Supabase account and note the email address you used</li>
<li>Load data into a Supabase database</li>
<li>Fill out the entry form below</li>
<li>
Complete these steps by the contest deadline, Monday October 12, 2026 at 12:00 PM PDT
</li>
</ol>
<Button asChild variant="default" size="medium">
<Link href="https://supabase.com/dashboard">Create your account</Link>
</Button>
<p className="text-xs text-foreground-lighter mt-4">
No purchase necessary. Void where prohibited.{' '}
<Link href="/go/contest-rules" className="underline">
Official rules
</Link>
.
</p>
</div>
),
},
{
type: 'form',
id: 'enter-contest',
title: 'Enter the contest',
description: 'Fill out the form below to complete your entry.',
fields: [
{
type: 'text',
name: 'first_name',
label: 'First Name',
placeholder: 'First Name',
required: true,
half: true,
},
{
type: 'text',
name: 'last_name',
label: 'Last Name',
placeholder: 'Last Name',
required: true,
half: true,
},
{
type: 'email',
name: 'email_address',
label: 'Email',
placeholder: 'Email address',
required: true,
},
{
type: 'text',
name: 'company_name',
label: 'Company',
placeholder: 'Company name',
required: true,
},
],
submitLabel: 'Enter contest',
successRedirect: '/go/postgres-summit-2026/contest/thank-you',
disclaimer:
'By submitting this form, I confirm that I have read and understood the [Privacy Policy](https://supabase.com/privacy) and the [Official Rules](/go/contest-rules).',
crm: {
hubspot: {
formGuid: '32a0223e-784e-43bb-bdba-5cb3e72f35bd',
fieldMap: {
first_name: 'firstname',
last_name: 'lastname',
email_address: 'email',
company_name: 'name',
},
consent:
'By submitting this form, I confirm that I have read and understood the Privacy Policy.',
},
customerio: {
event: 'event_attended',
profileMap: {
email_address: 'email',
first_name: 'first_name',
last_name: 'last_name',
company_name: 'company_name',
},
staticProperties: {
event_name: 'Postgres Summit US 2026',
},
},
},
},
],
}
export default page
+4
View File
@@ -8,6 +8,8 @@ import datadogDinner from './events/dash-2026/exec-dinner'
import datadogContestThankYou from './events/dash-2026/exec-dinner-thank-you'
import pgconfDev2026Contest from './events/pgconf-dev-2026/contest'
import pgconfDev2026ContestThankYou from './events/pgconf-dev-2026/contest-thank-you'
import postgresSummit2026Contest from './events/postgres-summit-2026/contest'
import postgresSummit2026ContestThankYou from './events/postgres-summit-2026/contest-thank-you'
import postgresconfContest from './events/postgresconf-sjc-2026/contest'
import postgresconfContestThankYou from './events/postgresconf-sjc-2026/contest-thank-you'
import selectPartnerDay from './events/select-2026/partner-day'
@@ -53,6 +55,8 @@ const pages: GoPageInput[] = [
postgresconfContestThankYou, // remove after May 31, 2026
pgconfDev2026Contest, // remove after May 31, 2026
pgconfDev2026ContestThankYou, // remove after May 31, 2026
postgresSummit2026Contest, // remove after October 31, 2026
postgresSummit2026ContestThankYou, // remove after October 31, 2026
datadogContest, // remove after June 30, 2026
datadogContestThankYou, // remove after June 30, 2026
datadogDinner, // remove after June 30, 2026
Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB