Case study · Kingdom Christian Church
Sermon Library
A custom sermon library for Kingdom Christian Church that extracts messages from full-service recordings and delivers audio and video through AWS.

Overview
A custom sermon library developed for Kingdom Christian Church to make recorded messages easier to discover and access. I built a Python-based publishing workflow that extracts sermons from full-service recordings and delivers audio and video through AWS infrastructure.
Role. Full-stack development and media infrastructure
The problem
Full church service recordings contain more than the sermon itself. Members looking for a particular message need a focused way to browse and play sermons without navigating entire service recordings or unrelated content on YouTube.
Preparing individual sermon recordings manually also creates repetitive work, especially when publishing a growing library of messages.
The solution
I developed a dedicated sermon library and a repeatable media publishing workflow.
Automated clipping
Specify start and end timestamps in a Python script to extract a sermon from a longer recording.
Multiple media formats
Publish sermons as MP3 audio and MP4 video.
Sermon discovery
Organize recordings with metadata, including titles, dates, and durations.
Cloud storage
Store media and associated metadata in Amazon S3.
Content delivery
Use Amazon CloudFront to serve recordings to users.
Engineering
The system separates media preparation from storage and playback, allowing publishing operations to happen independently of user streaming.
Source recording
Full church service
Python publishing script + FFmpeg
Start/end timestamps · Clip extraction · Media processing
Amazon S3
MP3 · MP4 · Metadata · Sermon listings
Amazon CloudFront
CDN delivery of sermon media
Sermon library
Browse, listen, and watch
The publishing script handles media preparation and uploading, while the frontend uses the resulting sermon information and media URLs to support browsing and playback.
Technical decision
Keep publishing off the request path, and keep media off the app server.
Long sermons are expensive to serve from an application process. I treated FFmpeg clipping as a publishing job, stored MP3 and MP4 objects plus metadata in S3, and let CloudFront handle playback. The library frontend only reads listings and media URLs — it never transcodes or streams files itself.
Challenges
Automating precise sermon extraction
Extracting individual messages from long recordings requires accurate start and end times. I built a timestamp-driven Python workflow to make the process repeatable and reduce manual editing.
Serving large media files
Long sermon recordings can be expensive and inefficient to serve directly from an application server. I used S3 for durable media storage and CloudFront for content delivery, separating media traffic from application processing.
Managing a growing media library
Keeping sermon files and their associated metadata organized is important as new messages are published. A consistent storage structure and metadata format help the library remain maintainable.
Outcome
- Built a dedicated sermon browsing and playback experience for Kingdom Christian Church.
- Enabled access to sermons in both audio and video formats.
- Created a reusable publishing workflow based on timestamps.
- Established an S3 and CloudFront architecture for media storage and delivery.
Engineering takeaway
This project demonstrates media-processing automation, cloud storage, CDN integration, and the ability to design infrastructure around a real organization's content-delivery needs.
Project navigation
All case studies
- Sermon LibraryCurrent
- Kingdom Discipleship App
- VenueIQ
- WeAreCareReps