Skip to main content

Case study · Pastor & speaker

Our founder's own speaking site, built the way we build for clients.

Nathan VandenHoek runs this studio. He is also a pastor who preaches and speaks at churches and conferences across West Michigan, and he needed what every speaker needs: one link that tells a host who he is, what he has preached, and how to invite him. This is that site, and an honest look at how it was made.

The natevandenhoek.com home page: a dark hero with the name Nathan VandenHoek in large serif type, a headshot, and an Invite Nathan to speak button
Client
Nathan VandenHoek, pastor and speaker
Type
Speaker website with an invitation form
Stack
Next.js, Tailwind CSS, Cloudflare Workers + KV, Resend
Status
Live at natevandenhoek.com

Why publish our own site

Because it is the one project where you can check every claim.

A studio's own website is the only case study with no client to protect and nothing to soften. The site is live, the code decisions are visible in the page source, and the shape of the project — a fixed-price website build — is the same one on our pricing page. If you want to know what you would actually get, this is the cleanest answer we can give.

What we built

A static site, one small Worker, and nothing that needs a developer to update.

Scoped to what a speaker actually needs: a strong first impression, recent messages, a form that reaches him, and a site he can keep current himself.

Off a no-code platform, onto something he owns

The first version lived on Base44, a hosted app builder. It worked until it had to be a real site: a custom domain, control over performance, and no vendor between the owner and his own content. We rebuilt it as a static Next.js site and kept the one piece of dynamic behavior, the invitation form, as a small Cloudflare Worker. The result costs almost nothing to run and nothing is locked up.

An invitation form that cannot lose a request

Every speaking request is written to Cloudflare KV before anything else happens, then emailed through Resend with the visitor as reply-to. If email delivery ever fails, the request is still there. Spam is filtered with a honeypot and a same-origin check, with no CAPTCHA in a pastor's way.

A message archive that is a JSON file

Recorded sermons are entries in one file: title, date, church, and a YouTube link with an optional timestamp so the embed opens at the message rather than the pre-service stream. Adding one is a four-line edit, and each entry is emitted as VideoObject structured data so the recordings are eligible for video results in search.

One person across two websites

Nathan is also the founder of this studio. Both sites publish a Person node for him that names the other by stable @id and sameAs, so search engines and AI assistants resolve the pastor and the software consultant to the same person. This page, and the colophon on his site that links back to it, are the visible half of that graph.

Fast by construction

Images are pre-rendered to WebP at the exact widths each layout needs, fonts are self-hosted, and the one animation library loads lazily. Every page is a static file served from Cloudflare's edge; only the form endpoint ever runs code.

Nothing on the page that didn't happen

The first build shipped with placeholder testimonials. Before this write-up went live we took them down: the section now reads from a content file and renders only when a real, named person has agreed to be quoted. A speaking site cannot carry social proof that did not happen, and neither can a case study.

The outcome

What a speaker gets from a site like this.

The site launched on its own domain in October 2026. We will add traffic and invitation numbers here once there are enough months to be honest about them; a case study that quotes week-one figures is guessing.

A home he can hand to an event organizer

One link that says who he is, what he speaks on, what he has preached recently, and how to invite him. The invitation form replaces a back-and-forth of emails with the details a host actually needs.

Owned, portable, and nearly free to run

The code, the domain, the form, and the content are all his. Hosting is a Cloudflare Worker on the free tier. If the studio disappeared tomorrow the site would keep running unchanged.

Easy to keep current without a developer

A new sermon is an edit to a JSON file. A new testimonial is the same. The things that go stale on a speaker site are exactly the things that need no code to update.

Is this you?

Built for speakers, pastors, authors, and anyone whose name is the brand.

The same shape fits a guest preacher, a conference speaker, a coach, or a ministry leader: a site that represents the person well, collects the right request, and stays current without a developer on call.

This is the website build shape of project: a fixed price for the site, then a flat monthly fee for hosting and unlimited edits, both published on the pricing page. You get a fixed scope and price before work begins, and you own everything at the end.

Need a site that represents you well?

The discovery call is free. We'll look at what you have now, what a host or reader needs from it, and tell you honestly whether a rebuild is the right next step.