Posted 9 years ago by Alex King
Virtual Sports Reporter
FantasyGrinder processes the game data from fantasy sports matchups and creates post-game wrap-ups based on the most interesting details of the game. Did the manager start the wrong quarterback and it cost his team the game? Did the opposing manager forget to swap out a running back that was on a bye week? FantasyGrinder wrap-ups can cover all aspects of a game.
To be able to process millions of fantasy games overnight, we designed and created a system with twelve unique and independent web services that can scale up and down on demand in the cloud. The discrete systems allow us to avoid major bottlenecks associated with sequential processing and I/O issues.
The entire system is in the cloud and can be spun up when needed and shut down the rest of the time to save money. Not only does it provide on-demand scalability, but significant cost savings as well.
As each week's games are processed, valuable data is generated within the system itself. Are certain events and clauses being used too often? Are there real game events not being exposed enough in the virtual game articles? By reporting on the overall system usage we can identify these issues and then take the appropriate steps to correct them. We can even do a test run of the previous week's data to see how the changes will take effect.
Built on Oxygen
Our Oxygen Framework gave us a great head start on the development of FantasyGrinder. The foundation of an advanced, modern web application is already built-in to Oxygen; allowing us to focus on building the features that add value to FantasyGrinder.
Advanced Rule Engine
The requirements for the FantasyGrinder rule definition system are impressive, even daunting. We took these and distilled them into different rule types, with defined sets of parameters that would allow the definition of the rich rules required for the FantasyGrinder game stories. Then we created an elegant user interface to allow the easy definition and maintenance of these rules.
Rich Clause Authoring
No two write-ups should sound the same. The rule engine allows us to weight the events that are talked about in the weekly match-up, but it's the clause system that gives FantasyGrinder its friendly voice. You can create as many virtual fantasy reporters as you like, each with their own distinct personality, catch-phrases, etc. FantasyGrinder keeps track of which voices and clauses have been used with each team so that each week their write-up is fresh and different.
Sophisticated Token Replacement
The weekly reports are comprised of easy-slowing natural language content, interspersed with data pulled from the game matchups. This includes the fantasy team's name and manager's name, individual players names (first and/or last names), NFL team name and points and events from the week's game along with advanced pluralization features. The result? You can create things like this:
“Despite coach Gary's wisdom in starting Donovan McNabb at Quarterback, who had 28 points on the day, FairCatch just couldn't grind out the win. Running Back is a valuable spot, and teams just can't afford to have showings like the one Matt Forte turned in. 0 yards rushing and no touchdowns from a Running Back won't make too many managers happy.”