Monster at Majette
A mobile course guide for the Monster at Majette disc golf course, shipped to the App Store and the web from one data file.

Majette has five layouts, and the par, distance, tee pad, and pin position all change depending on which one you’re playing. The old website couldn’t answer “what is this hole, on this layout, right now” without scrolling, and nobody scrolls with a disc in their hand. This replaces it with something you can use on a tee pad: pick a layout once, and every hole page shows that layout’s numbers, the fairway map cropped from the tee sign, and the out-of-bounds rule in plain text.
The whole thing is one JSON file. Layouts, hole stats, OB text, hazards, and the lore of the eighteen monsters live in data.json, and the website, the iOS app, and the Android app all render from it. There’s no build step for the site. It’s static HTML, CSS, and JavaScript with a service worker so the guide works offline in the parts of the course where the signal doesn’t. Capacitor wraps the same files for the app stores, and a prerender script writes a real page per route so the web version has links that unfurl and pages that index.
In September the apps got a scorecard, with GPS distance to the basket and a saved history of rounds. On iOS a round in progress sits on the lock screen and in the Dynamic Island with the hole, its monster, par, distance, and your score to par. A home-screen widget says whether the course is open, limited, or closed.
For Monster Mash week the course becomes the Monster’s Mansion, the tournament layout with temporary tees and baskets. That used to switch on dates guessed a month ahead. Now it’s one flag in data.json. The apps check the website every time they open, so when the temporary tees go in and I deploy, the app and the widget flip to the Mansion the next time anyone opens them. For Mash 2026 every Mansion hole got its own drawing, traced from satellite imagery with the out-of-bounds lines on it, in the apps by release 1.1.6. October also added a full-screen finder for when you can’t find the next tee or the basket.
The monsters are the marketing. Each hole has a creature and a one-line piece of lore, and the Bestiary page is why people open the app when they aren’t on the course. It also ties the course brand to the Monster Mash, the tournament that plays it every October.

Every hole has a monster and a name; the lore is the hook, the numbers are the reason to come back.

The Bestiary. Eighteen monsters, one per hole, each tied to the stretch of course it guards.