Back to blog

MVP's architecture

Mays Copeland

Mays Copeland

One of my longest struggles with an in-season tool has been figuring out the right architecture that lets you integrate with various league platforms. Everything has tradeoffs, but I've finally settled on a direction.

My final shortlist had two technologies. I started building on one a few weeks ago, then ended up switching to the other.

Server-side proxy

My first approach was to have server-side code that would make GET/POST requests to the league platform that looked like they came from the user. When you wanted to see your roster on MVP, the MVP server would send a request to ESPN (or wherever), get back the roster data, and then enrich and reformat it for the user.

If the user made a move on MVP, the MVP server would send a request to ESPN that looked like it was the user making the move on the ESPN website.

The beauty of this is that it would work from a browser on any device—desktop or mobile.

Well, there was one catch. To make those requests, the MVP server would need your credentials, usually tucked away in a cookie on your browser. So it would need a lightweight Chrome extension that could read those cookies and pass them along to the MVP server. Once you had extracted the cookies with the Chrome extension on a desktop computer, you'd be able to go the MVP site to make your moves on any device.

A secondary concern was what might happen if the league sites noticed an abnormally large number of requests all coming from the MVP server. Would they block it?

Full Chrome extension

After a little bit of building on option #1, I started thinking more intensely about option #2. What if we just did everything from the Chrome extension?

We could piggyback on the requests a user made to the league sites, so we didn't need any authentication data or permissions. The requests would be coming from the user's browser, just like they always had, so that concern goes away.

The big problem is mobile: Chrome extensions are essentially desktop-only. I'm old enough that I like setting my teams from a computer, but I recognize that most people prefer their phones. Going this direction shuts that door.

Here's how I came to terms with it:

Stop guessing. Start winning.

MVP gives you clear, projection-driven answers to your toughest in-season fantasy decisions.

Get MVP