Blog

Why I Built SimCap

Real golf has GHIN. Simulator golf had nothing.

I got laid off from my job in March 2026. I'd spent the better part of a decade in ad tech and performance marketing, building systems that matched buyers to sellers at scale. Good work, but not mine.

Around the same time I was spending more and more time at Fescue Golf Club in LA, playing simulator golf. I loved it. But I wanted to track my indoor game the same way I tracked my outdoor game. A real handicap. A portable index I could take from bay to bay, facility to facility. Something that told me if I was actually getting better. That app didn't exist.

GHIN exists for real golf. Nothing existed for sim golf. That was the gap.

So I built SimCap.

I had never written a line of code in my life.

I started in April 2026 using Cursor, an AI coding tool, and basically willed the app into existence through a combination of obsession, free time, and a willingness to ask dumb questions in a terminal window. I called it vibe coding. Write what you want in plain English, let the AI figure out the syntax, debug when it breaks, repeat.

By June, SimCap was live on the App Store. By July, it was on Android too. We have tournament options such as Stroke Play, Scramble, Best Ball and Match Play. We have a WHS-style handicap formula tuned for simulator conditions. We have GS Pro scorecard scanning. We have 68 courses in the library including Shinnecock, Winged Foot, and LACC.

I built this in three months with no engineering background, no co-founder, and no funding. Just a problem I cared about and enough stubbornness to figure it out.

This blog is where I'll document what comes next. The product decisions, the facility outreach, the wins, the mistakes, and the slow build of something that I think could become the standard for competitive simulator golf.

If you play sim golf and you want a real handicap, download SimCap. If you run a simulator facility and want to give your members something to compete for, reach out.

We're just getting started.

Graham

← All posts