Skip to content
Mission archive Case file № 002

A small Hamilton church website, initially built in GatsbyJS, rebuilt in SvelteKit, quietly streaming sermons through it all.

Inspiring
Hope Church.

A field report by ORB IT Solutions · Hamilton, OH

Inspiring Hope Church Icon
◉ Inspiring Hope Logo · Brand Color #58CADD
Plate 01 · IHC Logo
ClientInspiring Hope Church
ScopeWebsite · CMS · Live streams · SEO
LocationHamilton, Ohio
TimelineAug 2020 - Oct 2023
StackGatsbyJS · SvelteKit · NodeJS
VideoHLS · Linode Object Storage
StatusEngagement Completed

Inspiring Hope Church came to ORB IT Solutions looking to expand their digital presence beyond just Facebook page and a phone number. They needed a online location of their very own.

The breif was: "Build us something where people can find us, listen to past Sunday messages, sign up for events and allows members to give online easily."

We built it on Gatsby — fast, static, content-friendly; the right call for 2020. Three years and major version upgrades later, the church's needs had outgrown the stack: Live sermon streaming, a growing video archive, events with detail pages, even a donation flow. As time went on, the Gatsby project build and deploy cycle became much slower.

So we rebuilt it with SvelteKit. Half the surface area, modern Web Components for the video player, but with the same Bulma-based brand intact. Nothing the congregation saw broke. The migration shipped quietly, the site kept running, Sunday kept coming.

The Pivot

Gatsby SvelteKit

The new version is on its first major. The old version reached its third before we retired it. The brand language carried across unchanged — Bulma stayed, the palette stayed, the layout DNA stayed. What changed was everything underneath.

V1 · ARCHIVED

Gatsby

v3

2020 — 2023

Language JavaScript
Styling Bulma 0.9 + SASS
CMS Ghost (headless)
Video Plyr
Analytics Matomo (self-hosted)
Tests Jest · Enzyme· Cypress
Deploy Drone CI → Linode
Build Time ~4 min
✦ ARCHIVED
V2 · Delivered

SvelteKit

v1

2023 onwards

Language TypeScript
Styling Bulma 0.9 + SASS
CMS Ghost (headless)
Video hls-video-element
Analytics Matomo (self-hosted)
Tests Vitest · Storybook (Playwright)
Deploy Drone CI → Linode
Build Time ~45 s
◉ PRODUCTION
3
years
Continuous engagement across two tech stacks.
2
major rewrites
GatsbyJS retired in favour of SvelteKit
1
design system
Same Bulma + palette + voice carried unchanged across the migration.
HLS
sermon stream
Live + on-demand from self-hosted Linode object storage.

Reliably delivered, every Sunday.

Inspiring Hope Church homepage
IH-02 · PLATE 02· Homepage: Hero, mission, this-week's-service, and a direct entry into the sermon archive
Inspiring Hope Church's sermon player
IH-03 · PLATE 03 Sermon player: hls-video-element + media-chrome — adaptive bitrate from Linode object storage. Replaces Plyr from v1.
Inspiring Hope Church's giving page
IH-04 · PLATE 04 Give page: Donation flow — Static page, off-platform hand-off, no card data on our infrastructure.
Inspiring Hope Church's Beliefs page
IH-05 · PLATE 05 Beliefs page: readable body type, live Scripture references, accordion expand/collapse and works without JavaScript.
Inspiring Hope Church's Get Connected page
IH-06 · PLATE 06 Get Connected: newcomer signup. Form-first, progressive enhancement.
Inspiring Hope Church's sermon player on mobile
IH-07 · PLATE 07 Mobile-first. The video player is touch-friendly; the nav is CSS-only.

Non-profits don't typically have relaunch budgets. By building a maintainable system from the start, this migration was seamless and cost-effective.

◉ ORB IT Solutions · § The Pivot

Architecture · Systems Design

Self running infrastructure. AI where it adds value.

01

Static-first, both stacks

Gatsby and SvelteKit both shipped pre-rendered HTML. No server-side rendering, no cold starts, no Sunday-morning timeouts.

02

Ghost CMS at build time

Ghost ran on a private Linode VPS. A content publish triggered a Drone CI build automatically. Anyone with a Ghost account could update the site, no developer required. The pipeline handled the rest.

03

HLS streaming, cutting-edge AI post-processing

Sermons were stored in Object Storage and served as HLS streams. Livestream video post-processing used AI to generate captions in English and Spanish, extending the reach of every sermon to the wider Hamilton community, without extra effort from the church.

04

Analytics reports

A weekly digest of visitor activity landed in the team's inbox automatically, so the church could see what was resonating without opening a dashboard.

Engineering Discipline

Same standards. New tools.

Migration Matrix ◉ V1 → V2 · MIGRATED IN PLACE
LAYERV1 · GATSBYV2 · SVELTEKIT
Unit testsJestVitest
E2E testsCypressNone
Component testsNoneStorybook 7
LintingESLintBiome + ESLint
Type safetyNone (JS)TypeScript
BuildDrone CIDrone CI
DeployCloud VPSObject Storage + Cloud VPS

◉ End of field report ◊ ◊ ◊

Have a site you've outgrown?

We migrate without breaking the bank, the brand, the analytics, or Sunday morning.

Technology · Platforms