Alex Jain
ClickUp

ClickUp

2022 - 2024

ClickUp — Programmatic Page Generation

Engineering Manager, Growth

An overarching program — not a single project — that started with early experiments using LLMs for content at scale and grew into four connected sub-programs that compounded on each other. I led the engineering team through each phase, setting technical direction, working through architecture decisions with the team, and partnering closely with product, SEO, and paid search stakeholders. Across these programs, the team scaled the site from roughly 500 pages to 100,000+, with the pipeline capable of publishing 10,000 pages a day.

Key Contributions

  • Led the engineering team through four compounding programmatic content programs, scaling the site from ~500 to 100,000+ pages — with the pipeline capable of publishing 10,000 pages a day
  • Set technical direction for LLM-powered generation pipelines; team built keyword-to-page automation at scale
  • Guided the architectural decision to build Template Center as a separate SSR Next.js app behind CloudFront path routing — one domain, two origins, zero friction for end users
  • Partnered with content and paid search stakeholders to define self-service Contentful tooling that removed engineering from the landing page creation loop
  • Defined the Remix endpoint concept; team implemented the feature enabling content authors to generate ICP-recontextualized variants from proven page templates
  • Established 7-day retention as the primary KPI, creating a direct line from page performance to paid conversion

Architecture Overview

1. SEO Long Tail

The team identified high-intent, low-competition keywords that could be targeted cheaply through organic search. The initial approach was deliberately manual — the team fed context and prompts to LLMs, generated pages, published them, and measured signal. Our KPIs were 3-day and 7-day retention. Seven-day was the critical one: a user still in ClickUp after seven days converts to paid at a high rate, so the team could draw a direct line from page performance to revenue.

Once there was enough signal to trust the approach, the team built a pipeline that could take a spreadsheet of target keywords and generate pages at scale — eventually reaching tens of thousands of pages targeted at SEO long tail.

2. Template Center

ClickUp is a complex product to onboard. Templates reduce that friction by pre-configuring a workspace — task structures, whiteboards, folder hierarchy — for a specific use case. A catering business gets a catering template. A marketing team gets a marketing template.

Templates lived inside the core product's CMS. The goal was to surface and merchandise them on the public site so people could discover templates and convert through a "use this free template" CTA that dropped them into a trial or their existing subscription.

With programmatic generation, the team extended this further: templates for new ICPs could be created at scale inside the product, with a corresponding merchandising page on the public site generated automatically — one-to-one mapping, no manual page creation required. Template coverage expanded without proportional manual effort.

Technically, Template Center was built as a separate SSR Next.js application. The SSR choice wasn't about dynamic data — it was about volume and performance tradeoffs. Statically generating thousands of template pages at build time wasn't practical. And unlike the homepage or pricing pages where first-paint performance directly affects conversion, template center pages didn't need that same level of render optimization. SSR was the right fit: render on request, no build-time generation overhead, acceptable performance for the use case. The team used CloudFront routing rules to direct the `/template-center/` path to a different AWS origin while keeping it seamless from the outside. One domain, two applications under the hood.

3. Landing Pages and the Remix Endpoint

The paid search team needed landing pages for campaigns. Previously every request came to engineering. The team built self-service tooling in Contentful so stakeholders could create and publish paid landing pages independently.

That was extended with programmatic generation: give the system a spreadsheet of campaigns, a seed template, and prompts — and the team could generate a full set of landing page variants targeting different audiences and campaigns, including test variants for A/B experimentation.

The Remix endpoint tied it together. Instead of starting from scratch for a new ICP or campaign, a content author could take a high-performing page, hit a Remix button, and generate a recontextualized version. Same structure, different audience. It removed the blank-page problem and cut time-to-launch for new campaigns significantly.

Technologies

Next.js (SSR)ContentfulLLM content pipelinesAWS CloudFront (path-based routing)A/B testing infrastructureProgrammatic SEOTypeScript