{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/cwB96pn3zAtPSNar4dbu/h6lsBauhBxOeS1TYyHls/Xvwx2uXqY.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{addPropertyControls as a,ControlType as r,Link as i}from\"framer\";import*as s from\"react\";let n=\"AQruJ81ec\",o=\"mM_dj0q38\",h=\"Dt41ZxDBf\",l=\"vHuBmCkAp\",c=\"qDoSVnUH7\",d=\"APEKfNpes\",m=\"zuHw0jcoY\",g=\"i_fjwASoZ\",p=\"rY14dzeUI\",u=\"Gjg2cBecL\",f=\"bXBeh9jSk\",w=\"ybnJNEehc\",b=\"ZBikPLSfD\",v=\"COuUkmV45\",y=\"zUjyuX5Ug\",k=\"UW6EICBpl\",I=\"SkD4IeY6J\",N=\"AiE3d8Dy5\",T=\"pAf987Jwq\",j=\"Y0kd44JP8\",q=\"fdLzVmUOf\",S=\"XVw4uL7Lg\",x=\"yQIwH1Eb2\",A=\"aoOH1c73w\",B=(e,t)=>{if(e&&\"object\"==typeof e)return{...e,alt:t};},F=[{id:\"IcHRoGTmG\",[n]:\"Creator Chat & Events\",[o]:\"chat-and-events\",[h]:B({src:\"https://framerusercontent.com/images/cyForegbWttPapi1P1SsPtAbU6Q.png\"},\"\"),[l]:\"Twitch\",[c]:\"1\",[d]:\"Simplifying tool management for streamers when live\",[m]:\"Lead Designer   |\",[g]:\"https://help.twitch.tv/s/article/creator-chat-and-events?language=en_US\",[p]:B({src:\"https://framerusercontent.com/images/VYDu12TCmLm0F2lRJ5rQTpiPdIE.png?scale-down-to=4096\"},\"\"),[u]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Creator Chat & Events is a portable panel designed for Twitch Creators that combines their view of chat and an activity feed into one, helping them not miss information important to them.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"Below you will find a summary on how I designed this chat & events panel by leveraging research along with strong collaboration with my engineering partners.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"For a deeper dive please feel free to schedule some time for a portfolio review/chat - \",/*#__PURE__*/e(i,{href:{webPageId:\"WWjgWOxKm\"},openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Schedule\"})})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"video\",{autoPlay:!0,className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,JqftCgB6F1kXp0dhuc6tXGQblM.mp4\",loop:!0,muted:!0,playsInline:!0,src:\"https://framerusercontent.com/assets/JqftCgB6F1kXp0dhuc6tXGQblM.mp4\"})]}),[f]:B({src:\"https://framerusercontent.com/images/vwfPl1vLRgm2AVdGTjbdigwCRo.png\"},\"\"),[w]:B({src:\"https://framerusercontent.com/images/0rcFUmA8GSTR2suMf2tKpmzxPo.png\"},\"\"),[b]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Customer Problem\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"One of the top priorities of Twitch creators is to engage and grow their audience. However, with the current tooling provided by Twitch we run into a few problems. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Creator Attention\"}),/*#__PURE__*/e(\"br\",{}),\"Creators are using chat alongside multiple activity feeds to keep track of events happening within their community, as no single tool provides them with everything they need. They need to use Twitch feeds for events around rewards but a third party feed for donations. This adds to an already long list of things they need to pay attention to when live.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Persistent Event Management\"}),/*#__PURE__*/e(\"br\",{}),\"Ongoing and upcoming events (polls, predictions, ad breaks, promotions etc.) are visible and managed mainly through chat or as stand-alone modules within the stream manager. Chat is one of the most important tools for creators as that is what they use to mainly communicate with their community. Covering it up with events takes up valuable real estate and they have expressed a desire to move this management somewhere else in user research studies. There are also no visible management controls for the creator when they show up within chat.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Lack of Feature Visibility\"}),/*#__PURE__*/e(\"br\",{}),\"Creators miss out on new features built into our native tools and the value that they provide. A lot of new features that are added as stand-alone panels don't see a lot of adoption. This is due to these panels needing to take up valuable screen real estate while only being relevant contextually.  This leads to teams forcing features into chat causing it to be too busy and missed within it as well.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Why a Combined View?\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Survey Research\"}),/*#__PURE__*/e(\"br\",{}),\"In a recent survey, Creators expressed that they need to use multiple 1P and 3P tools to track chat and events while streaming and that they would prefer a complete solution.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Live Site Experiments - \"}),/*#__PURE__*/e(i,{href:{pathVariables:{mM_dj0q38:\"chat-highlights\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"F1xl72woV\"}},webPageId:\"ZYZCItuvo\"},openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Chat Highlights\"})})}),/*#__PURE__*/e(\"br\",{}),\"Experiments with the chat highlights system proved that an improved creator-differentiated chat experience could improve the outcomes for streamers.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Concept Study\"}),/*#__PURE__*/e(\"br\",{}),\"I ran a user research session to test concepts with a combined chat and activity feed in something we called the engagement dashboard. This dashboard was very well received by our participants and them wanting a complete solution was echoed here as well. Also, this study led to teams building other features like a follow reminder. Below are some of the concepts that we explored in this study.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,vbbbrtva941OQgBTuDuzmLy8Q.png\",\"data-framer-height\":\"1434\",\"data-framer-width\":\"2722\",height:\"717\",src:\"https://framerusercontent.com/images/vbbbrtva941OQgBTuDuzmLy8Q.png\",style:{aspectRatio:\"2722 / 1434\"},width:\"1361\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Live Prototype Study\"}),/*#__PURE__*/e(\"br\",{}),\"As this would be a a significant change to our creator tooling, we wanted to make sure that the combined feeds was the right path to go down. To this end, in partnership with research and engineering we ran a live prototype study with 20 creators. The prototype study was a success with >70% satisfaction rate. Creators really liked that the feeds were combined and some of them continued using the prototype even after the study concluded.\"]})]}),[v]:B({src:\"https://framerusercontent.com/images/kWxR5XXxwjAeZD4rCWouDylYG4o.png\"},\"\"),[y]:B({src:\"https://framerusercontent.com/images/yJxmLCbIoYv3kX2zeRsDANJmKgU.png\"},\"\"),[k]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Initial Plan\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"With all the data we had gathered through our studies and surveys, I presented our initial plan to move forward to design leadership. The initial plan was to launch a combined feed that was portable and built to have flexible surfaces. There would be some design clean up to the panel but it would largely resemble the one shared during the live prototype study. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,1oyJG4s7VuaZ52AdLeVv10chZQ.png\",\"data-framer-height\":\"1088\",\"data-framer-width\":\"2722\",height:\"544\",src:\"https://framerusercontent.com/images/1oyJG4s7VuaZ52AdLeVv10chZQ.png\",style:{aspectRatio:\"2722 / 1088\"},width:\"1361\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"However, we hit a few roadblocks here with design leadership. The big one was that we needed to be careful when building another surface for creators to look at. If we felt this was going to be the thing to use, we should build it to eventually replace chat. So far our combined view was a double column design. For us to replace chat we would have to create a single column version as well. With that in mind we decided to to address the design feedback and look into rolling out the product in phases.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"strong\",{children:[\"New Rollout Plan\",/*#__PURE__*/e(\"br\",{}),\"Alpha - \"]}),\"This would address the design feedback for the combined double column view and we would use it to gather feedback from 60ish creators.\",/*#__PURE__*/t(\"strong\",{children:[/*#__PURE__*/e(\"br\",{}),\"Beta - I\"]}),\"f we received a satisfaction rating of >70%, we would release the double column view to 20% of our creators. In this phase is when would add flexible spaces to help with management and important notifications.\",/*#__PURE__*/t(\"strong\",{children:[/*#__PURE__*/e(\"br\",{}),\"Launch - \"]}),\"If we saw a >70% retention rate, we would release the double column view to all creators with a 'beta' tag. Once launched, we would work to flesh out the single column designs to eventually replace chat with the new panel.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Alpha\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The alpha designs went through a few rounds of iteration. They culminated in a usability study that I ran with creators to make sure that the changes we were proposing made sense to them. Below are summaries showing the updates that were made over the older designs and how our study participants reacted to them. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Combined View\"}),/*#__PURE__*/e(\"br\",{}),\"The essence of this feature is the combining chat and activity feed (events) into one view. For the prototype study, we did not make any changes to the chat side of the column. We updated the events side to use a more modern card design as we heard that creators preferred the more visual style 3p apps used for event feeds. The issue with the prototype study design was twofold. The first is that your events show up in chat as well as a user notice. In the image below that is the kappakares subscribed message. However, this was starting to feel duplicative as this information is showing up in the events feed right next it. The other issue is that chat scrolls in from the bottom and the events feed scrolls in from the top. This meant that creators would have to shift their focus to pay attention within the same panel.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Taking out the user notice from chat would have been the easiest way to solve the duplicative issue. However, from research I knew that creators still wanted to see information about an event show up within chat to help them create a timeline. As such I ended up creating a minimized event within chat with a marker to create the sense of a timeline. For the scrolling in issue, I decided to make the event feed match chat and scroll in from the bottom. That way a new message, new minimized event and event card came in from the same direction. I chose the direction of chat as the default because that is what creators are looking at the most and it is also a lot more active than an events feed. I did eventually add a way for creators to flip the order if they wanted to in the future.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Usability Study Notes\"}),/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"br\",{}),\"- \"]}),\"Creators really liked the new scrolling direction.\",/*#__PURE__*/e(\"br\",{}),\"- Creators liked the minimized events in chat and did not miss seeing additional information within chat.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,cT6ESXZbNVIdOuKHyo4gr2dF3XE.png\",\"data-framer-height\":\"1978\",\"data-framer-width\":\"2722\",height:\"989\",src:\"https://framerusercontent.com/images/cT6ESXZbNVIdOuKHyo4gr2dF3XE.png\",style:{aspectRatio:\"2722 / 1978\"},width:\"1361\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Quick Views\"}),/*#__PURE__*/e(\"br\",{}),\"The quick view section (top section with the pills & icons) in the old prototype study designs took up too much vertical space, were not clear enough in what they did & were too colorful. For the updated designs, I took inspiration from the a lot of other websites handle filtering. I reduced them all to one line and changed the first pill to say 'All' to help creators understand the function of the pills. I also worked with engineering to make sure that creators could sort these pills in the order they wanted, either through a dropdown or by dragging it in place. \"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Clicking on a quick view pill within the chat section would open up a panel with messages from that viewer type in the events feed section. The events feed would scale down to a minimum size that would always at least show the last 2-3 events. I moved it over to this section as having a chat feed that is not covered is very important to our creators. Clicking on a quick view within the events section would show only events of that type. The bottom would change to always show the creator their most recent event.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Usability Study Notes\"}),/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"br\",{}),\"- \"]}),\"Creators clearly understood what the quick view section would do for them.\",/*#__PURE__*/e(\"br\",{}),\"- The filter menu that contained the sorting and toggles made sense to the creators.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,5FOX1t18pOq8NJNkSSyqSRT8HcA.png\",\"data-framer-height\":\"1978\",\"data-framer-width\":\"2722\",height:\"989\",src:\"https://framerusercontent.com/images/5FOX1t18pOq8NJNkSSyqSRT8HcA.png\",style:{aspectRatio:\"2722 / 1978\"},width:\"1361\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Discoverability\"}),/*#__PURE__*/e(\"br\",{}),\"With a single column taking over existing chat we would not have to worry about creators discovering this panel. However, we needed a way for them to discover this for the time being as single column was not coming until post launch. To accomplish this, we surfaced upgrade modals to our creators. Within Twitch's stream manager we could easily guide creators to a template switcher and control the sizes for them. However, within 3p apps they would need to change the size of their panel as this new panel would replace their chat and chat is skinnier than a double column. Most creators would see this before they were about to start streaming and I added a way for them to quickly revert the changes in case they did not want to deal with it then. After that they could upgrade whenever they wanted through chat settings.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"Usability Study Notes\"}),/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"br\",{})}),\"- Creators did not find this disruptive to existing setups.\",/*#__PURE__*/e(\"br\",{}),\"- They appreciated the ability to upgrade later and to revert changes.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,mY8mBMQN7qaMzTBjmT5XEev74U.png\",\"data-framer-height\":\"1550\",\"data-framer-width\":\"2722\",height:\"775\",src:\"https://framerusercontent.com/images/mY8mBMQN7qaMzTBjmT5XEev74U.png\",style:{aspectRatio:\"2722 / 1550\"},width:\"1361\"})]}),[I]:B({src:\"https://framerusercontent.com/images/DOv4Fu9NSKj6ftqSBt0yD2q3sI.png\"},\"\"),[N]:B(void 0,\"\"),[T]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Beta\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"With the Alpha being an overwhelming success (>70% satisfaction rate and positive feedback), we decided to move forward with the beta release. For the beta we wanted to add in the ability to notify creators about contextually important things and to manage things like polls/predictions etc from the panel itself.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"strong\",{children:[\"Live Events Space\",/*#__PURE__*/e(\"br\",{})]}),\"The live events space would be a collapsible space that would only show up when needed. It needed to house all live Twitch events. As such, I created a template structure that would work for all them. I also added in the ability to manage the event so that creators did not have to go to another surface.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/t(\"strong\",{children:[\"High Priority Moment Space\",/*#__PURE__*/e(\"br\",{})]}),\"Anything that would require a creator to take action on would show up in the high priority moment space. As this is the highest priority for them, I designed this space to show up at the top and take over the whole width of the panel to grab their attention. This event would also have controls to help the creator manage it from within the panel itself.\"]})]}),[j]:B({src:\"https://framerusercontent.com/images/Ns4Xu3nMfFZH79XbhSDCTRKS8.png\"},\"\"),[q]:B({src:\"https://framerusercontent.com/images/NSHS4HGpcg6zFXdM6AtqF1ig.png\"},\"\"),[S]:B({src:\"https://framerusercontent.com/images/B1KlZi2yduc72dLN9rvB8qnk.png\"},\"\"),[x]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"The results from the Beta were very promising. The 1-7 day retention rate was at 93%. This showed that people who actually used the product found it to be very useful in their setup. We also sent out a couple of surveys during the beta period and had a very high satisfaction rating.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"With those results, we are planning on launching the double column in beta form to all Twitch creators. Before it goes out, we are planning on adding in a way for creators to manage their rewards redemption from within the panel itself. In the past, creators would have to open a panel dedicated just to managing these redemptions. We also have other teams utilizing the high priority moments and active events spaces.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"After the beta is fully rolled out, the plan is to work on a single column view of chat & events & address any feedback received from our creators. With this being completed we can replace the existing view of chat on the creator side with the new and improved panel.\"})]}),[A]:{pathVariables:{mM_dj0q38:\"creator-home\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"jef1FfgIl\"}},webPageId:\"ZYZCItuvo\"}},{id:\"jef1FfgIl\",[n]:\"Creator Home\",[o]:\"creator-home\",[h]:B({src:\"https://framerusercontent.com/images/p4FoEz30MKq1LGNJ30U66r2GQqI.png\",srcSet:\"https://framerusercontent.com/images/p4FoEz30MKq1LGNJ30U66r2GQqI.png?scale-down-to=512 512w, https://framerusercontent.com/images/p4FoEz30MKq1LGNJ30U66r2GQqI.png 1020w\"},\"\"),[l]:\"Twitch\",[c]:\"2\",[d]:\"Unifying the home experience for streamers\",[m]:\"Lead Designer\",[p]:B({src:\"https://framerusercontent.com/images/C3qMON15NfFGJ2G2uZ9nULYtm8.png\"},\"\"),[u]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Creator Home is the first page that Twitch Creators land on when they visit their dashboard. It is their hub to get the latest news on features, insights into their community and high level analytics. \",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"Below you will find a summary on how I unified multiple disjointed experiences into one while fixing theme, accessibility and consistency issues. \"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"For a deeper dive please feel free to schedule some time for a portfolio review/chat - \",/*#__PURE__*/e(i,{href:{webPageId:\"WWjgWOxKm\"},openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Schedule\"})})})]})]}),[f]:B({src:\"https://framerusercontent.com/images/M5nvLbhgwLY4YfkkN4vR3AFXByo.png\"},\"\"),[w]:B({src:\"https://framerusercontent.com/images/ra123Tg1LSbKzoesp7jwJhMSFTM.png\"},\"\"),[b]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Customer Problem\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"With four separate experiences on web that are defined by creator segments, the page changes can dramatic and jarring when creators move between segments.\",/*#__PURE__*/e(\"br\",{}),\"- \",/*#__PURE__*/e(\"em\",{children:\"For example, 49% of pre-affiliates set their stream schedule via a home panel, but this panel disappears when they graduate to Affiliate.\"})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Benefits\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"The benefits for the unification of these experiences was twofold. The first has to do for our creators. With a stable surface we can surface relevant content to our creators depending on their lifecycle. They can focus on recommended actions and insights instead of trying to understand changes to home.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"The second benefit was to our business. With just one experience we would be reducing our tech maintenance and debt. We would be able to ship new features across different creator segments without additional engineering work.\"]})]}),[v]:B({src:\"https://framerusercontent.com/images/CKtvkipJdqT2V3BZ4XQP8pwE4.png\"},\"\"),[y]:B({src:\"https://framerusercontent.com/images/QHjJqrbXrIMjFjaMTV3zIfHpWc.png\"},\"\"),[k]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Addressing Existing Issues\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"To unify our experiences in to one, we decided to use the Affiliate/Partner experience as the base as it had the most features, a lot of design thinking, it was built to be scalable and had the highest engagement.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,UvqDo7pCKu8F9NogZ8vxBCCo68.png\",\"data-framer-height\":\"1952\",\"data-framer-width\":\"2276\",height:\"976\",src:\"https://framerusercontent.com/images/UvqDo7pCKu8F9NogZ8vxBCCo68.png\",style:{aspectRatio:\"2276 / 1952\"},width:\"1138\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"However, this experience had a lot of issues that needed to be addressed. These had to do with:\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Theme\"}),/*#__PURE__*/e(\"br\",{}),\"Old home did not follow our design system theme hierarchy. It also used different logic for the light and dark themes. This caused for a jarring experience when a creator navigated away to a different page. This issue was addressed with the unification and now matches the rest of the dashboard. \"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,6c6bdvuoo15w9CzQ5XclPE2XE.png\",\"data-framer-height\":\"1138\",\"data-framer-width\":\"2920\",height:\"569\",src:\"https://framerusercontent.com/images/6c6bdvuoo15w9CzQ5XclPE2XE.png\",style:{aspectRatio:\"2920 / 1138\"},width:\"1460\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,R0LTmr0VoFeJU6Mbzsgea3VloM.png\",\"data-framer-height\":\"1968\",\"data-framer-width\":\"4112\",height:\"984\",src:\"https://framerusercontent.com/images/R0LTmr0VoFeJU6Mbzsgea3VloM.png?scale-down-to=4096\",style:{aspectRatio:\"4112 / 1968\"},width:\"2056\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,JVxH7Wj5waOsXuDY89hlO6fuXE.png\",\"data-framer-height\":\"1968\",\"data-framer-width\":\"4112\",height:\"984\",src:\"https://framerusercontent.com/images/JVxH7Wj5waOsXuDY89hlO6fuXE.png?scale-down-to=4096\",style:{aspectRatio:\"4112 / 1968\"},width:\"2056\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Consistency\"}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Spacing\"}),\" - Old home was using almost double the spacing compared to the rest of the dashboard. I brought this down to match the rest of the dashboard. This also allowed for more information be visible above the fold. I reduced the height of the purple container as we had heard that it felt like 'too much purple' when first landing on the page.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Corner Radius\"}),\" - The corner radius was matching our mobile UI, which made our cards much rounder than the rest of the dashboard. I reduced the corner radius back down to match the rest of the Twitch web experience.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Elevation\"}),\" - The elevations was closer to our mobile UI as well, which made our cards feel extra floaty. I ended up reducing the elevation to match the rest of our experience on web.\"]})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,yDKxcpwRntVo9GEBtnKOmEQ5IvI.png\",\"data-framer-height\":\"1912\",\"data-framer-width\":\"2920\",height:\"956\",src:\"https://framerusercontent.com/images/yDKxcpwRntVo9GEBtnKOmEQ5IvI.png\",style:{aspectRatio:\"2920 / 1912\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Accessibility\"}),/*#__PURE__*/e(\"br\",{}),\"Most of the colors used within old home were not accessible. These issues were prominent within the elements in the analytics highlights section. I did a pass of them to make sure we were reaching the right contrast ratios.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,S5xJta6cQe7KhDGNToJ2SHU0w.png\",\"data-framer-height\":\"1998\",\"data-framer-width\":\"2920\",height:\"999\",src:\"https://framerusercontent.com/images/S5xJta6cQe7KhDGNToJ2SHU0w.png\",style:{aspectRatio:\"2920 / 1998\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Other Improvements\"}),/*#__PURE__*/e(\"br\",{}),\"I slightly reworked the insights section at the bottom of the page to increase the separation between sections. In old home cards that were meant to be one were split into two, and there was no clear separation between subsections.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Ea58bSQQlNxfSz5CSQHRHLkzH4.png\",\"data-framer-height\":\"1998\",\"data-framer-width\":\"2920\",height:\"999\",src:\"https://framerusercontent.com/images/Ea58bSQQlNxfSz5CSQHRHLkzH4.png\",style:{aspectRatio:\"2920 / 1998\"},width:\"1460\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Feedback & Updates\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"I took the above changes to our internal design review held with design leadership. While most of the team were in agreement with the updates, there were some minor pieces of feedback that I needed to address.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Flattening & Contrast\"})}),/*#__PURE__*/t(\"p\",{children:[\"With the updates, the experience was starting to feel a little flat. While the hierarchy of the theme was now correct, there was a reduction in contrast between the cards and the background. To address this feedback, I decided to use a border on the cards instead of elevation. This drastically increased the contrast.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Color\"})}),/*#__PURE__*/e(\"p\",{children:\"While the colors were now accessible, they felt a little dull and had lost some of the brightness. I took another stab at the colors to bring back this 'joy' to them.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Purple Background\"})}),/*#__PURE__*/e(\"p\",{children:\"Making the purple box smaller made sense but it was no longer serving a purpose. In the older designs it served the purpose of being a container to the top section. I updated this to be a gradient so as not to have too much purple and back to being a container for the top section. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,b7N2kUW8BEdFrtKyhSWKWZEANw.png\",\"data-framer-height\":\"3400\",\"data-framer-width\":\"2920\",height:\"1700\",src:\"https://framerusercontent.com/images/b7N2kUW8BEdFrtKyhSWKWZEANw.png\",style:{aspectRatio:\"2920 / 3400\"},width:\"1460\"})]}),[I]:B({src:\"https://framerusercontent.com/images/gwMON41smP4XVKXMLo2e2VZfoo.png\"},\"\"),[N]:B({src:\"https://framerusercontent.com/images/FT7hcvvvNIqnhwWB9UAPfTyi88.png\"},\"\"),[T]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Unifying Experiences\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"After addressing all the existing issues, I could move forward with unifying four experiences into one. \",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"For the Pre-Affiliate experience I had to bring in their goals progress (Path to Affiliate) and features exclusive to them. \"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,il2B5xZ11NJha6Iudeq2jmjvY.png\",\"data-framer-height\":\"992\",\"data-framer-width\":\"2722\",height:\"496\",src:\"https://framerusercontent.com/images/il2B5xZ11NJha6Iudeq2jmjvY.png\",style:{aspectRatio:\"2722 / 992\"},width:\"1361\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The features were easy to bring in as I could add them to the features for you section as cards. For their goal progress, I decided to move it to the analytics highlights section instead of squeezing it into the top section. I did this to help get creators used to looking at this section for helpful actionable insights as they keep growing.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,kLf0SDqreqhcJgvhNuEoUERUk.png\",\"data-framer-height\":\"886\",\"data-framer-width\":\"2276\",height:\"443\",src:\"https://framerusercontent.com/images/kLf0SDqreqhcJgvhNuEoUERUk.png\",style:{aspectRatio:\"2276 / 886\"},width:\"1138\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"The Prospect experience fit in quite easily into the new experience. It gives our creators a glimpse into how this page might grow but also helping them get started with streaming.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,CiWnhenl5lq3tYelYsJM9RFY.png\",\"data-framer-height\":\"818\",\"data-framer-width\":\"2276\",height:\"409\",src:\"https://framerusercontent.com/images/CiWnhenl5lq3tYelYsJM9RFY.png\",style:{aspectRatio:\"2276 / 818\"},width:\"1138\"}),/*#__PURE__*/e(\"h1\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Mobile Tweaks\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Our mobile app did not suffer from having multiple experiences. However, with consistency being a major influence for this work I needed to update the colors within the mobile app to match the updates on web and address any accessibility concerns. In particular, I had to update the impact cards and the goal progress cards. Having a mobile app with the same styling creates a more holistic experience for Twitch creators.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,qMpwBM7vHR3bPgKUFGJKmlI5Hc.png\",\"data-framer-height\":\"1000\",\"data-framer-width\":\"2276\",height:\"500\",src:\"https://framerusercontent.com/images/qMpwBM7vHR3bPgKUFGJKmlI5Hc.png\",style:{aspectRatio:\"2276 / 1000\"},width:\"1138\"})]}),[j]:B({src:\"https://framerusercontent.com/images/hXyAP4pRJ0D5lo7V0k5X9wp78.png\"},\"\"),[q]:B({src:\"https://framerusercontent.com/images/yiQ2L95m4bxeRBi8PXvA5qwsM.png\"},\"\"),[S]:B({src:\"https://framerusercontent.com/images/NThu9pPglQ2ZqoG4agVuvYMxm6E.png\"},\"\"),[x]:/*#__PURE__*/e(s.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"The unification of our experiences into one has allowed for the engineering team to ship features out to home quicker than before. This unification also provides us with a solid base to improve the home experience for Twitch creators while being consistent and accessible. One of the big things that we want to improve is surfacing contextually important information to our creators on this page and tying that into features that will be useful to them.\"})}),[A]:{pathVariables:{mM_dj0q38:\"chat-highlights\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"F1xl72woV\"}},webPageId:\"ZYZCItuvo\"}},{id:\"F1xl72woV\",[n]:\"Chat Highlights\",[o]:\"chat-highlights\",[h]:B({src:\"https://framerusercontent.com/images/eL2gpN6IWBkU2D653GfTpMedeU.png\"},\"\"),[l]:\"Twitch\",[c]:\"3\",[d]:\"Helping streamers easily recognize chatters\",[m]:\"Lead Designer   -\",[g]:\"https://help.twitch.tv/s/article/chat-highlights?language=en_US\",[p]:B({src:\"https://framerusercontent.com/images/id06ts6D81l4QKNSpt6g4xEZA.png\"},\"\"),[u]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Personalized recognition helps Twitch viewers feel a stronger sense of belonging, which can drive higher engagement and more viewers coming back to a creators stream within the same week. Chat highlights make it easy to recognize different types of viewers at a glance so that creators can focus on creating more moments of connection with their viewers.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"Below you will find a summary on how I built a chat highlight system that is scalable to other internal teams and how it helps out Twitch creators.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"video\",{autoPlay:!0,className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,BWJ20eaiAgSi1rTVPqOTVjHrI.mp4\",loop:!0,muted:!0,playsInline:!0,src:\"https://framerusercontent.com/assets/BWJ20eaiAgSi1rTVPqOTVjHrI.mp4\"})]}),[f]:B({src:\"https://framerusercontent.com/images/9sXWUaTfZYVQz9vEY8goDS1o.png\"},\"\"),[w]:B({src:\"https://framerusercontent.com/images/fj9wXSaBmAetNp93VAudZuegKt8.png\"},\"\"),[b]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Customer Problem\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"As a community grows, understanding audience composition and remembering details about a specific community member or keeping track of who is new to the community becomes more difficult and increases a creator\u2019s cognitive load while streaming. Creators can use a few of the existing identifiers to isolate messages from sub-segments of their viewers i.e. badges and channel point redemptions. However, these are dependent on the viewer choosing to share this information. Creators can also use information present in the user profile card (follow age, moderation history etc.) - however this requires active interaction with chat usernames and is not tenable for creators as they stream and use chat as a read only surface.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Why Chat Highlights\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"The most popular concept during a study that I ran for the chat team focusing on tools to help creators manage, recognize and engage their community was the ability to highlight chat messages.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"In addition, I designed and launched an experiment to highlight the first message of a new chatter to a channel. The experiment showed improvement in the number of messages sent by a new chatter which we believe is due to increased welcoming behavior and recognition on the part of the creator. In a follow up survey over 90% of participants that responded indicated that they were interested in an expanded highlights service.\"]})]}),[v]:B({src:\"https://framerusercontent.com/images/wYs5UW46MXkK36pzoc8WUAg0XdA.png\"},\"\"),[y]:B({src:\"https://framerusercontent.com/images/fIK8G2WicgMY3ZlavRzDU6f5k.png\"},\"\"),[k]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Initial Thinking\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Expanding chat highlights from the existing first chatter highlight would require us to build a dedicated settings/management area for it. This would have to be built with scalability in mind. To get the ball rolling we decided to add subscribers, moderators and mentions to this chat highlight system. We reached this decision based on a survey where we asked creators what highlight options they would like to see.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Visual Design\"}),/*#__PURE__*/e(\"br\",{}),\"With first chatter highlight being so successful, I decided to make the new highlights match it visually. The highlight colors I chose to use for them matched the badge of the viewer or their color within our activity feed. There was one issue I wanted to address based on user feedback I had seen for first chatter highlight. This had to do with creators not knowing whether the message was highlighted for everyone or just them. \"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,I3BJNfkSagzgYyL8vr7rWAXOLao.png\",\"data-framer-height\":\"1438\",\"data-framer-width\":\"2920\",height:\"719\",src:\"https://framerusercontent.com/images/I3BJNfkSagzgYyL8vr7rWAXOLao.png\",style:{aspectRatio:\"2920 / 1438\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Minimized View\"}),/*#__PURE__*/e(\"br\",{}),\"With us adding more highlights, I had to make sure that we provided our creators with a minimized view. For our larger creators where chat moves pretty fast, the default size would take up too much space.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,NlZgez1w5WjrjVaOjKG9SyVZsA.png\",\"data-framer-height\":\"1340\",\"data-framer-width\":\"2920\",height:\"670\",src:\"https://framerusercontent.com/images/NlZgez1w5WjrjVaOjKG9SyVZsA.png\",style:{aspectRatio:\"2920 / 1340\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Dedicated Settings\"}),/*#__PURE__*/e(\"br\",{}),\"The settings for chat highlights will live within the main chat settings menu. This is where all chat settings live for Twitch users. However, clicking on it within the setting menu will open up a dedicated modal to manage multiple settings. I also provided the option to add a shortcut below the chat input to access these settings even quicker. Within settings creators will be able to toggle the highlights on or off, choose the size and understand the structure.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,JZMLOdxoddfyvmkJ0dBt56omOI.png\",\"data-framer-height\":\"1760\",\"data-framer-width\":\"2920\",height:\"880\",src:\"https://framerusercontent.com/images/JZMLOdxoddfyvmkJ0dBt56omOI.png\",style:{aspectRatio:\"2920 / 1760\"},width:\"1460\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Feedback & Updates\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"I took the above options to our internal design review held with design leadership. While everyone was excited that we were finally building a scalable chat highlights system, there were pieces of feedback that needed to be addressed before shipping this product.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Highlight Design\"}),/*#__PURE__*/e(\"br\",{}),\"The main feedback heard here is that this design is too similar to our public highlights that everyone can see. To tackle this feedback I worked with the core design team. After working through multiple options I ended up on a deign that uses a container. This container helps elevate the message and also with its closed design makes it feel more private, helping with the visibility issues. To further help with the visibility issues, I added icons in the top right that indicate who the message can be highlighted for. The minimized view that contained the pill was chosen to help with scanning quickly and accessibility. \"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Bw19knZvVTbn80MrLs2Qzkwj0jQ.png\",\"data-framer-height\":\"1798\",\"data-framer-width\":\"2920\",height:\"899\",src:\"https://framerusercontent.com/images/Bw19knZvVTbn80MrLs2Qzkwj0jQ.png\",style:{aspectRatio:\"2920 / 1798\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Settings\"}),/*#__PURE__*/e(\"br\",{}),\"I updated the settings design to match the new highlights. I also worked with our marketing team to use clearer language.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,ybpxRqOQYbSN71yWgT0vG7u68Lw.png\",\"data-framer-height\":\"1760\",\"data-framer-width\":\"2920\",height:\"880\",src:\"https://framerusercontent.com/images/ybpxRqOQYbSN71yWgT0vG7u68Lw.png\",style:{aspectRatio:\"2920 / 1760\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"strong\",{children:\"Discovery\"}),/*#__PURE__*/e(\"br\",{}),\"One of the things that was brought up during the feedback session, is that we should turn on all the highlights by default. However, I believed that this was not the right solution. Not all highlights are important to creators and only they know best. As such, I proposed that we turn on the shortcut to the settings by default and use a coachmark to grab creator\u2019s attention.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,Zt2qUi9mMW2Vwcqo3etqElHyY.png\",\"data-framer-height\":\"1078\",\"data-framer-width\":\"2920\",height:\"539\",src:\"https://framerusercontent.com/images/Zt2qUi9mMW2Vwcqo3etqElHyY.png\",style:{aspectRatio:\"2920 / 1078\"},width:\"1460\"})]}),[I]:B({src:\"https://framerusercontent.com/images/nk1tbccmSkLd9kRoWvDMeT0oH5A.png\"},\"\"),[N]:B({src:\"https://framerusercontent.com/images/4kc9sHgYMUjYd9Kt9lrOb4ufoM.png\"},\"\"),[T]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Results & New Highlights\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"The creator chat highlight starter kit saw positive results in first time chatters, live minutes watched, and total revenue. Given the initial positive results coupled with earlier success on the first time chatter highlight, chat highlights went forward with a full rollout. Soon after we added two more highlights that would help creators with growing their communities.\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Raider Chat Highlight\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"A raid on Twitch is when a creator takes their viewers to another creators live channel and a raider is a viewer who arrives to a creators channel via a raid. Converting raiders to returning viewers is a great way for creators to grow their community. With chat highlights being launched to everyone, this was the right time to bring add a raider highlight to help creators do this.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"With the addition of the raider highlight, I added a combo highlight pattern. If the raider chatter for the first time ever in a channel, then they would show up as a combo. I also added a timer for this highlight so that the view of chat for a creator would not get clogged up with highlights. This was the first highlight showing additional context about the viewer at a glance, the channel they came from.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,o0Vp6sd7T6LapdOtXNdolncZiCc.png\",\"data-framer-height\":\"386\",\"data-framer-width\":\"3040\",height:\"193\",src:\"https://framerusercontent.com/images/o0Vp6sd7T6LapdOtXNdolncZiCc.png\",style:{aspectRatio:\"3040 / 386\"},width:\"1520\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"This highlight was launched as an experiment and proved very successful, leading to a full launch.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"It was observed that viewers who participated in raids that target Opt-In Group channels on average demonstrated statistically significant increases in five minute plays (+7.4%), vs (+7.2%), and minutes watched (+8.9%) for the raid session.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Viewer engagement for opt-in channels when they were raided demonstrated statistically significant lifts vs viewer engagement for channels in the control group.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"The average number of chatters amongst the groups of viewers that participated in raids that targeted channels in the opt-in and opt-out group were higher than those in the control group.\"})})]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Returning Chatter Highlight\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"A returning chatter is a new viewer who has chatted at least twice in the last 30 days. Based on research done to understand the types of recognition viewers value, highlighting messages from these viewers should help convert them to channel regulars.\\xa0\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,bHB9Z2WJcivge87IaO1QAkYgehU.png\",\"data-framer-height\":\"386\",\"data-framer-width\":\"2920\",height:\"193\",src:\"https://framerusercontent.com/images/bHB9Z2WJcivge87IaO1QAkYgehU.png\",style:{aspectRatio:\"2920 / 386\"},width:\"1460\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"br\",{}),\"This highlight was launched as an experiment as well, leading to a full launch.\"]}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"ul\",{children:/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"We observed statistically significant lifts for Tier 4 (average visits per active user and average weekly visits per active user) and Tier 3 streamers (minutes watched live). These are our higher tier of streamers with larger audiences.\"})})})]}),[j]:B({src:\"https://framerusercontent.com/images/sPgHzvZRRoWtScInZ9s9XtRzZ68.png\"},\"\"),[q]:B({src:\"https://framerusercontent.com/images/8WnMLrbvYd3OnNPVQm3opZghpbo.png\"},\"\"),[S]:B({src:\"https://framerusercontent.com/images/uV8xLgUkNQMjC5RxAPbPuF3M8Es.png\"},\"\"),[x]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Creator Chat Highlights has been providing meaningful benefits to Twitch creators by allowing them respond to viewer messages important to them in a timely fashion. They were also met with an overall positive reception.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"As it was built to be scalable, other teams at Twitch have easily added highlights to the feature. These have ranged from safety highlights like a suspicious user, to monetary ones like pinned messages.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"In the future I would like to be able to give creators more customization options like:\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Choose the color they would like for a highlight.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Change the priority order.\",/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"A new minimized view that colors the background of the message.\"})})]})]}),[A]:{pathVariables:{mM_dj0q38:\"various-projects\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"vXcEr7IZk\"}},webPageId:\"ZYZCItuvo\"}},{id:\"ufDOsq_2H\",[n]:\"Fitt\",[o]:\"fitt\",[h]:B({src:\"https://framerusercontent.com/images/do31oaAtkDwCoMhdpNZ4tjjnkUA.png\",srcSet:\"https://framerusercontent.com/images/do31oaAtkDwCoMhdpNZ4tjjnkUA.png?scale-down-to=512 512w, https://framerusercontent.com/images/do31oaAtkDwCoMhdpNZ4tjjnkUA.png 868w\"},\"\"),[l]:\"Mobile App\",[c]:\"4\",[d]:\"Revolutionising home workouts busy people\",[m]:\"\",[g]:\"framer.com\",[p]:B({src:\"https://framerusercontent.com/images/19cvAs4SwNTfU7UBxee17xlc6Cw.png\",srcSet:\"https://framerusercontent.com/images/19cvAs4SwNTfU7UBxee17xlc6Cw.png?scale-down-to=512 512w, https://framerusercontent.com/images/19cvAs4SwNTfU7UBxee17xlc6Cw.png?scale-down-to=1024 1024w, https://framerusercontent.com/images/19cvAs4SwNTfU7UBxee17xlc6Cw.png?scale-down-to=2048 2048w, https://framerusercontent.com/images/19cvAs4SwNTfU7UBxee17xlc6Cw.png 2880w\"},\"\"),[u]:null,[f]:B({src:\"https://framerusercontent.com/images/iV70j0fJauHI3ZBW7iYG9FdIdK4.jpg\",srcSet:\"https://framerusercontent.com/images/iV70j0fJauHI3ZBW7iYG9FdIdK4.jpg?scale-down-to=1024 684w, https://framerusercontent.com/images/iV70j0fJauHI3ZBW7iYG9FdIdK4.jpg 1154w\"},\"\"),[w]:B({src:\"https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png\",srcSet:\"https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png?scale-down-to=512 512w, https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png?scale-down-to=1024 1024w, https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png 1870w\"},\"\"),[b]:null,[v]:B({src:\"https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg\",srcSet:\"https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg?scale-down-to=1024 682w, https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg?scale-down-to=2048 1365w, https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg 2400w\"},\"\"),[y]:B({src:\"https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg\",srcSet:\"https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg?scale-down-to=2048 2048w, https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg 3600w\"},\"\"),[k]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Wireframing & User Flows\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Design & Development\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"})]}),[I]:B(void 0,\"\"),[N]:B(void 0,\"\"),[T]:null,[j]:B(void 0,\"\"),[q]:B(void 0,\"\"),[S]:B({src:\"https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg\",srcSet:\"https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg 1920w\"},\"\"),[x]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"})]}),[A]:{pathVariables:{mM_dj0q38:\"various-projects\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"vXcEr7IZk\"}},webPageId:\"ZYZCItuvo\"}},{id:\"WusWCGHD9\",[n]:\"Workout Y\",[o]:\"workouty\",[h]:B({src:\"https://framerusercontent.com/images/FSpIwwXpEGMr9Z2fZs6vY9IFJtg.png\",srcSet:\"https://framerusercontent.com/images/FSpIwwXpEGMr9Z2fZs6vY9IFJtg.png?scale-down-to=512 512w, https://framerusercontent.com/images/FSpIwwXpEGMr9Z2fZs6vY9IFJtg.png 1007w\"},\"\"),[l]:\"Web Design\",[c]:\"6\",[d]:\"Virtual fitness on demand right from your home\",[m]:\"\",[g]:\"framer.com\",[p]:B({src:\"https://framerusercontent.com/images/K5pAfiAj4MDlwB5qhfQwI5JZud8.png\",srcSet:\"https://framerusercontent.com/images/K5pAfiAj4MDlwB5qhfQwI5JZud8.png?scale-down-to=512 512w, https://framerusercontent.com/images/K5pAfiAj4MDlwB5qhfQwI5JZud8.png?scale-down-to=1024 1024w, https://framerusercontent.com/images/K5pAfiAj4MDlwB5qhfQwI5JZud8.png?scale-down-to=2048 2048w, https://framerusercontent.com/images/K5pAfiAj4MDlwB5qhfQwI5JZud8.png 2880w\"},\"\"),[u]:null,[f]:B({src:\"https://framerusercontent.com/images/iV70j0fJauHI3ZBW7iYG9FdIdK4.jpg\",srcSet:\"https://framerusercontent.com/images/iV70j0fJauHI3ZBW7iYG9FdIdK4.jpg?scale-down-to=1024 684w, https://framerusercontent.com/images/iV70j0fJauHI3ZBW7iYG9FdIdK4.jpg 1154w\"},\"\"),[w]:B({src:\"https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png\",srcSet:\"https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png?scale-down-to=512 512w, https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png?scale-down-to=1024 1024w, https://framerusercontent.com/images/8pGJ5hv3FA6lj7O8EP7DJvEyAo.png 1870w\"},\"\"),[b]:null,[v]:B({src:\"https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg\",srcSet:\"https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg?scale-down-to=1024 682w, https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg?scale-down-to=2048 1365w, https://framerusercontent.com/images/OJQ7D3al89UiaS57tix049nh9NI.jpg 2400w\"},\"\"),[y]:B({src:\"https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg\",srcSet:\"https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg?scale-down-to=2048 2048w, https://framerusercontent.com/images/6Gpty0jJPNU1KYj5BqnUkBePW9Q.jpg 3600w\"},\"\"),[k]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Wireframing & User Flows\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Design & Development\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"})]}),[I]:B(void 0,\"\"),[N]:B(void 0,\"\"),[T]:null,[j]:B(void 0,\"\"),[q]:B(void 0,\"\"),[S]:B({src:\"https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg\",srcSet:\"https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg?scale-down-to=512 512w, https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg?scale-down-to=1024 1024w, https://framerusercontent.com/images/T0Ao8m9KGbAwVEFlBBjFEG9K78.jpg 1920w\"},\"\"),[x]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit.\"})]}),[A]:{pathVariables:{mM_dj0q38:\"creator-home\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"jef1FfgIl\"}},webPageId:\"ZYZCItuvo\"}},{id:\"vXcEr7IZk\",[n]:\"Various Projects\",[o]:\"various-projects\",[h]:B({src:\"https://framerusercontent.com/images/tJEL2LZSPRT8LS6a8Ullv4OMXQ.png\"},\"\"),[l]:\"Twitch\",[c]:\"5\",[d]:\"A glimpse into a few other Twitch projects\",[m]:\"\",[p]:B({src:\"https://framerusercontent.com/images/7Ir0SWN0EBXNKz5mfW3xgKlgsM.png\"},\"\"),[u]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"As a Lead Product Designer at Twitch, I have almost 8 years of experience in creating engaging and user-friendly products for streamers, viewers, and developers. This page provides you with a quick glimpse into some of these products.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"For a deeper dive into any of these projects, please feel free to schedule some time to chat - \",/*#__PURE__*/e(i,{href:\"https://arshaan-design.com/contact\",openInNewTab:!1,smoothScroll:!1,children:/*#__PURE__*/e(\"a\",{children:/*#__PURE__*/e(\"strong\",{children:\"Schedule\"})})})]})]}),[f]:B(void 0,\"\"),[w]:B(void 0,\"\"),[b]:null,[v]:B(void 0,\"\"),[y]:B(void 0,\"\"),[k]:/*#__PURE__*/t(s.Fragment,{children:[/*#__PURE__*/e(\"h1\",{children:\"Unified CurseForge\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,uLc4qpxuiOkf9mDxoxOIvs78ig.png\",\"data-framer-height\":\"2771\",\"data-framer-width\":\"2190\",height:\"1385\",src:\"https://framerusercontent.com/images/uLc4qpxuiOkf9mDxoxOIvs78ig.png\",style:{aspectRatio:\"2190 / 2771\"},width:\"1095\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"CurseForge was the prime destination to download mods for games. However, each game had a dedicated website for its mods. This led to a lot of overhead on design and engineering to maintain multiple websites. This arc of work unified everything into one website.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"PUBG Supermap\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,BuPEfGfXK8NKtXF42ZvAxmXho.png\",\"data-framer-height\":\"1960\",\"data-framer-width\":\"2920\",height:\"980\",src:\"https://framerusercontent.com/images/BuPEfGfXK8NKtXF42ZvAxmXho.png\",style:{aspectRatio:\"2920 / 1960\"},width:\"1460\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Did you ever want to dive in deeper and get an interactive look into how your favorite streamer was playing PUBG. With the power of Twitch extensions and data from Overwolf, I worked on an interactive map for the game that lived over the Twitch video player. With the click of a button, viewers could open up this map and look at where their favorite streamer landed, their route, inventory, and statistics. \"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h1\",{children:\"Vienna\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",\"data-framer-asset\":\"data:framer/asset-reference,cYpIvzbjJMtvS6IlSLNVhcr6O1M.png\",\"data-framer-height\":\"2076\",\"data-framer-width\":\"2920\",height:\"1038\",src:\"https://framerusercontent.com/images/cYpIvzbjJMtvS6IlSLNVhcr6O1M.png\",style:{aspectRatio:\"2920 / 2076\"},width:\"1460\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"Vienna is an internal Twitch tool to help onboard organizations into the Twitch developer console. This tool was initially put together without any design help. I worked on it to simplify flows, add drops support, and connect it to the core design system.\"})]}),[I]:B(void 0,\"\"),[N]:B(void 0,\"\"),[T]:null,[j]:B(void 0,\"\"),[q]:B(void 0,\"\"),[S]:B({src:\"https://framerusercontent.com/images/8YH7uErDsSjXDzoFBgUXSHRnXI.png\"},\"\"),[x]:/*#__PURE__*/e(s.Fragment,{children:/*#__PURE__*/e(\"p\",{children:\"The above projects are quick glimpses into the various areas I worked in at Twitch. My time there has helped me grow into a design leader who influences strategy by digging into and conducting user research, thoughtful designs and mentoring junior designers.\"})}),[A]:{pathVariables:{mM_dj0q38:\"chat-and-events\"},unresolvedPathSlugs:{mM_dj0q38:{collectionId:\"Xvwx2uXqY\",collectionItemId:\"IcHRoGTmG\"}},webPageId:\"ZYZCItuvo\"}}];for(let e of F)Object.freeze(e);a(F,{AQruJ81ec:{defaultValue:\"\",title:\"Title\",type:r.String},mM_dj0q38:{title:\"Slug\",type:r.String},Dt41ZxDBf:{title:\"Thumbnail\",type:r.ResponsiveImage},vHuBmCkAp:{defaultValue:\"\",placeholder:\"eg. App Design\",title:\"Company\",type:r.String},qDoSVnUH7:{defaultValue:\"\",title:\"Project Number\",type:r.String},APEKfNpes:{defaultValue:\"\",title:\"Project Summary\",type:r.String},zuHw0jcoY:{defaultValue:\"\",title:\"Role\",type:r.String},i_fjwASoZ:{title:\"Live Site Link\",type:r.Link},rY14dzeUI:{title:\"Intro Cover Image\",type:r.ResponsiveImage},Gjg2cBecL:{defaultValue:\"\",title:\"Background\",type:r.RichText},bXBeh9jSk:{title:\"Image 1\",type:r.ResponsiveImage},ybnJNEehc:{title:\"Image 2\",type:r.ResponsiveImage},ZBikPLSfD:{defaultValue:\"\",title:\"Overview\",type:r.RichText},COuUkmV45:{title:\"Image 3\",type:r.ResponsiveImage},zUjyuX5Ug:{title:\"Image 4\",type:r.ResponsiveImage},UW6EICBpl:{defaultValue:\"\",title:\"Process\",type:r.RichText},SkD4IeY6J:{title:\"Image 5\",type:r.ResponsiveImage},AiE3d8Dy5:{title:\"Image 6\",type:r.ResponsiveImage},pAf987Jwq:{defaultValue:\"\",title:\"Process Continued\",type:r.RichText},Y0kd44JP8:{title:\"Image 7\",type:r.ResponsiveImage},fdLzVmUOf:{title:\"Image 8\",type:r.ResponsiveImage},XVw4uL7Lg:{title:\"Cover Image\",type:r.ResponsiveImage},yQIwH1Eb2:{defaultValue:\"\",title:\"In Conclusion\",type:r.RichText},aoOH1c73w:{title:\"Next Project\",type:r.Link}}),F.displayName=\"Projects\";export default F;export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){var a;return null===(a=F.find(t=>t.id===e))||void 0===a?void 0:a[o];},async getRecordIdBySlug(e,t){var a;return null===(a=F.find(t=>t[o]===e))||void 0===a?void 0:a.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerCollectionUtils\":\"1\",\"framerData\":\"\",\"framerEnumToDisplayNameUtils\":\"2\",\"framerRecordIdKey\":\"id\",\"framerContractVersion\":\"1\",\"framerCollectionId\":\"Xvwx2uXqY\",\"framerSlug\":\"mM_dj0q38\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["n", "o", "h", "l", "c", "d", "m", "g", "B", "e", "t", "u", "x", "p", "Link", "addPropertyControls", "ControlType", "Xvwx2uXqY_default", "enumToDisplayNameFunctions", "utils", "a", "__FramerMetadata__"]
}
