Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atomic Memory Hosted Landing

Next.js landing page for the Atomic Memory hosted beta waitlist.

Routes

  • / redirects to /hosted-memory
  • /hosted-memory landing page
  • /api/waitlist server route that appends leads to Google Sheets

Local setup

pnpm install
cp .env.example .env.local
pnpm dev

Open:

http://localhost:3000/hosted-memory?utm_source=x&utm_medium=paid&utm_campaign=hosted_memory&utm_content=bf1_x

Required environment variables

WAITLIST_SPREADSHEET_ID=your_google_sheet_id
WAITLIST_SHEET_NAME=Atomic Memory Waitlist Masterlist
GOOGLE_SERVICE_ACCOUNT_JSON_BASE64=base64_encoded_service_account_json

For local development only, you can use a file path instead of base64:

GOOGLE_SERVICE_ACCOUNT_JSON_PATH=/absolute/path/to/service-account.json

Do not commit the real service-account JSON.

Create the base64 service-account value

base64 -w 0 /path/to/service-account.json

Paste the output into Vercel as:

GOOGLE_SERVICE_ACCOUNT_JSON_BASE64

Vercel deploy

  1. Upload/import this project to Vercel.
  2. Set Framework Preset: Next.js.
  3. Install command: pnpm install.
  4. Build command: pnpm run build.
  5. Add the environment variables above in Vercel Project Settings → Environment Variables.
  6. Deploy.
  7. Test the form on /hosted-memory with UTM params.

Google Sheet requirements

The destination spreadsheet must have a tab named:

Atomic Memory Waitlist Masterlist

Expected headers:

timestamp, email, name, company, role, product_type, interest, message, page, utm_source, utm_medium, utm_campaign, utm_content, utm_term, referrer, landing_url, user_agent, status, notes

The spreadsheet must be shared with the Google service account email as Editor.

Test commands

pnpm run typecheck
pnpm run build

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages