SAME OPERATOR • CHOOSE LEARN VS DONE-FOR-YOU
NOW ACCEPTING NEW PROJECTS -- OR JOIN EXPRESS INTENT TO BUILD WITH US    •   
← BACK TO HOME

/COLOPHON

HOW THIS SITE
IS BUILT.

The studio site, end to end. Same engineering decisions we make on client work.

/FRONT-END

  • Next.js 16 (App Router, Turbopack) — server components by default, client islands where interactivity is needed (forms, the scope quiz, the ROI calc).
  • React 19 — concurrent rendering, Suspense streaming.
  • TypeScript in strict mode. No any in shipped code.
  • Tailwind CSS 4 — utility-first, no separate component library.
  • Framer Motion for the homepage scroll animations.
  • Helvetica system stack — no web fonts. Faster LCP, no FOUT.

/BACK-END

  • Single API route at /api/lead handles all form submissions (contact, newsletter, booking).
  • Supabase for lead storage. Postgres + auth, even though we don't use the auth layer here.
  • Telegram for real-time lead notifications. Bot pings me directly the second a form goes through.
  • Cal.com self-hosted on Contabo for the booking subdomain. Calendly alternative we own.

/HOSTING

  • Vercel Production — git-connected to enochodu1/enoch-odu-studios. Push to main triggers an auto-deploy in ~30-60 seconds.
  • Vercel Edge for the OG image generators (15+ per-route dynamic OG images using next/og).
  • Cloudflare DNS in front of Vercel. Cloudflare gives us API-rate-limited DNS history and lower-cost hostname caching.

/SEO + DISCOVERABILITY

  • 5–8 JSON-LD schemas per page — Organization, WebSite, ProfessionalService, Service, BreadcrumbList, BlogPosting, FAQ, ItemList, HowTo, OfferCatalog, AggregateOffer.
  • 14 AI crawlers explicitly allow-listed in robots.ts (GPTBot, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, etc.).
  • /llms.txt and /llms-full.txt served as static text/plain at the root. AI agent citation surface.
  • IndexNow verified for instant Bing + Yandex + Naver indexing. Pinged on every meaningful sitemap change.
  • Hand-authored content only — no programmatic SEO templating, no city × service combo pages. Every URL is unique.

/PERFORMANCE

  • Static prerendering for all marketing routes. CDN-edge cached.
  • Strict CSP — default-src self, frame-ancestors none, object-src none, locked-down permissions policy.
  • HSTS preload — max-age 2 years.
  • preconnect + dns-prefetch for Cal.com host and GA endpoints.

/THE THINGS WE'D DO DIFFERENTLY

  • The homepage uses next/dynamic for almost every section — useful for above-the-fold but probably overkill for components below the hero. Will simplify.
  • No proper CMS yet. Blog posts are TSX files, which is fine for 8 posts and painful at 80.
  • Newsletter signup writes to Supabase + Telegram but doesn't actually send a double-opt-in confirmation email. Will wire to Resend or Loops.

Source: github.com/enochodu1/enoch-odu-studios