Skip to content
Blog
Articles4 min read

Why Kastr runs in a browser tab instead of an installer

Most projection software starts with a download. I built Kastr to start with a URL, and that one decision shaped almost everything else about it.

Laptop in a church sound booth running the Kastr deck while a projector lights the screen

The first thing most church projection software asks you to do is download something. Then install it. Then make sure the projection computer is the one with the license, and that nobody updated the operating system the night before.

When I started building Kastr, I wanted the first step to be a link. You open kastr.site, sign in, and you're looking at your programs. No download, no installer. That one choice ended up shaping most of the product.

The booth computer is rarely yours

In a lot of churches, the computer in the booth is shared. It might be an old laptop someone donated. It might be locked down by whoever set it up years ago. Sometimes the person running slides on Sunday isn't the person who prepared them on Saturday, and they're not even on the same machine.

A desktop app ties your songs, themes, and setlists to one computer. If that computer won't boot, the service has a problem. With Kastr, the library lives in the workspace, not on a hard drive. The worship leader can build the program at home on Friday, and the volunteer opens the same program in the booth on Sunday morning. Any computer with a modern browser can run the show.

A browser already knows how to use more than one screen

The thing people expect a desktop app for is multi-display output: the operator sees controls, the projector shows only lyrics. Browsers can do this. In Kastr, you press the Projection button in the deck's top bar, drag the new window onto the projector or LED wall, and press F for fullscreen. That window shows lyrics, media, and slides, and nothing else.

The operator deck stays on the laptop screen with the setlist, the next slide, blackout, and the video controls. They're two windows talking to each other, which is exactly what a projection setup needs.

Screens you didn't plug in

The part I like most about building on the web is that screens don't have to be wired to the booth at all. Every workspace has a public screen link. Open it on a lobby TV, a phone, or the computer running the livestream, and it shows the live slide without anyone signing in.

With a desktop installer, getting lyrics onto a TV in another room usually means a long HDMI run or extra hardware. With a link, it means opening a browser on that TV. I spent real time on making those links catch up quickly when slides change, and on making someone who joins late land on the current slide.

Updates without a Sunday surprise

Installed software has a version problem. Somebody's on last year's release, somebody else clicked "update" five minutes before the service. Because Kastr is served from one place, everyone opens the same version. When I ship something like Bible mode, which went out in October, every team gets it the next time they load the page. Nobody has to find the installer again.

What I gave up

Running in a browser isn't free. I can't count on a fast local disk, so uploaded media has to load over the network. Fullscreen and keyboard shortcuts have to work within what browsers allow. And the browser needs a connection to load the workspace in the first place.

I decided those trade-offs were worth it for the teams I had in mind: small churches and venues where the setup changes from week to week and the person at the desk might be a teenager on their first Sunday. For them, "open this link" is a much shorter path than "install this and call me if it doesn't work."

Where it leads

Once the deck was a web page, other ideas got easier. A phone clicker is just another page that sends next and previous. Inviting a teammate is a link or a short code. A free lyric generator can live on the public site so people can test their formatting before they sign up.

None of those needed a separate app. They're all just more pages, which is the whole reason I started with a browser tab.

  • Kastr
  • Product
  • Web Platform