Brian Rossen

· iPhone · iPad

Greens: Mini-golf

Classic mini golf, seen from above. Pull back, let go, and see how many holes you can ace.

What it is

It looks like a real course from above, with green felt, cream rails and a little red flag. To take a shot, drag anywhere on the course and pull back like a putter. A line of dots shows where the ball will go at first, including off the rails and down slopes. Let go and it rolls.

You start on the classic courses. Meadow teaches one idea per hole, Lakeside mixes them up and ends at the windmill, and Village Green is a little harder. The theme courses come after that, and each one sticks to one idea, like every hole on ice, lava that carries the ball, or gravity that flips halfway through a hole.

Par earns a bronze medal, under par earns silver, and a hole in one earns gold. The Daily Three gives everyone the same three holes each day, and you get one try. A ghost ball replays your best run on each hole so you can race it. Each person in the family can have their own player, with their own medals and streak.

Version 1.0 has 72 holes on eight courses. Version 1.1 doubles that to 144 holes on sixteen courses and adds iPad.

Greens hole 18 from above: a red windmill turning across the fairway, with aiming dots leading up from the ball
Lakeside finishes at the windmill
Greens Inferno course: the ball crossing a glowing lava flow on a green hole set in dark rock
Inferno: the lava carries the ball
Greens Space Station course: the ball coming out of a wormhole near the cup on a purple hole
Space Station: in one wormhole, out the other

What's new in 1.1

Version 1.1 is in App Store review. It adds eight new courses and 72 new holes:

Also new:

Why I built it

Mini golf is a game almost everyone already knows how to play, so there's nothing to explain.

A lot of golf games on the App Store are full of ads between holes, coins, energy meters and in-game stores. I wanted a simple one: a calm course and a good putt. You pay once, and that's it.

How I built it

Greens is a native SwiftUI app, built with Claude Code. From the first commit to App Store approval took about a week.

The physics engine is built from scratch, and the same putt always rolls the same way. That's how the ghost ball works: the game only saves your aim and power for each shot, not the whole path.

Every hole is designed in code. A solver plays each one thousands of times to set a fair par and check whether an ace is possible. Most holes can be aced. A few can't, as far as the solver can tell, and I'm not saying which ones.

← All posts