Handshake AI is the AI training side of Handshake's business, connecting 100k+ fellows with paid, project-based work training large language models. They needed a dedicated help center at ai-support.joinhandshake.com that could serve their fellowship community with onboarding guides, project documentation, payment info, and policy references.
The catch: they didn't want a Zendesk theme. They wanted a fully custom frontend that pulled content from Zendesk but looked and felt like a Handshake product. I built it from scratch, solo.
The architecture
Next.js + Zendesk API — the site is a standalone Next.js application that consumes Zendesk's API for all article content. Articles are statically generated at build time for performance, so every page loads instantly without waiting on Zendesk's servers.
Webhook-driven revalidation — when the support team updates or publishes an article in Zendesk, a webhook fires and triggers on-demand revalidation of the affected pages. The content team works entirely in Zendesk's editor; the site stays current without manual deploys or full rebuilds.
Custom Algolia integration — I built search from scratch using Algolia, indexing all Zendesk articles so fellows can find answers fast. The search covers all categories: Getting Started, Fellowship Expectations, Project Participation, Payments, and Policies.
Maven AGI integration — the site includes Maven's AI-powered support chat, giving fellows an instant conversational interface alongside the traditional article browsing experience.
The content structure
The help center serves 5 core categories:
Getting Started — application flow, identity verification, onboarding checklist
Project Participation — time tracking, annotation platform FAQs, offboarding
Payments — Stripe setup, tax forms (W-8/W-9), payment processing, EINs
Policies — code of conduct, original work policy, time tracking standards
Each category has its own landing page with article listings, and every article page is statically generated with clean URLs.
Why it matters
This isn't a reskinned Zendesk instance. It's a production web application that happens to use Zendesk as a headless CMS. The static generation + webhook revalidation pattern means the support team gets the authoring experience they're used to, while fellows get a fast, branded experience that feels native to the Handshake AI product.
Built a custom help center from scratch for Handshake AI using Next.js, Zendesk API, Algolia search, and Maven AGI. Statically generated, webhook-driven revalidation, solo build.