By Steve Croll

How Fantasy Shipped LIV Golf in 72 Days

A live broadcast doesn't wait

THE SHORT VERSION

Fantasy built and shipped LIV Golf's mobile app in 72 business days, then its website, by running AI through every layer of the build while keeping human review on every change.

A live broadcast doesn't wait

When a LIV Golf event goes live, the app has to keep pace with a broadcast watched around the world. A score changes the instant a putt drops, and the app has to change with it, in sync across television, streaming, and the web.

We built and shipped the mobile app that does that in 72 business days, from the first day of the engagement to the App Store, in time for the league's first event of the season at the end of January 2026.

In the week the mobile app shipped to the store, a team of five merged 88 pull requests, every one of them reviewed first. Months later, when the LIV Golf website launched, a team the same size merged 102 in its final week. Teams that size do not usually move that fast, and they almost never maintain their quality while doing so.

What made the difference was treating AI as core infrastructure across the whole project, augmenting the team at every phase rather than in a single part of it.

AI at every level

When people hear that an agency used AI to build something, they usually imagine one moment. A designer hands over a mockup, and AI turns it into working code. That happened on LIV Golf, too, but it was just a small piece of the job. Focusing on the Design-to-code process is important (and an evolving topic that we will return to in the future), but we feel this story is broader and deeper.

We used AI at every level of the engineering work, from gathering requirements and shaping the technical architecture to the code itself. We built the designs so that AI could turn them into code, and we checked the interface automatically, with generated tests, as it came together.

We used a method I'll explain in a minute to build everything underneath the app too: the service that feeds it live scoring, the system the client's staff use to publish during an event, the personalized feed every user sees, and the cloud infrastructure that keeps all of it running during a global broadcast. We've gotten better at this on every project, and LIV Golf is where it came together.

This is not vibe coding

Clients ask us about one thing more than anything else, so let me deal with it up front. This is not vibe coding.

Vibe coding is when you let an AI improvise a solution and take whatever it gives you, which means the result is unpredictable and usually overbuilt, inconsistent, and light on security. 

We do the opposite.

We're on the hook for a system that behaves and looks exactly the way we designed it and that holds up to enterprise standards for security and architecture. How we keep that control while still moving fast is the rest of the story.

Comparison of vibe coding producing inconsistent components versus a structured spec producing a coherent design system.

First, we had to learn to trust it

What the LIV Golf build actually required

AI SHOWED UP AT EVERY LAYER

AI wasn't confined to one corner of the project. It showed up in every layer of the stack, so let me walk through them.

Thinking, before we built anything

Turning designs into code

This is the part people picture, and we built a careful pipeline for it. Designers worked in Figma, with their files structured so a machine could read them cleanly. From that structured design, AI built each piece as a small, self-contained component, working up from the smallest building blocks to larger assemblies.

We reviewed every component on its own in Storybook, checking it for accessibility and visual accuracy before it went anywhere near the app. That gave us an experience assembled from high-quality parts that matched the designs exactly.

Building the content system

A live golf product needs the client's own staff to publish stories, scores, and updates while an event is underway. We turned the requirements from our design, UX, and business teams into specifications, then used AI to build both the underlying content system and the dashboard the staff would run it from.

Architecture diagram of a GraphQL gateway on Apollo and Fastify with a Redis cache, taking scoring, statistics, and real-time feeds and serving mobile and web over HTTP and React Query, with server-sent events for live updates.

Building the live data layer

Building the personalized feed

Building the cloud infrastructure

Why we still trusted the result

There is a fair worry about AI-written code

Which is that it produces more of everything, defects included, and that the extra volume just shoves the problem downstream into review.

Our process is built to prevent that.

The specification constrains what the AI can produce before it produces it, so there's less to catch later, and the layered review catches what is left. The bugs people associate with AI code tend to come from letting it improvise with neither a specification in front of it nor a real review behind it. We did neither.

Bar chart of pull requests merged during launch week by the web and mobile teams, each a team of five.

What this let the team do

Those weeks were peaks, not the whole story

Across the mobile build the team merged about 700 reviewed pull requests, holding a steady week-after-week pace long after the app went live.

The website added roughly 480 more. That's close to 1,200 reviewed, merged changes across the two builds, and the pace held for months rather than spiking for a single week before a deadline.

Comparison of a large-org model with many communication paths delivering 70% of scope versus a senior team with an AI system layer, fewer paths, delivering 100%.

The obvious question

For years our conversations with clients have started with what they would have to give up. This one started with how much we could actually do.

The people mattered as much as the tools

We staffed senior. Plenty of agencies lean on junior talent, and junior people are the most likely to produce AI slop and the least able to tell it apart from good work. Experienced engineers catch it.

Our leads also stayed hands-on instead of hovering above the work, writing critical parts of the product, reviewing code, and merging changes themselves.

Diagram of the codebase as a shared brain of code, architecture, patterns, documentation, and rules that engineers pull the latest code and thinking from.

Manageable scale came down to one idea

Cycle diagram of continuous learning: a lesson is written, the system improves, the team builds faster, and the gain carries into the next project.

The ground kept moving while we built

So what does all of this add up to?

 AI ran through the entire project, from the screen down to the infrastructure, and the result was a large, complicated product built faster and to a higher standard than the old way would have allowed.

What happens next is that these techniques stop being special. Spec-driven development, the thing we leaned on hardest, is already on its way to being something everyone does. The frontier models can now do much of what our hand-built process did a year ago, and the gap keeps closing.

So the edge can't be the technique itself. It has to be the ability to improve the technique faster than anyone else, to treat our own process as something we research and rebuild constantly and feed straight back into live client work.

LIV Golf is where we got good at that, and we're still getting better.

It's changed how we describe ourselves, too

Ready to build what's next?

In the meantime, if you're ready to build or scale your system for the next era, our team are ready to help.

Let's talk. We'd love
to hear from you.


© 2026 Fantasy