~cpchander@dev:~$
cpchander@dev:~/case-studies$ cat zedtreeo.mdx
~ cat zedtreeo.mdx
# client: Zedtreeo

Zedtreeo — building a remote staffing platform from zero

How we built Zedtreeo into a remote staffing platform serving US/UK/AU SMBs — architecture, growth playbook, and what we'd do differently.

Next.js 16Sanity CMSVercelProgrammatic SEO

What we built

Zedtreeo is a remote staffing platform that matches vetted offshore engineering, design, and operations talent with US/UK/AU SMBs. Hire in 72 hours, managed via the platform.

The architecture

  • Frontend: Next.js 16 App Router on Vercel, Tailwind v4, Sanity CMS for content.
  • Backend: NestJS + Prisma + Postgres for the candidate matching engine and operational tooling.
  • SEO: Programmatic landing pages (/hire-react-developers, /hire-virtual-assistants, etc.) — ~120 published, more in the queue.
  • Outbound: GrowMore stack feeds qualified inbound leads.

What worked

Programmatic SEO outperformed paid by a 4x ROI factor inside six months. The pattern: identify high-intent hire-{role} keywords, build a templated page with role-specific FAQs, salary data, and a vetted candidate sample. Each page indexed within 2 weeks.

Sanity CMS over MDX for the content layer. The team can publish without touching code, but the data model stays typed and version-controlled.

Trust signals upfront — visible candidate profiles, US/UK time-zone overlap data, payroll handled by Zedtreeo, no markup tricks. SMB buyers are skeptical of "remote staffing" as a category. Showing the work mattered.

What didn't

LinkedIn ads burned a five-figure budget with negative ROI. The platform's audience targeting for SMB hiring decisions is too noisy. We killed it after 8 weeks.

Live chat on every page felt premium but converted worse than a simple "book a call" CTA. People wanted to either qualify themselves or skip the conversation entirely.

The numbers

  • Organic traffic: 0 → 40k/month inside 9 months
  • Time to first hire: 72 hours average
  • Indexed pages: 220+
  • Conversion (visit → call booked): 2.8%

What I'd do differently

Build the matching engine before the marketing site. We had inbound demand for 6 weeks before the matching ops were tight enough to fulfill. Lost candidates to slow response times we should have engineered around earlier.

Stack details

Next.js 16 + React 19 + Tailwind v4 + Sanity v3 + NestJS + Prisma + Postgres + Vercel + Cloudflare + Apollo + Smartlead + HubSpot