# 2021-10-11 - Sports Hands ###### tags: `work` `comcast` `farside` ## Background * [x] what products did Legacy serve * [x] what products was Farside intended to serve * [x] what products does Farside serve ## Consumers ### Distribution | | current | in development | on the horizon | |:------------------------------ |:-------:|:--------------:|:--------------:| | DVR Auto-Extend | **X** | | | | ISEP | | **X** | | | Merlin (`entityDS`) | **X** | | | | Merlin (`linearDS`) | **X** | | | | Peacock Sports Exp | | **X** | **X** | | Sidekick | **X** | | **X** | | Sky Mobile* | | | **X** | | Sky Q | **X** | **X** | **X** | | Sky Sports Exp | **X** | **X** | **X** | | Sky Sports Hub Max | **X** | **X** | **X** | | Sports App (~temporary) | **X** | | | | Sports Voice ([sunsetting][1]) | **X** | | | | Watch With ("Sport Radar") | | | **X** | > (*) actual funcationality TBD ### Data Use Cases | | Static | Semi-Live | Live | | Pull | Push | |:-------------------- |:------:|:---------:|:-----:| --- |:-----:|:-----:| | DVR Auto-Extend | | **X** | | | | **X** | | ISEP | | **X** | | | **X** | **X** | | Merlin (`entityDS`) | **X** | | | | | **X** | | Merlin (`linearDS`) | **X** | **X** | | | | **X** | | Peacock Sports Exp | | | **X** | | | **X** | | Sidekick | **X** | **X** | | | **X** | | | Sky Mobile* | | **X** | **X** | | **X** | **X** | | Sky Q | **X** | **X** | | | **X** | | | Sky Sports Exp | | | **X** | | | **X** | | Sky Sports Hub Max | | | **X** | | | **X** | | Sports App | **X** | **X** | | | **X** | **X** | | Sports Voice | **X** | **X** | | | **X** | | | Watch With | | | **X** | | | **X** | > **Static** (pull) - schedules, rosters, pre-game stats, post-game stats > **Semi-Live** (pull, push) - scores, statuses > **Live** (pull, push) - live game stats, plays, lineups > (*) actual funcationality TBD ## Projects & Technology * [ ] is our team expertise being properly leveraged * [ ] maintenance load * [ ] onboarding load * [ ] scalability ### Neo4j * [ ] why did we choose this? * [ ] is it delivering on our expectations? * [ ] drawbacks? * [ ] accumulated expertise ### GraphQL * [ ] why did we choose this? * [ ] is it delivering on our expectations? * [ ] drawbacks? * [ ] accumulated expertise ### Room for Improvement (aka _Matt's Complaints_) #### `farside-api` * [ ] caching? hardly :shrug: - re: team expertise * [ ] resolvers... * [ ] why don't we use them? * [ ] where can we use them? * [ ] `listingsConnection` and `programsConnection`... * [ ] why do we own these? * [ ] why do we source these from our db #### `graph-parser` / `graph-types-cypher` * [ ] incoming data is built and validated at push time, which makes sense; this data can be unreliabile from push to push * [ ] outgoing cypher statements are built and validated at push time, which doesn't make sense; they don't change from push to push #### `clara` * [ ] potentially too many inputs - keeping `Program`'s and `Listing`'s up to date at the hourly (for events X hours out) or daily (for events Y hours out) scale is possibly sufficient and might end up being more easily triaged * [ ] who owns `Program`'s and `Listing`'s? why do we write them to our database? [1]: https://etwiki.sys.comcast.net/pages/viewpage.action?spaceKey=VI&title=*WIP*+Insights+Sunset+Plan+v1