WorkSoftware & AI

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.

ShippedVanilla JSPWACapacitoriOSAndroid
Monster at Majette

Majette has five layouts, and the par, distance, tee pad, and pin position all change depending on which one you are playing. The old website could not 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 usable 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 is no build step for the site; it is static HTML, CSS, and JavaScript with a service worker so the guide works offline in the parts of the course where the signal does not. 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.

The monsters are the marketing. Each hole was given a creature and a one-line piece of lore, and the Bestiary page is the reason people open the app when they are not on the course. It is also what ties the course brand to the Monster Mash, the tournament that plays it every October.