2026

Worship Tools

A native PowerPoint VSTO add-in that replaces paid worship-presentation SaaS with real-time lyric slides and live scripture lookup, built directly into PowerPoint's object model.

Desktop EngineeringSystems AutomationDeveloper Tooling
About

AfreePowerPointadd-inforchurches—instantlyricslidesandlivescripturelookup,engineereddirectlyintoPowerPoint'sobjectmodel.

Live Site
Technologies
VB.NETVSTOMS Office COM API.NET Framework 4.8Node.jsClickOnce
Keywords
Church TechVSTOPowerPoint AutomationLive ProductionCOM Interop
The Build

How It Was Made

01

The Overpriced SaaS Problem

Church presentation software is typically locked behind recurring subscription paywalls. For smaller congregations running on volunteer labor and tight budgets, paying every year just to display lyrics and manage service slides is an unnecessary bottleneck. I wanted a free alternative that met volunteers exactly where they already were: Microsoft PowerPoint.

02

The Live-Production Chaos

Beyond the tedious pre-production hours spent copy-pasting lyrics, the real pressure happens live. Preachers regularly call out unscripted scripture mid-sermon. In a standard setup, that sends the media team scrambling — open a browser, look up the verse, copy it, build a new slide, fix the font size, deploy it before the speaker moves on.

03

The Architecture & V1 Solution

I built a native VSTO (Visual Studio Tools for Office) add-in in VB.NET that hooks directly into PowerPoint's COM object model, exposing the tool as a utility right inside the Office ribbon. It automates text parsing, scales fonts dynamically, handles multi-slide lyric distribution, and queries a scripture database to generate an unscripted verse slide on the fly, mid-service.

04

The Technical Roadblock

The V1 add-in solved the automation and real-time scripture problems cleanly, but ran into a hard limitation native to PowerPoint itself. PowerPoint treats media as isolated shapes bound to a single slide's timeline, so the audio/video clock resets on every slide transition — making a smooth, continuous motion background across multiple lyric slides structurally impossible in the current architecture. That constraint is now the spec for a follow-up: a decoupled rendering engine that owns the presentation clock instead of PowerPoint.

05

Shipping It

Worship Tools installs via a signed ClickOnce package, ships with a bundled YouVersion.exe for the Bible API, and supports English and Filipino scripture versions out of the box. It's now in active use running live service slides, and available for other volunteer media teams to install for free.

Inside the VSTO Logic

Tiered, performance-minded search strategy

Private Sub BuildTiers(files As List(Of String), filter As String,
                       tier1 As List(Of String), tier2 As List(Of String), tier3 As List(Of String))
    For Each f As String In files
        Dim name As String = Path.GetFileNameWithoutExtension(f)

        If name.StartsWith(filter, StringComparison.OrdinalIgnoreCase) Then
            tier1.Add(f) ' Tier 1: Exact prefix matches
        ElseIf name.IndexOf(filter, StringComparison.OrdinalIgnoreCase) >= 0 Then
            tier2.Add(f) ' Tier 2: Inline filename matches
        Else
            Try ' Tier 3: Content-level deep scan fallback
                Dim content As String = File.ReadAllText(f)
                If content.IndexOf(filter, StringComparison.OrdinalIgnoreCase) >= 0 Then
                    tier3.Add(f)
                End If
            Catch
                ' Gracefully bypass isolated file I/O locks during live services
            End Try
        End If
    Next
End Sub
Click to enable audio
Documentation

Read the Docs

Final Work