FULL RACK

Brackets · Eliminators · Pots · Doubles · Jackpots

Side action that runs itself.

Full Rack puts your brackets, eliminators and pots live on every TV in the house and on every bowler's phone, straight from the scores your lanes are already keeping. Nobody types a score. Nobody does math at the desk.

I built it for my home house, Grove City Bowl-O-Drome, because I was tired of watching our desk do all of that by hand. It's not for sale and it's not finished. This is where I'm showing it off as it comes together.

A whole Thursday night of brackets on the TV, sped way up.

Why I built it

I'm the IT guy at Grove City Bowl-O-Drome, and I run the lanes on Tuesday nights. My day job is network engineering at an ISP, and I've been building websites for over twenty years, so when side action at our place needed help, I was the one who got asked.

A few years back I wrote a little bracket app that ran on a Raspberry Pi and showed the brackets on our TVs. Bowlers loved it. They'd crowd the TV between frames to see who they drew and who was still alive. But setting up a night was slow, every score still got typed in by hand, and under the hood it had turned into a mess I didn't want to touch anymore.

Most of our leagues didn't run brackets at all because of the setup. That's money and fun left on the table every week.

Full Rack is that app done right. It reads the scores the lanes already keep, figures out the money itself, and keeps every TV in the building up to date. The goal is simple: easy enough that the teenager working the snack bar can run the desk.

A league night, start to finish

Here's what a night looks like from behind the desk. These are real screens from a real Thursday league, with every bowler's name swapped for a Star Wars character. (Our bowlers didn't sign up to be on a website.)

  1. 1

    The roster shows up by itself

    When the league secretary software sends tonight's roster to the lanes, Full Rack sees it too. The desk gets one question: "Mos Eisley Merchants 2026. Set up tonight's side action?" It already knows the week, the teams, every average and every handicap. There's nothing to type in.

  2. 2

    Pick tonight's events

    Tap what you're running: brackets, an eliminator, high game, high series, doubles, a 300 jackpot. Your house rules for prices, payouts and ties are already filled in. Next week, last week's events are waiting for you, so most nights this is one tap.

    Setting up tonight's events
  3. 3

    Take entries without touching the mouse

    Type a few letters of a name, hit Enter, type how many brackets, Tab over to the pots, Enter. That's an entry. It tells you exactly what to collect. Regulars who buy the same thing every week? Press L and last week's entries fill right in.

    It also tells you how many brackets you've got and exactly who'd need to buy one more to fill the next one. No more guessing.

  4. 4

    Close entries, brackets are drawn

    One button draws the brackets. Nobody gets the same first-round opponent twice, and anyone who couldn't be placed gets a refund that's already worked out. The eliminator plans its own cuts from how many bought in.

    Closing entries and building the brackets
  5. 5

    Bowl. The TVs keep up on their own.

    As each bowler finishes a game, the score lands on the TVs within seconds. Brackets advance, the eliminator cuts, the pots update. The desk can watch every event at once from its own screen. If something needs a call, like a tie in a bracket, it waits for the director and the TV says "Tie being decided."

    Every event of the night at the desk, live
  6. 6

    Pay out and go home

    The payout sheet lists everyone who has money coming, from every event, refunds included, biggest first. Mark people paid as they come up, or print it with a box for each bowler to initial. It shows the house's side too, so the drawer balances.

    League winnings often get paid the next week. Full Rack remembers who's still owed and puts them on the TV next week: "Congratulations, winners! Please see the desk."

    The payout sheet

And when something's off, it says so

If a roster ever comes in and Full Rack can't tell which night it's for, it doesn't guess and it doesn't sit on it. It asks the desk: "Is this tonight's?" One tap and the night is set up like any other.

It also learns when each league bowls. If a league's roster isn't in an hour before it usually starts, the desk hears about it while there's still time to send it over from the league software.

The desk being asked whether a lineup is tonight's, and told a league's roster hasn't come in

On the TVs

This is the part the bowlers see, and the part they love. Every TV can show everything taking turns, or just one thing: brackets by the lanes, the eliminator by the bar, winners behind the desk.

And on every phone

Bowlers don't have to crowd the TV anymore. A QR code by the lanes opens the night on their phone: every score as it lands, the brackets, the pots and the eliminator. No app, no account, no sign-in.

Tap the star next to your name, or your kid's, and Following keeps just them up top, with where they stand in everything they entered.

On the center's Wi-Fi it comes straight from the hub, so it works even when the internet doesn't. With a free Cloudflare tunnel, the same QR code works from the parking lot or the couch at home.

Live scores, team by team, on a phone
Every score, live.
Following one bowler on a phone
Just the bowlers you follow.
The night's side action on a phone
Where the money stands.

Any TV with an HDMI port

The TV screens are just web pages, so a smart TV's browser can show them. But anyone who's fought with a smart TV browser knows how that goes, so there's also the Rack Box: a little Raspberry Pi that sits behind the TV.

Flash the SD card, type your Wi-Fi into a text file on it, plug it in. That's the whole setup. It finds the hub on its own, and it doesn't show a wall of Linux text on your TV. From power on you get the rack lighting up pin by pin, then the board.

You only flash it once. Every time the hub updates, the Rack Boxes pick up the new version from the hub on their own, never in the middle of a league, and go right back to the one they had if something's wrong with it.

Next up: the box turning the TV on and switching it to the board when the league starts, and back to regular TV when it's over. The boxes are already checking which of our TVs will let them.

It even runs on an old Pi 3, so those dusty old TVs that used to run Keno can earn their keep again.

A Rack Box starting up.

Run the whole house from one page

The owner gets a House page: switch events on or off, set your house rules once, name each TV and pick what it shows, print the QR codes for phones, swap the colors and add your logo, and back everything up to a USB stick. It even keeps a running total of everything it's run: the side action taken in, what got paid out, what the house kept, and every 300. No command line. Ever.

The story so far

I'll keep adding to this as things happen.

  1. A few years ago

    The old bracket app

    A Raspberry Pi in the back and the brackets on our TVs. Bowlers loved watching it. Setting it up every night, not so much.

  2. The years in between

    Patch, tweak, repeat

    Every season brought something new: another kind of pot, a different tie rule, a better screen. I kept bolting it onto the old app until it was more patches than program, and something always seemed to break in the middle of a league night.

  3. Along the way

    Starting over, more than once

    I took a few runs at doing it properly and threw most of them out. Every failed attempt taught me something about what the desk actually needs, and what it doesn't. Full Rack wasn't built in a month. It's years of trial and error finally coming together.

  4. Fall 2026

    Putting it all together

    I wrote down every rule our house uses, every way ties get broken, every weird thing that happens on a league night, and everything those years taught me. Then I picked a name: Full Rack.

  5. October 2026

    Learning to read the scores

    I spent a Tuesday night at the alley capturing every file the lanes and the league software passed back and forth. Turns out every finished game is right there. No more typing scores in.

  6. October 2026

    The hub moves into the alley

    An old Intel NUC became the hub, running its own locked-down Linux built just for this. It backs itself up every night and updates from a button on the House page.

  7. October 29, 2026

    First real night

    Thursday Merchants ran their brackets on Full Rack with real money for the first time. The owners liked it, and more importantly, the bowlers did.

  8. Late October into November

    More events, more TVs

    Doubles of every kind, reverse brackets, men's and women's pots, holiday themes, and the first Rack Box hanging on a real TV, running on a Pi 3 that had been sitting in a drawer.

  9. Early November 2026

    Phones, and boxes that look after themselves

    Bowlers can follow the night on their phones from a QR code by the lanes, at the center or from home. The Rack Boxes update themselves from the hub. The House page started keeping score of the house itself: every dollar, every game, every 300.

  10. November 5, 2026

    The night a date tripped it up

    Thursday Merchants' roster came in with the date written in a way I hadn't seen yet, and Full Rack set it aside instead of putting it up. I wasn't there. It got fixed that night, and now a roster it can't place goes straight to the desk with a question instead. That's what real league nights are for.

Thank you

None of this happens without the people at Grove City Bowl-O-Drome. They've let me test every version of it on real league nights, bugs and all, for years.

Mike Marano II, the owner, gave it a home and told me straight what worked and what didn't.

Jacob Bowser ran the desk on the old system and the new one, caught the problems I missed, and told me how it should really work from behind the counter. Full Rack is better for both of them.

Sierra Marano used to be the one walking the lanes, writing down every score by hand. She hated it. Nobody has to do that anymore, and that one's for her.

To every bowler who sat through a stuck bracket or a wrong score while I fixed it on the fly: thanks for your patience. Most nights, anyway.

And to the whole Marano family. Since my son was two, back when Mike's mom and dad ran the place, they've treated us like family, and he's grown up there as one of their own. Mike and Jacob taught me how to fix the machines, which is why you'll find me there on Tuesday nights. I came to bowling as a bowler. Because of them, I also know it as a lane mechanic, as the guy running the desk, and a lot more besides. Thank you.

What's it going to cost?

Nothing. When it's ready, Full Rack will be open source. You'll be able to download it, run it in your house and look at every line of it. If it saves your desk some headaches and you want to toss a few bucks my way, there'll be a way to do that. If you don't, that's fine too. I'm building it for my home house either way.

It isn't released yet. It's running at one center, on one kind of scoring system, and I'd rather get it right than get it out fast.

Questions owners ask me

Will this mess with my scoring system?

No. Full Rack only reads. Your lane scoring and your league secretary software already pass files to each other through a shared folder. Full Rack looks at those same files and never writes to them, changes them or deletes them. If you unplug Full Rack, your scoring works exactly like it did before.

Which scoring systems does it work with?

Right now, centers running QubicaAMF's Conqueror scoring alongside CDE Software's BLS for league secretary work, because that's what my home house has. I'd love to support more. If you run something else and want to help me test, get in touch at hello@full-rack.com.

Does it need the internet?

No. Everything runs on a small computer inside your building, on your own network. The desk, the TVs and phones on your Wi-Fi all work with the internet down. The internet is only used to check for updates, and, if you want bowlers to follow along from home, for the phone page.

Can bowlers follow along on their phones?

Yes. Print the QR code from the House page and put it by the lanes. It opens the night's scores, brackets, pots and eliminator on any phone, with no app and no sign-in, and you can choose whether it shows prize amounts. Bowlers can star themselves (or their kids) to keep an eye on just them.

What if something goes wrong on a league night?

It tells the desk instead of guessing. A roster it can't place, a league whose roster hasn't shown up, a tie that needs a call, the scoring folder dropping off the network: each one shows up on the desk's screen with what to do about it. And everything it does goes in a log, so I can see afterward exactly what happened.

What hardware do I need?

One small always-on computer for the hub (an old mini PC works fine), plugged into the same network as your scoring computer. For the TVs, either their own web browser or a Raspberry Pi 3 or 4 behind each one.

Can I run it my way?

That's the whole idea. Every event is its own piece you can turn on or off. Bracket prices and payouts, lineage (including none), how ties get broken, scratch or handicap, who can enter what. Anything your house decides by hand can be set to "Director's choice," and Full Rack waits for you.

What's it built with?

Nothing exotic, and all of it open source:

  • The hub runs NixOS, a Linux where the whole system is described in a few files. Every hub is built the same way, an update either goes all the way in or not at all, and it can always roll back to the version before.
  • The software is TypeScript on Node.js. Every rule (brackets, cuts, pots, ties, payouts) lives in its own module with its own tests, separate from everything else.
  • The records go in SQLite, one file that's easy to back up. The hub backs it up every night, and copies it to a USB stick when one's plugged in.
  • The desk, the TVs and the phone page are web pages built with Svelte. Scores are pushed to every screen the moment they land, so nothing refreshes or polls.
  • The Rack Boxes are Raspberry Pis running NixOS too, with nothing on them but a browser showing the board full screen. They keep themselves up to date from the hub, which signs every update so a box only takes one from its own hub.
Is it ready for my center?

Not yet. It's running real leagues at Grove City Bowl-O-Drome, and I'm adding to it every week. When it's ready to share, the download will be on this site.

Who are you, anyway?

Jonathan, I do IT for Grove City Bowl-O-Drome, run the lanes on Tuesday nights, and bowl in our Thursday & Sunday leagues. I'm also a coach for our young up and coming bowlers. Full Rack is a passion project, nothing more.