{"version":3,"sources":["routes/Projects/ProjectPage/ProjectPage.module.scss","routes/About/About.module.scss","components/Footer/Footer.module.scss","components/MobileNav/MobileNav.module.scss","routes/Projects/assets/GnostMono.png","routes/Projects/assets/YNABMobile.jpg","routes/Projects/assets/YNABTwitch.png","routes/Projects/assets/ShelterTech.png","routes/Projects/assets/AskDarcel.png","routes/Projects/assets/BeboTournaments.jpg","routes/Projects/assets/BeboStreaming.jpg","routes/Projects/assets/Twitch.png","routes/Projects/assets/EsportsOne.png","routes/Projects/assets/ClimateDashboard.png","routes/Projects/assets/UrbanMobility.png","components/ExplorationsList/Explorations.module.scss","routes/Projects/Projects.module.scss","routes/Projects/ProjectPage/Header.module.scss","components/MobileNav/assets/Hamburger.png","components/MobileNav/assets/Close.png","routes/Projects/ProjectItem.module.scss","components/ExplorationsList/ExplorationItem.module.scss","routes/About/assets/a1.jpg","routes/About/assets/a2.jpg","routes/About/assets/a3.jpg","routes/About/assets/a4.jpg","routes/About/assets/a5.jpg","routes/About/assets/a6.jpg","routes/About/assets/a7.jpg","routes/Projects/Sheltertech/assets/s1.jpg","routes/Projects/Sheltertech/assets/s2.png","routes/Projects/Sheltertech/assets/s3.png","routes/Projects/Sheltertech/assets/s4.jpg","routes/Projects/Sheltertech/assets/s5.jpg","routes/Projects/Sheltertech/assets/s6.jpg","routes/Projects/Sheltertech/assets/s7.jpg","routes/Projects/Sheltertech/assets/s8.jpg","routes/Projects/Sheltertech/assets/s9.jpg","routes/Projects/Sheltertech/assets/s10.jpg","routes/Projects/Askdarcel/assets/a1.jpg","routes/Projects/Askdarcel/assets/a2.jpg","routes/Projects/Askdarcel/assets/a3.png","routes/Projects/Askdarcel/assets/a4.jpg","routes/Projects/Askdarcel/assets/a5.jpg","routes/Projects/Askdarcel/assets/a6.jpg","routes/Projects/Askdarcel/assets/a7.jpg","routes/Projects/Askdarcel/assets/a8.jpg","routes/Projects/Askdarcel/assets/a9.jpg","routes/Projects/Askdarcel/assets/casey-guide.jpg","routes/Projects/Askdarcel/assets/sketch-homepage.jpg","routes/Projects/Askdarcel/assets/sketch-results.jpg","routes/Projects/Askdarcel/assets/askdarcel-user-research.jpg","routes/Projects/BeboTournaments/assets/b1.jpg","routes/Projects/BeboTournaments/assets/b2.jpg","routes/Projects/BeboTournaments/assets/b4.jpg","routes/Projects/BeboTournaments/assets/b5.jpg","routes/Projects/BeboTournaments/assets/b6.jpg","routes/Projects/BeboTournaments/assets/b7.jpg","routes/Projects/BeboTournaments/assets/b8.jpg","routes/Projects/BeboTournaments/assets/b9.jpg","routes/Projects/BeboTournaments/assets/b10.jpg","routes/Projects/BeboTournaments/assets/sketch-app-1.jpg","routes/Projects/BeboTournaments/assets/sketch-app-2.jpg","routes/Projects/BeboStreaming/assets/b1.jpg","routes/Projects/BeboStreaming/assets/b2.jpg","routes/Projects/BeboStreaming/assets/b3.jpg","routes/Projects/BeboStreaming/assets/b4.jpg","routes/Projects/BeboStreaming/assets/b5.jpg","routes/Projects/BeboStreaming/assets/b6.jpg","routes/Projects/BeboStreaming/assets/b7.jpg","routes/Projects/BeboStreaming/assets/b8.jpg","routes/Projects/BeboStreaming/assets/sektch-home.jpg","routes/Projects/BeboStreaming/assets/animated-logo.gif","routes/Projects/BeboStreaming/assets/BRB.mp4","routes/Projects/GnostMono/assets/g1.png","routes/Projects/GnostMono/assets/g2.jpg","routes/Projects/GnostMono/assets/g3.jpg","routes/Projects/GnostMono/assets/g4.png","routes/Projects/Twitch/assets/Twitch.png","routes/Projects/Twitch/assets/T1.jpg","routes/Projects/EsportsOne/assets/E1.png","routes/Projects/EsportsOne/assets/E2.png","routes/Projects/EsportsOne/assets/E3.jpg","routes/Projects/EsportsOne/assets/E4.jpg","routes/Projects/EsportsOne/assets/E5.jpg","routes/Projects/EsportsOne/assets/E6.png","routes/Projects/ClimateDashboard/assets/G1.png","routes/Projects/ClimateDashboard/assets/G2.png","routes/Projects/ClimateDashboard/assets/G3.png","routes/Projects/ClimateDashboard/assets/G4.png","routes/Projects/ClimateDashboard/assets/G5.png","routes/Projects/ClimateDashboard/assets/G6.jpg","routes/Projects/UrbanMobility/assets/U1.jpg","routes/Projects/UrbanMobility/assets/U2.jpg","routes/Projects/UrbanMobility/assets/U3.jpg","routes/Projects/UrbanMobility/assets/U4.jpg","routes/Projects/UrbanMobility/assets/U5.png","routes/Projects/UrbanMobility/assets/U6.png","routes/Projects/UrbanMobility/assets/U7.png","routes/Projects/UrbanMobility/assets/U8.jpg","routes/Projects/UrbanMobility/assets/U9.jpg","routes/Projects/UrbanMobility/assets/U10.jpg","routes/Projects/UrbanMobility/assets/U11.jpg","routes/Projects/UrbanMobility/assets/U12.jpg","routes/Projects/UrbanMobility/assets/U13.png","routes/Projects/UrbanMobility/assets/U14.png","routes/Projects/UrbanMobility/assets/U15.png","routes/Projects/UrbanMobility/assets/U16.jpg","routes/Projects/UrbanMobility/assets/U17.jpg","routes/Projects/UrbanMobility/assets/U18.png","routes/Projects/YNABMobile/assets/Y1.jpg","routes/Projects/YNABMobile/assets/Y2.jpg","routes/Projects/YNABMobile/assets/Y3.jpg","routes/Projects/YNABTwitch/assets/Y1.png","routes/Projects/YNABTwitch/assets/Y2.png","components/LeftNav/LeftNav.module.scss","routes/Projects/assets/placeholder.png","components/MobileNav/index.js","routes/Projects/ProjectItem.js","components/ExplorationsList/ExplorationItem.js","components/ExplorationsList/index.js","routes/Projects/index.js","routes/About/Article.js","routes/About/index.js","routes/Projects/ProjectPage/Header.js","routes/Projects/Sheltertech/index.js","routes/Projects/Askdarcel/index.js","routes/Projects/BeboTournaments/index.js","routes/Projects/BeboStreaming/index.js","routes/Projects/GnostMono/index.js","routes/Projects/Twitch/index.js","routes/Projects/EsportsOne/index.js","routes/Projects/ClimateDashboard/index.js","routes/Projects/UrbanMobility/index.js","routes/Projects/YNABMobile/index.js","routes/Projects/YNABTwitch/index.js","components/Container.js","components/LeftNav/index.js","components/Footer/index.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","content","moreWork","col2","moreWorkList","aspectRatio","text","skillsListHeader","articlesHeader","articleMeta","caption","skillsList","article","footerText","copyright","footer","contactButton","hand","handWave","footerMeta","footerLinks","dribbble","twitter","medium","linkedin","facebook","youtube","instagram","logo","mobileNav","menu","menuList","openButton","menuItem","__webpack_require__","p","explorations","explorationsList","prevArrow","nextArrow","hero","selectedWork","selectedWorkList","projectHeaderMeta","projectHeader","projectItem","leftNav","MobileNav","props","_this","Object","classCallCheck","this","possibleConstructorReturn","getPrototypeOf","call","state","menuOpen","setState","isOpen","_this2","react_default","a","createElement","className","css","react_router_dom","to","onClick","closeMenu","BurgerMenu","right","noOverlay","width","pageWrapId","outerContainerId","customBurgerIcon","src","ImgMenuIcon","alt","customCloseIcon","ImgCloseIcon","burgerButtonClassName","crossButtonClassName","closeButton","menuClassName","itemListClassName","itemClassName","anchor_link_default","href","Component","ProjectItem","_ref","title","description","position","img","link","ExplorationItem","NextArrow","PrevArrow","ExplorationsList","react_carousel_default","arrowLeft","ExplorationsList_PrevArrow","arrowRight","ExplorationsList_NextArrow","addArrowClickHandler","slidesPerPage","offset","infinite","breakpoints","600","1600","ImgYNABMobile","ImgYNABTwitch","ImgGnostMono","Projects","ImgTwitch","ImgEsportsOne","ImgClimateDashboard","ImgUrbanMobility","ImgBeboTournaments","ImgBeboStreaming","ImgSheltertech","ImgAskdarcel","components_ExplorationsList","Article","target","rel","About","ImgA1","skills","ImgA2","ImgA3","articles","ImgA4","ImgA5","ImgA6","ImgA7","year","exploration","Sheltertech","projectPage","Header_ProjectItem","ImgS1","ImgS2","ImgS3","ImgS4","ImgS5","ImgS6","ImgS7","ImgS8","ImgS9","ImgS10","AskDarcel","ImgUserReasearch","ImgA8","ImgA9","ImgSketchHome","ImgSketchResults","ImgCaseyGuide","BeboTournaments","ImgB1","ImgB2","height","frameborder","allow","allowfullscreen","ImgB4","ImgB5","ImgB6","ImgB7","ImgSketches1","ImgSketches2","ImgB8","ImgB9","ImgB10","BeboStreaming","style","GifB3","marginLeft","ImgB3","marginTop","autoplay","loop","poster","VidB8","type","GnostMono","ImgG1","ImgG2","ImgG3","ImgG4","Twitch","ImgT1","ImgE1","ImgE2","ImgE3","ImgE4","ImgE5","ImgE6","ImgG5","ImgG6","ImgU1","ImgU2","ImgU3","ImgU4","ImgU5","ImgU6","ImgU7","ImgU8","ImgU9","ImgU10","ImgU11","ImgU12","ImgU13","ImgU14","ImgU15","ImgU16","ImgU17","ImgU18","ImgY1","ImgY2","ImgY3","YNABTwitch","withRouter","location","react_router_scroll_top_default","react_transition_group","key","timeout","enter","exit","classNames","react_router","path","exact","component","Askdarcel","EsportsOne","ClimateDashboard","UrbanMobility","YNABMobile","LeftNav","Footer","id","App","ReactGA","initialize","pageview","MobileNav_MobileNav","LeftNav_LeftNav","components_Container","Footer_Footer","initializeReactGA","Boolean","window","hostname","match","ReactDOM","render","src_App","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister"],"mappings":"0EACAA,EAAAC,QAAA,CAAkBC,QAAA,6BAAAC,SAAA,8BAAAC,KAAA,0BAAAC,aAAA,kCAAAC,YAAA,wDCAlBN,EAAAC,QAAA,CAAkBM,KAAA,oBAAAC,iBAAA,gCAAAC,eAAA,8BAAAC,YAAA,2BAAAC,QAAA,uBAAAC,WAAA,0BAAAV,QAAA,uBAAAW,QAAA,4CCAlBb,EAAAC,QAAA,CAAkBa,WAAA,2BAAAC,UAAA,0BAAAC,OAAA,uBAAAC,cAAA,8BAAAC,KAAA,qBAAAC,SAAA,yBAAAC,WAAA,2BAAAC,YAAA,4BAAAC,SAAA,yBAAAC,QAAA,wBAAAC,OAAA,uBAAAC,SAAA,yBAAAC,SAAA,yBAAAC,QAAA,wBAAAC,UAAA,gDCAlB5B,EAAAC,QAAA,CAAkB4B,KAAA,wBAAAC,UAAA,6BAAAC,KAAA,wBAAAC,SAAA,4BAAAC,WAAA,8BAAAC,SAAA,6CCDlBlC,EAAAC,QAAA,kjJCAAD,EAAAC,QAAiBkC,EAAAC,EAAuB,wDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,wDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,yDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,uDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,6DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,yDCAxCpC,EAAAC,QAAA,0iGCAAD,EAAAC,QAAiBkC,EAAAC,EAAuB,wDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,8DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,6DCCxCpC,EAAAC,QAAA,CAAkBoC,aAAA,mCAAAC,iBAAA,uCAAAC,UAAA,gCAAAC,UAAA,mDCAlBxC,EAAAC,QAAA,CAAkBwC,KAAA,uBAAAC,aAAA,+BAAAC,iBAAA,sDCAlB3C,EAAAC,QAAA,CAAkB2C,kBAAA,kCAAAC,cAAA,0DCDlB7C,EAAAC,QAAA,wTCAAD,EAAAC,QAAA,6ZCCAD,EAAAC,QAAA,CAAkB6C,YAAA,oDCAlB9C,EAAAC,QAAA,CAAkB6C,YAAA,uDCDlB9C,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,iDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,yDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,6DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,4DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,qECAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,iDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,0DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,0DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,yDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,2DCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,iDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,8CCAxCpC,EAAAC,QAAA,0iGCAAD,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,QAAiBkC,EAAAC,EAAuB,gDCAxCpC,EAAAC,Q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","file":"static/js/main.5d914a10.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"ProjectPage_content__2eI65\",\"moreWork\":\"ProjectPage_moreWork__2ZEU_\",\"col2\":\"ProjectPage_col2__6wT8U\",\"moreWorkList\":\"ProjectPage_moreWorkList__2-B6L\",\"aspectRatio\":\"ProjectPage_aspectRatio__UNJ_M\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"About_text__2AysJ\",\"skillsListHeader\":\"About_skillsListHeader__1maEe\",\"articlesHeader\":\"About_articlesHeader__18V5p\",\"articleMeta\":\"About_articleMeta__Aqnlj\",\"caption\":\"About_caption__1oj4k\",\"skillsList\":\"About_skillsList__3MqCe\",\"content\":\"About_content__BZuK5\",\"article\":\"About_article__ixfGW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footerText\":\"Footer_footerText__1uE_s\",\"copyright\":\"Footer_copyright__1grUj\",\"footer\":\"Footer_footer__2xNH-\",\"contactButton\":\"Footer_contactButton__1aHFs\",\"hand\":\"Footer_hand__3MBCg\",\"handWave\":\"Footer_handWave__3tWhY\",\"footerMeta\":\"Footer_footerMeta__3JX1Y\",\"footerLinks\":\"Footer_footerLinks__3F5-c\",\"dribbble\":\"Footer_dribbble__3N831\",\"twitter\":\"Footer_twitter__3dWCg\",\"medium\":\"Footer_medium__3m75p\",\"linkedin\":\"Footer_linkedin__ToB2X\",\"facebook\":\"Footer_facebook__10i4N\",\"youtube\":\"Footer_youtube__2XjSn\",\"instagram\":\"Footer_instagram__vtISe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logo\":\"MobileNav_logo__3TRG5\",\"mobileNav\":\"MobileNav_mobileNav__2XTzd\",\"menu\":\"MobileNav_menu__2D7Wm\",\"menuList\":\"MobileNav_menuList__13Iw0\",\"openButton\":\"MobileNav_openButton__3E1wK\",\"menuItem\":\"MobileNav_menuItem__1CAU4\"};","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/YNABMobile.24f870ee.jpg\";","module.exports = __webpack_public_path__ + \"static/media/YNABTwitch.a2a6bb30.png\";","module.exports = __webpack_public_path__ + \"static/media/ShelterTech.9d879093.png\";","module.exports = __webpack_public_path__ + \"static/media/AskDarcel.289498b8.png\";","module.exports = __webpack_public_path__ + \"static/media/BeboTournaments.05475963.jpg\";","module.exports = __webpack_public_path__ + \"static/media/BeboStreaming.01c89151.jpg\";","module.exports = \"data:image/png;base64,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oC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDDaUsBjN3x9/LGOoWe0g9gAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/EsportsOne.af2c6e07.png\";","module.exports = __webpack_public_path__ + \"static/media/ClimateDashboard.0b80b2a2.png\";","module.exports = __webpack_public_path__ + \"static/media/UrbanMobility.782d26d4.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"explorations\":\"Explorations_explorations__1HiTE\",\"explorationsList\":\"Explorations_explorationsList__1nY4f\",\"prevArrow\":\"Explorations_prevArrow__23yeU\",\"nextArrow\":\"Explorations_nextArrow__1_0pD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hero\":\"Projects_hero__1hoFR\",\"selectedWork\":\"Projects_selectedWork__3QZrq\",\"selectedWorkList\":\"Projects_selectedWorkList__qXUoA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"projectHeaderMeta\":\"Header_projectHeaderMeta__3XlYD\",\"projectHeader\":\"Header_projectHeader__2bycF\"};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABhSURBVHgB7dPBCcAgDIXhl+IAjuAoHaWdsCt0lIzgBm0KHrxZYgIe8sGPQkRPAiHMorZm6YKtU+LUPbDDwQZn1O0LbDHCEmgwzy0N/nPokB5l5bvA/R+kwbxKN3QqQjDxAnytFXKKe0pLAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACnSURBVHgB7ZNNDYAwFIMfYAAH4AgLc7I5wAJSQAE4IEhAATySkZBljO7nwGFNeoG232EbUVagam3fDhyctdGSZK/sFglfw4c2ApGP/ArkSTwKXxBpZBWBEgAkeByBRI+7IH2q8TdI0nEXRCHFkjA1lm8d+T9Gq8wDRa9w0Lgiv3fiPX5LxEKQey5CIch4FESB4zbIYP6sLIWRXbAnELCwN/auYVk/0wnUOGrWpxYruAAAAABJRU5ErkJggg==\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"projectItem\":\"ProjectItem_projectItem__CYAJr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"projectItem\":\"ExplorationItem_projectItem__1nruL\"};","module.exports = __webpack_public_path__ + \"static/media/a1.77a68bed.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a2.f1430a91.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a3.be5ce026.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a4.809631a2.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a5.f1ada452.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a6.61c22c39.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a7.aa0ec384.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s1.c45c6115.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s2.4d2321fa.png\";","module.exports = __webpack_public_path__ + \"static/media/s3.f2023bee.png\";","module.exports = __webpack_public_path__ + \"static/media/s4.b72eba3b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s5.1ff64a67.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s6.bdf04f82.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s7.f54ee9a6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s8.9af1ffcd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s9.c306fe4b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/s10.19d0da4b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a1.3d50c01d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a2.08d60cef.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a3.1fa8ddd6.png\";","module.exports = __webpack_public_path__ + \"static/media/a4.f04fdf3e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a5.57a0ba3e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a6.0a12c8bf.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a7.89aa753f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a8.4677b6e9.jpg\";","module.exports = __webpack_public_path__ + \"static/media/a9.7c4c5aa8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/casey-guide.c6b1248f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sketch-homepage.24792c5b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sketch-results.d6633207.jpg\";","module.exports = __webpack_public_path__ + \"static/media/askdarcel-user-research.2af7c368.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b1.5704c399.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b2.18813feb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b4.00daded1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b5.c3750042.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b6.0ee60bf0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b7.9d1534cc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b8.ce184b73.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b9.f323862c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b10.53359785.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sketch-app-1.f45d2413.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sketch-app-2.2f3fcfee.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b1.dfddb5df.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b2.fba7d045.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b3.26bc4ecc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b4.199ea753.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b5.2cda7061.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b6.1863ef32.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b7.49ddd3c6.jpg\";","module.exports = __webpack_public_path__ + \"static/media/b8.f575bc7d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/sektch-home.dc262549.jpg\";","module.exports = __webpack_public_path__ + \"static/media/animated-logo.f5569dd2.gif\";","module.exports = __webpack_public_path__ + \"static/media/BRB.55969227.mp4\";","module.exports = __webpack_public_path__ + \"static/media/g1.54e471e8.png\";","module.exports = __webpack_public_path__ + \"static/media/g2.010e36a5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/g3.0283cfcc.jpg\";","module.exports = __webpack_public_path__ + \"static/media/g4.b952af0b.png\";","module.exports = \"data:image/png;base64,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oC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC4C2ANoCaAuAtgDaAmgLgLYA2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC0A2gJoC6AtANoCaAugLQDaAmgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2AGgLoC2AtgBoC6AtgLYAaAugLYC2ANoCoC2AtgDaAqAtgLYA2gKgLYC2ANoCoC2AtgDDaUsBjN3x9/LGOoWe0g9gAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/T1.c24f05d7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/E1.95a1865b.png\";","module.exports = __webpack_public_path__ + \"static/media/E2.6c78f3eb.png\";","module.exports = __webpack_public_path__ + \"static/media/E3.4a21bb66.jpg\";","module.exports = __webpack_public_path__ + \"static/media/E4.d52ba935.jpg\";","module.exports = __webpack_public_path__ + \"static/media/E5.c6eae556.jpg\";","module.exports = __webpack_public_path__ + \"static/media/E6.7ac6acab.png\";","module.exports = __webpack_public_path__ + \"static/media/G1.e17665b7.png\";","module.exports = __webpack_public_path__ + \"static/media/G2.40943982.png\";","module.exports = __webpack_public_path__ + \"static/media/G3.0d445426.png\";","module.exports = __webpack_public_path__ + \"static/media/G4.76de14b9.png\";","module.exports = __webpack_public_path__ + \"static/media/G5.aa66f1c5.png\";","module.exports = __webpack_public_path__ + \"static/media/G6.c665267b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U1.857cdb1a.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U2.3797b383.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U3.63ed4fb7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U4.3314daaf.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U5.c4ab93cd.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABFsAAAH3CAMAAABTmKAIAAAA8FBMVEUAAABwUP9oUP9kUf9kUP9lUv9iUv9jU/9kUv9kU/9kUv9jUP9kUP9jU/9kU/9jUf9lU/9lUP9lU/9jU/9mU/9jU/9kUv9kU/9kU/9kUv9kU/9gUP9kU/9kUv9lVf9kUv9kUv9jU/9kVP9kU/9lU/9jU/9gUP9jU/9kVP9kVP9iUv9gUP9jU/9kVP9jVf9jU/9lU/9gUP9mVf9kVP9qVf9iVP9jU/9mWf9sWP9lU/9jU/9lVf9jUf9kW/9oWP9jU/9lUv9oXf9lU/9kU/9iUv9gVf9nUP9kUv9lU/9jU/9jU/9oUP9vUP9iVP9jU/9kU//JQXfMAAAAT3RSTlMAECCgQGBg78+vgFBB37+QbzCfn1/ef/7ujs4Q73Awj86eQL6ubyCggE9hIVBBAZCeEQFwAXFRAQHeXzGPAQGvYQGvsIAwIXHf7o8hEXCua+Y+WQAAEGRJREFUeF7swAEBAAAAgqD+r26IsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4O3RUAgAAg1Bw2j/0GgyG6JcX4AmCD4kNHAkT/cJa9u6wuW3sOuP4IZYCQNgXlEiKUAKIssAKomzViuskm8q7Sdqt09202/P9v00nsy84E61M3Yf38ALm83vvGc+I85+DgwtgKL/ykRwKfaMeBDNWDyfya1K1lOWT4hWcmNdKqurKyfT01VmfinKWFrNJ7jLdUs2w/yixLTg3fzXauy2UzxfxA5Ok0zLTL8snBfAHJ7YFM38VoC2UTRaJxDI+LTN9KTcH/qfEtiDOF0mItlAZIy+jdJIBA+tYiG05ALdMhtgW5mV0WiqCeWFbDji7BGoLHW4kGJf7rtsSIbbF3HkSqC2UL8TeaJkFmbOE2BZr1TJUW8gtej2ycHhhWyKMLgNoC+tyUmpI8zMhtsXWxSJYW2iSWJXFaWjlWIhtMVUtw7WFlv0sC+vCtkTxm3BtIZdIYGOnVrh3YVuM/bYO1hZqLiWkVakGWBe2JVpc8LbQlQQzuopwyonYFtO44G2hPIlwOQR7kwixLXauA7aFXBJlaMG3+cS22PmNWVsYl/hDC0cXtiWeatmrtjAuVxGeLSO2xULV9qctjEuSR5hbiW2xcZEEbAvlteDGWYynP4htMbIO2RaaC+xUIzhfCbEtRoqQbaFLfNUSRbUQYltsVG3AtlCzEsSojLjPJ7bFxpuQbaG8N1tcxoVtia0I2RYqgLQ4NcC4sC2xXSQB20JNMoy08F4022LvX0K2heZAWiK7FmJbLFRtyLZQO4y0cHJhW+ytQ7aFSvEwcmqEOxe2Jb6qjdUWDi65mmFc2Jb41iHbQlPgyFxs1aUQ2xJe1QZsCzW1vNBSe6NqhdiW8NYx2sKT/yfaIxeJHC+25abd6Waaq78q2bst0/brkhYTZ7zNTTLtk/NajgLbgi8Ju1v1VuzblupEvj6rW6eQGrhFFN+1ENsSvC4XNdvya7qNIu7kBW61P7jPZVte6m2DbPLYlqc6Z3Sn6ER752IlxLbs8s6plzXb8ow6V2/l0JYtXLmwLR5xaYCLojBtYVwa2anUvbnJrEjT9h/u02JWZoc4/E9si/yrKtCGIG3hZVFi/ArLrLxp66cVbKel+SkXYlveP6iP37Etz2rV15nlFVE2bWt5TpeWtldFxLbIB6ceLtiWgBcwd3b3iMr7eufNLWf5bitiW+QtMA0HaQsHlxOre0STVl4idXbHc4ltkX9roMMNbMtTZdi2OMWUnWwZ1WUtxLbsVKiHCdvyvMugbTlVSN6Kj01js84ltkXkA7RwYVueWoVsS+IUkH0UT92tIt4IsS27/L6EnldkW55qAu5yrxSQd+LvDxbfQyO2ReT91KcOd2yLx4YEnzATBTzUgnjneB8awLbs9kdgmRugLVzmngW+/7wR0Luc96EBbMtO7/DTc3hbOAar1mHHlhOBfQuk7EKIbQl5F3rCtjxvoj6aoGNL1ooYx4UbF7bF059y5P4A2/JUGeo56Nqpr3vB4HFZC7EtAW8U/TvbEupbH/OQR3I/ipjHhWdc2BZP3/oU9iJUW3gP+lGe5UzWuPj4aj+4sC1sSxWqLTw713mMuuAIBDy26qGqhdgWtsUIfiXjwm1yXS0hfGqGfxuabWFbuMqdhrsB3UkYf+BtaLaFbemhJFQQTiyXLfhWn9tctsXyF8VdbqgrmTLY8V4nwbxr1Mt3QmwL70FbSzTQXaIEO9lif1XEiyK2xdP3jmfn9jdyoYaNE9t7RPhvgRdFbIunP8NnGtiWrb+ol5U8a2K7yMU//MCLIrbF0yfl80R7m4cbNhpkbIm0zn0jxLY876/YkQa2ZSvJ1YvrgDkXGFvCDi48Pse2+PmP/+T7W/YzWmbq5zHU+4v1B/EAbFyQSZTYlu2PCV/esS1j77LoPNwJvDsJrYAXLsS24HHQqt7rn//X+KvyKi1mTr25LtgDj06C+9CgCxdiW/Bn6/H3/G/R53APPBYCQK+RuXBhW7z8TX2sPdpCyKtW7oFNbsRtbnUmxLYEGFv0O4+2EPL0z1Q95GLgA/qlTWJb8LGlurNtC9MiJfgstf1FEZe5bIvlGe/aoC1MC7zKbcXCf4OHKbeIbXl/hX+pk20x+c6H+qjFwifFHl7dIralUD/f7dMWcp9ll1WcdQv+UZlKniC2ZXQFvNkdbguVXeApdy4A8y+EE9vy2qmnc4HbQtlHeQY8ol6KifdT/KQ2sS0yLtXbtU1bOLRsFeCIar/M5RNFbMtJstM4nWbqr2rBtpB7lJeZqoczsfFHtoVtOaxzwdpCk9pkkq7Fxid+SIRtOajqEW0L5YuRwefqxcg7toVtOaiqw9tCbp6E/sbRj2Lkg3r4nRDbsqdr2astNE8G0pY/sy1sS4yxBW8LLY+gLcS2wGML3hZyiyNoC7Et8NiCt4XmyRG0hdgWdGzB20KuZVuGg22xd96FagstB3OfiC9wYVvsbeQQbeFRum+GeL6F2BbcuQRsC+VJr8/lvmZb2Jaoi1y8LeSSEM8TJXyeyBbbYm8jh2kL41Koh7s+PAd9J8S2wN5I6LaQq/n+lp5jW+ydd+HbQnm99+eJZnzvnCG2xV71Gdj7EfZGyo7vyx0YtgVXfRSTttDya3jP/xshtgW0EaO2UCtPuYF9n2gtxLagabFqCzWJPDHhdxWHhW3B02LXFiqtvwdtv255FGJbsLRYtoUu95xRk7gn53gLmm3B17i2baEVcKPI9sD9t7fK20Rsi7GfWgnbluoy+bqs2jYtJnnQq6Im8kXRh4arXLbF2JtOXtQWPnvSbZyiFsAy1/RO0V+BL4RTnKdO04G25e8ibMtL1Q8KcvJPLoG5J6DvnQJPE1GUp04vB9mW37bCtvjYhDrk0qqXJOrYUtVC8Z46nQ6wLdlGhG3x8xBq49Koj7n52GK/bmFbLgVSDq8tf6+FbfGWK6ZGloBbScSxRQuhELuQmUCa4bWlELbFX6uYy/2m1DLi2FKdSQhsy4+CWOnw2nKRsC2AJsxFUd2ol3u7QR5/1SmN7afPkwG2Ra/ZFsBUIU2NXEVvuVpC+Rv8O6EIhyDLIbalatkWf6li2j3H1Cuzl0Lhl0RUq49G/CU6xLbomm3x1wVauNQNEKcQCo11ScRL5IV4uz14W4r01zwAgwvb4kkxs30vrlxt9U4o/BlocsZ/w0QP3pY2xLWZrtkWf04hP+x9x6mUAP7H4V+WeYomtle2I9ebtqzUS7VgW7zlCvkRWNKFX7n8r9OYm1yu9hfi5UojtwU/N3pesy2+SoU0ARZsy73Tkodd+FOqfpqVeFhq9LbgG8KCbfE1UQz+t9q6NEkLvu+nlXpq7oG0RGwL3tGLmm3x9E2otkih3pYWacE3uVTb/Q2TUvvQFnxkLw7UFs4tSYjBRZfGabG/Ac31mxvLC5xm2re2rICT/2yLhzJYW6RQOC74HaL4YwvH2HJXXUanTrUnbcHXudeHaQvbgm3HnioTQbzO1GBsoVQh7vTs+bCMp5lqb9qCT9pVy7Z4ceHaIoUCXCve3l+pWowt1CnKTU7HI/knyatpCYTFtC14SddsixfFNPBtvaeuEvHzOlfEG9mJGt1HlpeT2awoiulsNsmdAszbgk/tVcu2eBgrJg86US/Ew+hKAfCRXC5ccL1vy0q9rNkWD5eK+SHs9saNX1yWZWb4Eg5Kj6ot8oCc/Gdb8FUu/lXnVlHlwrYset7JblQfV1vqBjn5z7bgz6XiL3l/UJhbJPJl42lm873NLSqPoC34nFawLS91q6CzHbf1MOUX8jJeOvUA3n+myyNoC97Si9q4LRxbnDznXveTzxdPujU6O51l6gFf5FJ9ZG1ZQYML24K/TgP/wtBE95eXs+I0/YfTYjZxur+NvBCVx9UWeQBO/rMtO4z+oqhHeVbtND78aAtdHkNb8HXuNduyW5IrrJbntRoffo+I6ua42iIpdICObcHv5uIfXX3Q+PDD/jQ9hrbg69w127L7bi7uLtoVu/2yhdpja8sKGFxCtEXn6dfltJjlme7FyZd1jssWbnN73hZ80l6DbSF8k7vVctnCwWVAbakb6OQ/3hbCP0vzs/bGT95pofLI2iIpcPKfbYm0vthoT1T34ovao2gLXtPCpi3kgKcJYsAfI6Ly2NqyAk7+B28LPQ5prt4IgNqjaAu+zi0s2kJOXqbOmRYOLr1uC77OvUgM2kKdAHEZWFqoO4a24MHSa7Yl6iRQ54NNCxXH0BZ8VKva0G2hXDzU+VDTQrU7tras1Mc6cFvIdeKjnjAtXOcOpC3yAAwuwdpCrXh6UBP2z4HRg1EuIrTFYp27ZltijwIbjeKnz9JHvFf0cdzbtshb4OQ/2xJxgfFzM8xniKhzFj+hHrfl9yVw8j9CW5iWiE9F/18tfcSVSy59bot8Uh8F2xJ9N9rdDiGCZP/Iqev63Zb3D/DJf/u2MC3xly7nrQRCm9Bp6Xdb5EMDDC5sS9RZoHNHfz3EuLhO+t4WeYud/MfbQtlJhB8p4qeP0k+MS/ZZYrXFap17vXdbyH2OcNcBse7EGOOCp2UAbZFPwAE6vC1U1hHma8D5vfQU4+I6idcWs3Xueq+2UPZRPMS7YZRtajFAPzdB0hKxLWbr3KrF20JafpZw7t0xXg7xEF1ZS8y22K1z1wZt4dACSp1aKFsBkf3AuRGJ2ha7dW61ANtC81qCS12EslC8P5prZUhtkU/oyX+2Jf4wkLrjKQtHl4daYrfFcp1bsC39GgbSUgPJ5ocpC907NPzR22K5zr2o2ZaeDQOr26//3hAvjNyjyDDagq9zC5+2UDbtxFy97/CSTVs5KEpz9VA+igylLfg69yJ5cVuovKnlMDo8L9msreXgaHWbAeWP3Bbbde71y9pC5SaRQ+rSSaa+3DReWOj+NgPKH7Mttuvcqt3ZFnKztJYIVjcTpy+VT9PYXaH2psye/xXdrGRrMG3B17nrL7WF3GR6n0hE3X0xyfWLsnx205t5hbr2ZlrmTn+hmXPlrEhX2/APuS3yFhpctm0h58rZ9Gb7g4ht1abFbPLLL3b7m/3l/5jI14D+n905JgIAAIEYxtVG/fvEAMsvTB8FIeBcJOBzk2LbgQMCAAAABEH9X90QYQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAaaH+zkRSSJ1AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/U7.256b26e1.png\";","module.exports = __webpack_public_path__ + \"static/media/U8.f93e7038.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U9.5ca80a28.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U10.56ba6644.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U11.4f6a0028.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U12.048d246d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U13.bbd77c94.png\";","module.exports = __webpack_public_path__ + \"static/media/U14.fdb8ed90.png\";","module.exports = __webpack_public_path__ + \"static/media/U15.e2f3b807.png\";","module.exports = __webpack_public_path__ + \"static/media/U16.97532b57.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U17.e5e0f7a7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/U18.5931fdbd.png\";","module.exports = __webpack_public_path__ + \"static/media/Y1.768ca365.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Y2.c387aea1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Y3.4119ab43.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Y1.3cddf724.png\";","module.exports = __webpack_public_path__ + \"static/media/Y2.10fe840d.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftNav\":\"LeftNav_leftNav__NkiIR\"};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAADgAQMAAABxUpzoAAAAA1BMVEXMzMzKUkQnAAAAAXRSTlMZJI1wpgAAACBJREFUeF7twYEAAAAAw6D7Ux9gCtUCAAAAAAAAAAAAOCdgAAF//KNbAAAAAElFTkSuQmCC\"","import React, { Component } from 'react';\nimport { Link } from \"react-router-dom\";\nimport AnchorLink from 'react-anchor-link-smooth-scroll'\nimport { slide as Menu } from 'react-burger-menu'\nimport css from './MobileNav.module.scss';\nimport ImgMenuIcon from './assets/Hamburger.png';\nimport ImgCloseIcon from './assets/Close.png';\n\n\n\nexport default class MobileNav extends Component {\n constructor (props) {\n super(props)\n this.state = {\n menuOpen: false\n }\n }\n\n handleStateChange (state) {\n this.setState({menuOpen: state.isOpen})\n }\n\n closeMenu () {\n this.setState({menuOpen: false})\n }\n\n toggleMenu () {\n this.setState({menuOpen: !this.state.menuOpen})\n }\n\n render () {\n return (\n
\n

this.closeMenu()}>Derek Fidler

\n }\n customCloseIcon={ \"Close }\n burgerButtonClassName={ css.openButton }\n crossButtonClassName={ css.closeButton }\n menuClassName={ css.menu }\n itemListClassName={ css.menuList }\n itemClassName={ css.menuItem}\n >\n
  • \n this.closeMenu()}>\n Projects\n
  • \n
  • \n this.closeMenu()}>\n About\n
  • \n
  • \n this.closeMenu()}>\n Contact\n
  • \n \n
    \n )\n }\n}\n","import React from 'react';\nimport { Link } from \"react-router-dom\";\nimport css from './ProjectItem.module.scss';\n\n\nexport default function ProjectItem({title, description, position, img, link}) {\n return (\n
  • \n \n {title}\n

    {title}

    \n

    {description}

    \n {position}\n \n
  • \n )\n}\n","import React from 'react';\nimport { Link } from \"react-router-dom\";\nimport css from './ExplorationItem.module.scss';\n\n\nexport default function ExplorationItem({title, description, img, link}) {\n return (\n
    \n \n {title}\n

    {title}

    \n

    {description}

    \n \n
    \n )\n}\n","import React, { Component } from 'react';\nimport Carousel from '@brainhubeu/react-carousel';\nimport '@brainhubeu/react-carousel/lib/style.css';\nimport ExplorationItem from './ExplorationItem';\nimport css from './Explorations.module.scss';\n\nimport ImgGnostMono from '../../routes/Projects/assets/GnostMono.png';\nimport ImgYNABMobile from '../../routes/Projects/assets/YNABMobile.jpg';\nimport ImgYNABTwitch from '../../routes/Projects/assets/YNABTwitch.png';\nimport ImgPlaceholder from '../../routes/Projects/assets/placeholder.png';\n\nclass NextArrow extends Component {\n render() {\n return (\n
    Next
    \n )\n }\n}\n\nclass PrevArrow extends Component {\n render() {\n return (\n
    Prev
    \n )\n }\n}\n\nclass ExplorationsList extends Component {\n render() {\n\n return (\n
    \n
    Explorations
    \n \n
    \n );\n }\n}\n\nexport default ExplorationsList;\n","import React, { Component } from 'react';\nimport css from './Projects.module.scss';\nimport ProjectItem from './ProjectItem.js';\nimport ExplorationsList from '../../components/ExplorationsList';\n\nimport ImgSheltertech from './assets/ShelterTech.png';\nimport ImgAskdarcel from './assets/AskDarcel.png';\nimport ImgBeboTournaments from './assets/BeboTournaments.jpg';\nimport ImgBeboStreaming from './assets/BeboStreaming.jpg';\nimport ImgTwitch from './assets/Twitch.png';\nimport ImgEsportsOne from './assets/EsportsOne.png';\nimport ImgClimateDashboard from './assets/ClimateDashboard.png';\nimport ImgUrbanMobility from './assets/UrbanMobility.png';\n\nexport default class Projects extends Component {\n state = {\n }\n\n render () {\n return (\n
    \n
    \n

    Derek Fidler

    \n

    Amsterdam-based senior product designer & product manager

    \n
    \n
    \n
    Selected Work
    \n \n
    \n \n
    \n )\n }\n}\n","import React from 'react';\n\nimport css from './About.module.scss';\n\nexport default function Article({title, description, img, link}) {\n return (\n
  • \n \n {title}\n
    \n

    {description}

    \n

    {title}

    \n
    \n
    \n
  • \n )\n}\n","import React, { Component } from 'react';\nimport Article from './Article';\nimport css from './About.module.scss';\n\nimport ImgA1 from './assets/a1.jpg';\nimport ImgA2 from './assets/a2.jpg';\nimport ImgA3 from './assets/a3.jpg';\nimport ImgA4 from './assets/a4.jpg';\nimport ImgA5 from './assets/a5.jpg';\nimport ImgA6 from './assets/a6.jpg';\nimport ImgA7 from './assets/a7.jpg';\n\nexport default class About extends Component {\n\n render () {\n return (\n
    \n

    Senior product designer
    \n Product manager
    \n Amateur chef
    \n History lover

    \n On vacation in Denmark\n
    \n

    Senior product designer & product manager with over ten years experience in the industry. I studied Business Administration at CSU Cal Poly and New Media Design at AAU. I then worked at self-funded tech incubator Bebo until it was acquired by Twitch. While in San Francisco, I co-founded a non-profit, ShelterTech, to addres the technology needs of people experiencing homelessness.

    \n

    My nickname at Bebo was “The Mailman” because I deliver every day except Sunday. I believe everything is worth doing with 100% focus and passion. Every task is an opportunity to improve—a chance to elevate work to a craft.

    \n
    \n
    \n

    Core Skills

    \n \n
    \n\n
    \n Workspace\n Workspace\n
    \n\n
    \n

    Outside of work you can find me cooking, traveling, reading New Philosopher magazine, taking photos of my dog and cat, appearing on Dutch television shows, and playing video games. I also enjoy scuba diving, drum & bass, and humid summer nights.

    \n
    \n Photos\n\n \n
    \n )\n }\n}\n","import React from 'react';\nimport css from './Header.module.scss';\n\nexport default function ProjectItem({title, year, position, exploration}) {\n return (\n
    \n

    {title}

    \n
    \n

    Year {year}

    \n

    {position ? \"Role\" : \"Project\"} {position}{exploration}

    \n
    \n
    \n )\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgS1 from './assets/s1.jpg';\nimport ImgS2 from './assets/s2.png';\nimport ImgS3 from './assets/s3.png';\nimport ImgS4 from './assets/s4.jpg';\nimport ImgS5 from './assets/s5.jpg';\nimport ImgS6 from './assets/s6.jpg';\nimport ImgS7 from './assets/s7.jpg';\nimport ImgS8 from './assets/s8.jpg';\nimport ImgS9 from './assets/s9.jpg';\nimport ImgS10 from './assets/s10.jpg';\nimport ImgAskdarcel from '../assets/AskDarcel.png';\nimport ImgYNABMobile from '../assets/YNABMobile.jpg';\n\nexport default class Sheltertech extends Component {\n\n render () {\n return (\n
    \n \n
    \n ShelterTech\n
    \n

    ShelterTech is an award winning non-profit solving the biggest technology challenges faced by people experiencing homelessness. Founded in 2016, ShelterTech is now a 100 member strong volunteer-only organisation with over $100,000 in annual funding, $800,000 in in-kind contributions, and 3 program offerings.

    \n
    \n ShelterTech Identity\n Program Logos\n

    ShelterTech combines the innovation of the tech community and the knowledge of those who’ve experienced homelessness to build a suite of products that addresses the Digital Divide. ShelterConnect installs and operates free wifi for over 3000 people in need, AskDarcel is the first official online directory of human services in the city of San Francisco, and Casey is automating case management and referrals.

    \n ShelterTech Event\n
    \n

    At ShelterTech I’ve put time into every facet of the organisation—from researching and writing about housing issues to designing and developing products for underserved communities, from recruiting and onboarding new talent to hosting panels of industry leaders.

    \n

    My main role is the product manager of AskDarcel, ShelterTech’s primary digital product. I manage the nearly 40 people working on the project, determine the project’s roadmap, and communicate with internal teams, our grant provider, and other external stakeholders.

    \n

    I also serve as head of our design team where my responsibilities include recruiting and onboarding new talent, managing design projects and user research, and creating visual assets for AskDarcel and ShelterTech.

    \n
    \n ShelterTech Website\n ShelterTech Components\n ShelterTech Editorial Infographics\n
    \n

    Our startup roots taught us to make the most impact with the least capital. We adopted a crowd-sourced community development organisational model so we could design and develop world-class tech products without hiring a single developer or designer.

    \n

    Every volunteer delivers maximum value by volunteering their professional skill set: developers develop, designers design, sales people evangelise. Money is reserved for operational expenses and to hire people with lived experience of homelessness to advise our product teams and directly improve product.

    \n
    \n ShelterTech Business Cards\n ShelterTech Year in Review\n
    \n

    As a distributed team, I take organisation, tooling, and communication seriously. I’m an evangelist for adopting the latest technologies that help our team operate more efficiently with as little effort spent on onboarding and communication as possible.

    \n

    From the data we’ve collected about volunteering, it’s essential that the startup time for onboarding is minimal because people’s lives inevitably get busy and volunteers are most productive in the first few weeks of interest. So, I’ve made it my personal goal that any volunteer that wants to help the homeless can join our organisation and get right into a project within a day.

    \n

    We use Slack and Quip for internal communications and project management, Zoom for meetings, Figma for sharing our design system and projects, and Github and Zenhub for managing the codebase.

    \n
    \n Hosting a panel at Code for America\n
    \n

    Want to know more about the design process for this project? View the case study here.

    \n
    \n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgA1 from './assets/a1.jpg';\nimport ImgA2 from './assets/a2.jpg';\nimport ImgA3 from './assets/a3.png';\nimport ImgA4 from './assets/a4.jpg';\nimport ImgA5 from './assets/a5.jpg';\nimport ImgA6 from './assets/a6.jpg';\nimport ImgA7 from './assets/a7.jpg';\nimport ImgA8 from './assets/a8.jpg';\nimport ImgA9 from './assets/a9.jpg';\nimport ImgCaseyGuide from './assets/casey-guide.jpg';\nimport ImgSketchHome from './assets/sketch-homepage.jpg';\nimport ImgSketchResults from './assets/sketch-results.jpg';\nimport ImgUserReasearch from './assets/askdarcel-user-research.jpg';\nimport ImgYNABMobile from '../assets/YNABMobile.jpg';\nimport ImgYNABTwitch from '../assets/YNABTwitch.png';\n\nexport default class AskDarcel extends Component {\n\n render () {\n return (\n
    \n \n
    \n AskDarcel\n
    \n

    In November 2017, ShelterTech begain collaborating with the SF Bar Association’s Homeless Advocacy Project to digitize the legendary HAP Manual, a 400 page tome containing all the human services available in San Francisco.

    \n

    Printing costs and the voluminous amount of content meant the Manual could only be revised every two years and was too expensive and cumbersome for people experiencing homelessness to utilize.

    \n

    AskDarcel lets anyone with access to a smartphone, tablet, or computer find the resources they need—and all the content is continuously updated via a novel approach to crowd sourcing content.

    \n
    \n AskDarcel Identity\n AskDarcel Brand\n AskDarcel Devices\n AskDarcel Icons\n AskDarcel Pages\n
    \n

    A number of problems exist in designing for underserved communities. Technology access and digital literacy, language proficiency, diversity in devices and platforms to name a few.

    \n

    In our first year, our team conducted extensive user research to determine what features we should develop, what platforms we should support, and what communities we would be able to help. We partnered with other Bay Area organisations that have deeper knowledge of serving people experiencining homelessness to fill in for our relative inexperience in the industry.

    \n

    We also decided early on to hire people who’ve experienced homelessness to advise us on product updates and features. The Community Reps help us stay focused on the community we’re trying to help, granting us valuable insight into daily experiences that are largely voiceless in the software development industry.

    \n
    \n AskDarcel User Research\n
    \n

    The biggest problem facing any solution for people experiencing homelessness is trust. The human services ecosystem is constantly shifting as government funding, processes, and requirements change with every new administration. The feedback we heard over and over was that digital resources rarely had correct information and there was a general distrust within the low-income community of San Francisco for tech workers and tech products.

    \n

    So our solution to ensuring our content is high quality and trustworthy involves addressing these two issues head on. We developed a crowd sourcing model of data validation which involves inviting volunteers from the tech community to work together with paid members of the homeless community to continuously update the content on our site. As an extra layer of oversight, our partner HAP verifies any information that’s been vetted through our process for accuracy.

    \n

    In 2018 we had over 200 volunteers attend these events, and they continue to be a major draw for many people who don’t know where to begin when it comes to helping the homeless and for people experiencing homelessness themselves. In solving for the biggest issue for our digital product, we’ve brought together two communities that are typically at odds and managed to save about $60,000-120,000 per year which is the typical cost of hiring staff to perform this function.

    \n
    \n AskDarcel Datathons\n AskDarcel Datathons\n
    \n

    Our users’ goal is to discover services that can help them address their needs, be that affordable housing, legal support, educational programs, and so on.

    \n

    Luckily for us, designing an online directory has many precedents—Google Maps, 211, Yelp, and AirBnB to name a few. Part of our design process involves integrating the features that make other directories successful but in service to communities that are overlooked and underserved. Powerful and predictive search, highly relevant results, meaningful filtering, and clear explanations how to access services is essential to the experience.

    \n
    \n Homepage Process\n Results Page Process\n
    \n

    To specifically address issues with digital literacy, and for users that don’t know where to begin, we’re experimenting with alternative interfaces, backed by the same trustworthy data that is the foundation of our product.

    \n

    Some of our experiments include chat bots, guided interfaces, goal driven to-do lists, and even printed step-by-step guides.

    \n
    \n AskDarcel Mobile\n Casey Print Guide\n
    \n

    Want to know more about the design process for this project? View the case study here.

    \n
    \n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n }\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgB1 from './assets/b1.jpg';\nimport ImgB2 from './assets/b2.jpg';\nimport ImgB4 from './assets/b4.jpg';\nimport ImgB5 from './assets/b5.jpg';\nimport ImgB6 from './assets/b6.jpg';\nimport ImgB7 from './assets/b7.jpg';\nimport ImgB8 from './assets/b8.jpg';\nimport ImgB9 from './assets/b9.jpg';\nimport ImgB10 from './assets/b10.jpg';\nimport ImgSketches1 from './assets/sketch-app-1.jpg';\nimport ImgSketches2 from './assets/sketch-app-2.jpg';\nimport ImgSheltertech from '../assets/ShelterTech.png';\nimport ImgBeboStreaming from '../assets/BeboStreaming.jpg';\n\nexport default class BeboTournaments extends Component {\n\n render () {\n return (\n
    \n \n
    \n Bebo Tournaments App\n
    \n

    Esports is a billion dollar industry and has more viewership than US professional baseball, soccer, and hockey, yet less than 1% of video game players play in professional level tournaments.

    \n

    Bebo Tournaments brings the excitement of pro tournaments to every player. Compete, watch, and win in daily scrimmages and weekly tournaments, no matter your age or skill level.

    \n
    \n Bebo Tournament Logos\n
    \n \n
    \n
    \n

    Pro tournaments typically are played in closed events with a production team that controls graphics, scoring, and the broadcast. Our tournament software uses the game-activity driven graphics engine that we had been working on as part of our streaming software to automate tournament processes so anyone could participate in or run their own tournament with a few minutes of setup.

    \n

    We teamed up with organisations that were running tournaments in the Fortnite community to get started and found that players of every level were excited with how easy it was to participate in our events and how great their streams looked while playing.

    \n
    \n Bebo Tournament Viewer\n Bebo Tournament Overlay Graphics\n
    \n

    As we expanded to include a player base beyond competitive and pro-level players, Bebo Tournaments experimented with bringing pro esports teams to city leagues for high school and younger players, similar to the way Little League Baseball lets young baseball players play as their favourite professional teams.

    \n
    \n Bebo eSports Team Page\n Bebo eSports Concept\n
    \n

    My role on the project varies based on the needs of the team from sprint to sprint. Some weeks I’m delivering visual assets for the app or web interfaces of the product, other weeks I’m creating shareable graphics or art directing with contract designers to support a branded tournament, and in others I’m actively pushing code to improve the user experience.

    \n

    Due to the experimental nature of new products, my function aligns with the greatest needs of our team at the moment and I’m happy to join in wherever I’m needed, whether that’s pushing pixels, chatting with users, or writing css.

    \n
    \n App Sketches\n App Sketches\n
    \n

    The inaugural tournament season started at TwitchCon 2018. Pro players were invited to play against their fans in 30 minute micro-tournaments throughout the entire three day event. Designing the booth layout and graphics was my responsibility. The booth was one of the busiest of the entire exhibition and generated thousands of signups.

    \n
    \n TwitchCon Booth with NateHill\n TwitchCon Booth\n TwitchCon Booth with Sceptic\n
    \n

    Want to know more about the design process for this project? View the case study here.

    \n
    \n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n }\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgB1 from './assets/b1.jpg';\nimport ImgB2 from './assets/b2.jpg';\nimport ImgB3 from './assets/b3.jpg';\nimport ImgB4 from './assets/b4.jpg';\nimport ImgB5 from './assets/b5.jpg';\nimport ImgB6 from './assets/b6.jpg';\nimport ImgB7 from './assets/b7.jpg';\nimport ImgB8 from './assets/b8.jpg';\nimport ImgSketchHome from './assets/sektch-home.jpg';\nimport GifB3 from './assets/animated-logo.gif';\nimport VidB8 from './assets/BRB.mp4';\nimport ImgSheltertech from '../assets/ShelterTech.png';\nimport ImgAskdarcel from '../assets/AskDarcel.png';\n\nexport default class BeboStreaming extends Component {\n\n render () {\n return (\n
    \n \n
    \n Bebo Streaming Software\n
    \n

    Bebo streaming software lets Twitch content creators unleash their creativity with a powerful all-in-one production suite. Ground breaking computer vision technology allows any streamer to create professional looking effects triggered in real time by their gameplay with a few clicks of their mouse.

    \n
    \n
    \n Bebo Logo\n Bebo Animated Logo\n
    \n Bebo Identity\n
    \n

    Bebo’s identity is inspired by the engineering specifications of early television technology—fitting, as Bebo users see Twitch as the future of TV. Bebo’s bold palette is based on the famous SMPTE colour bars and the iconography and interface appeal to the technical and exacting nature of Twitch broadcasters.

    \n
    \n Bebo Interface\n Bebo Interface\n
    \n

    Of the 2 million people that broadcast monthly on Twitch, fewer than 25,000 can stream as a full time job—the vast majority don’t have a large enough community to support them. So we approached this problem by giving content creators more ways to engage their audiences and stand out from the competition.

    \n

    The first roadblock for a new streamer is the existing ecosystem is split amongst a dozen software programs which means hours spent setting up your stream instead of streaming. We integrated the key tools into one platform—streaming and recording, chat, payments, and bots.

    \n

    When Twitch featured our app in an A/B test of their broadcasting tools page, Twitch found that new streamers that used Bebo had a 35% lift in watch time compared to those that didn’t stream with Bebo.

    \n
    \n Bebo Landing Page\n Bebo Sketches\n
    \n

    The special sauce of Bebo is GameSense, a game-activity driven graphics engine which allows streamers to trigger events based on their gameplay. For the first time, streamers can create live broadcasts on par with television without the need of a team managing the graphics.

    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    Along with GameSense, we introduced numerous features that our users asked for, including mini-games, collectables, and reward currencies to boost user engagement. Many of our ideas were eventually supported more directly by Twitch via Twitch Extensions.

    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    My role on this project varied from project management to product design to apparel design. I art directed and managed a team of animators and motion designers to work on many of the overlays and graphics that were built into the app, and I worked alongside our other in-house product designer on the interface and design system for the app itself.

    \n

    The most surprising and fun design project was the creation of a lifestyle apparel brand as a marketing strategy. Brands endemic to gaming understand that gaming is a lifestyle, complete with its own celebrities, language, and fashion, and Twitch is one of the few places gamers congregate on screen. We took advantage of the visual nature of Twitch to spread brand awareness by creating an apparel and accessory line that our users, and some non-users, were proud to wear on and off camera.

    \n
    \n Bebo Apparel\n
    \n

    Want to know more about the design process for this project? View the case study here.

    \n
    \n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n }\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgG1 from './assets/g1.png';\nimport ImgG2 from './assets/g2.jpg';\nimport ImgG3 from './assets/g3.jpg';\nimport ImgG4 from './assets/g4.png';\n\nimport ImgEsportsOne from '../assets/EsportsOne.png';\nimport ImgTwitch from '../assets/Twitch.png';\n\nexport default class GnostMono extends Component {\n\n render () {\n return (\n
    \n \n
    \n Gnost Mono\n
    \n

    Gnost Mono is a monospaced typeface designed for use in GUI text editors. Gnost Mono takes its name from gnosis, the ancient greek word for knowledge.

    \n
    \n Glyphs\n Process\n Samples\n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgTwitch from './assets/Twitch.png';\nimport ImgT1 from './assets/T1.jpg';\n\nimport ImgEsportsOne from '../assets/EsportsOne.png';\nimport ImgClimateDashboard from '../assets/ClimateDashboard.png';\n\nexport default class Twitch extends Component {\n\n render () {\n return (\n
    \n \n
    \n Twitch\n
    \n

    Twitch is the world’s leading live stream platform. Millions of people come together everyday to watch, chat, and make their own interactive entertainment live on Twitch.

    \n

    Twitch has a strong lead in the PC and console gaming markets, but has significant room to grow in mobile gaming. I work as a senior product designer with a focus on emerging markets and mobile gamers. My team’s ambitious goal is to jump start Twitch’s mobile games content and position Twitch as the premier destination for mobile games content.

    \n

    My team was responsible for the launch of the mobile broadcasting feature on the iOS and Android platforms allowing anyone with a phone to stream directly to Twitch. Released in select regions in early 2020, we now have several hundred thousand new mobile creators using our feature each month. In the nearly two years I’ve been at Twitch we’ve been the fastest growing segment and produced nearly 1000% growth year over year.

    \n
    \n Mobile Broadcasting\n
    \n

    Alongside lowering the barrier for mobile broadcasters to start streaming and making a living on Twitch, my team also experiments with mobile-first features that increase mobile viewership, participation, and monetization. In a recent experiment we ran, we increased performance of Clips views by over 300%.

    \n

    Working for a globally recognised brand in an area with massive growth potential with a free license to experiment is a truly special opportunity.

    \n
    \n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgE1 from './assets/E1.png';\nimport ImgE2 from './assets/E2.png';\nimport ImgE3 from './assets/E3.jpg';\nimport ImgE4 from './assets/E4.jpg';\nimport ImgE5 from './assets/E5.jpg';\nimport ImgE6 from './assets/E6.png';\n\nimport ImgClimateDashboard from '../assets/ClimateDashboard.png';\nimport ImgUrbanMobility from '../assets/UrbanMobility.png';\n\nexport default class Twitch extends Component {\n\n render () {\n return (\n
    \n \n
    \n Esports One Design System\n
    \n

    Fantasy esports platform, Esports One, is in the process of switching to Figma to scale up their design team’s capabilities. As an early stage startup, they’ve been focused on growth and moving quickly, but that’s lead to inconsistencies as new designs progress faster than the existing code base. They tasked me with performing a visual audit of their site’s components and Adobe XD files and creating a comprehensive design library in Figma which will function as a single source of truth for designers and developers going forward.

    \n

    After reviewing the existing designs, I split up the design system into four parts: brand assets and brand colours which could be shared with marketers and other teams, a UI kit, and an icon kit.

    \n
    \n Design System File Setup\n Brand Designs\n Icon Library\n Component Library\n
    \n

    Esports products consist mainly of tables so special attention was made to ensure they were highly customisable, resizable, and variants were developed for web and mobile.

    \n
    \n Tables\n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgG1 from './assets/G1.png';\nimport ImgG2 from './assets/G2.png';\nimport ImgG3 from './assets/G3.png';\nimport ImgG4 from './assets/G4.png';\nimport ImgG5 from './assets/G5.png';\nimport ImgG6 from './assets/G6.jpg';\n\nimport ImgUrbanMobility from '../assets/UrbanMobility.png';\nimport ImgBeboTournaments from '../assets/BeboTournaments.jpg';\n\nexport default class Twitch extends Component {\n\n render () {\n return (\n
    \n \n
    \n Climate Dashboard\n
    \n

    I worked with a Dutch green startup to help pivot their food-focused carbon tracking product from the consumer market to B2B through the creation of a new corporate climate impact dashboard. Restaurants, food brands, caterers, and corporations can use this new dashboard to analyse their food purchases and recipes to help them discover their current CO₂ impact, ways they can reduce their impact with alternative products, and purchase offsets.

    \n

    Using early sales conversations and feedback from prospective clients, I helped the team develop a product specification document and wrote user stories to clearly communicate the product’s features to all stakeholders. We scoped out a 3 page web app with each page focusing on one of the core unique selling points: track, reduce, and offset.

    \n

    The tracking page is the heart of the product where users can upload their data, view visualisations of their impact, and get useful infographics that put their impact in perspective for internal and external stakeholders. I worked with a branding designer to develop a vibrant colour scheme for the UI that’s powerful, distinctive, and immersive. Diving into the data should be empowering and inviting, but with such a dramatic colour scheme it was important to ensure that symbolic colours were consistent across every page of the product.

    \n
    \n Impact Tracking\n
    \n

    Taking action to reduce climate change should be as visually gratifying as it is impactful. I introduced a progress meter to the Reduce page so users that make pledges to reduce their CO₂ emissions can see a visualisation of their progress in a glance.

    \n
    \n Impact Reduction\n
    \n

    On the Offset page, I introduced a progress meter of sorts with a visual calculation of the offset costs—as users fill out the form, the formula fills up until the final price can be calculated from all the user’s choices. This visual feedback encourages users to complete the form, see how many steps are left, and how their choices impact cost.

    \n
    \n Impact Offsetting\n
    \n

    The product was designed to be fully accessible via mobile web. Each page was designed with a single purpose in mind which aided in the transition to mobile. Colour schemes were also coordinated to connect pages within a flow—blues for tracking, purple for reduction, greens for offsetting, yellows for onboarding, and peach for payment.

    \n
    \n Mobile Web\n
    \n

    After completing the dashboard designs, I worked with the client to design and write copy for a landing page which communicates the decades of cutting edge climate research experience of the team with the practical application of data that the product hopes to provide to customers.

    \n
    \n Landing Page\n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgU1 from './assets/U1.jpg';\nimport ImgU2 from './assets/U2.jpg';\nimport ImgU3 from './assets/U3.jpg';\nimport ImgU4 from './assets/U4.jpg';\nimport ImgU5 from './assets/U5.png';\nimport ImgU6 from './assets/U6.png';\nimport ImgU7 from './assets/U7.png';\nimport ImgU8 from './assets/U8.jpg';\nimport ImgU9 from './assets/U9.jpg';\nimport ImgU10 from './assets/U10.jpg';\nimport ImgU11 from './assets/U11.jpg';\nimport ImgU12 from './assets/U12.jpg';\nimport ImgU13 from './assets/U13.png';\nimport ImgU14 from './assets/U14.png';\nimport ImgU15 from './assets/U15.png';\nimport ImgU16 from './assets/U16.jpg';\nimport ImgU17 from './assets/U17.jpg';\nimport ImgU18 from './assets/U18.png';\n\nimport ImgBeboTournaments from '../assets/BeboTournaments.jpg';\nimport ImgBeboStreaming from '../assets/BeboStreaming.jpg';\n\nexport default class Twitch extends Component {\n\n render () {\n return (\n
    \n \n
    \n Urban Mobility App\n
    \n

    I was approached by a stealth-mode urban mobility startup to help them design an early brand identity, design their consumer ridesharing app, and explore designs for their vehicles.

    \n

    The startup was developing an electric single passenger vehicle with an accompanying on-demand service, as well as the technology to convert any production car into a fully autonomous vehicle. Their service focused on customers who want an ecologically friendly, all-weather, last mile transportation option to a variety of urban locations including places of work, leisure, and living.

    \n

    The project started with persona development of the customers in targeted pilot cities to inform product and design decisions.

    \n
    \n Persona\n Persona\n Persona\n
    \n

    Logo marque and brand explorations were conducted in parallel to vehicle design explorations. The customer needed a logo marque and brand colour that could easily be identified by a person in a passing car which helped narrow down the logo marque to a typographic style and a bright purple colour rarely seen on the road.

    \n
    \n Logo Explorations\n Logo\n
    \n

    70% of car trips in the US only have a single passenger so the client planned to utilise EV microcars which are cheap and widely available in Asia and can ride in underutilised bike lanes and other specially marked routes in pilot cities. Working with the client we targeted two designs: striped and bordered. We explored the use of several colour schemes which would aid users in vehicle identification, but with a small launch fleet we decided on a single colour design for this phase of the pilot.

    \n
    \n Vehicle Explorations\n Vehicle Explorations\n Vehicle Angles\n Vehicle Data Sheet\n
    \n

    In situ designs helped the client and external stakeholders envision the vehicle’s scale and branding and its ability to integrate into underutilised bike infrastructure.

    \n
    \n In situ shots\n In situ white sheet\n
    \n

    Later vehicle explorations focused on production car models that could be converted to semi or fully autonomous vehicles with a proprietary kit. Example colour combinations reflected a future fleet where the car’s colour would be identified in the mobile app to aid the rider in visually acquiring their car on a busy street.

    \n
    \n Vehicle Explorations\n Vehicle Explorations\n
    \n

    I worked with the client to wireframe a happy path for a first time user which helped identify missing user stories and edge cases. Because the product envisions users driving the vehicle, the onboarding of the product is fairly long and requires a driver’s license verification. In the wireframing process, I identified areas where the onboarding could be shortened and permissions could be requested a later time in the user’s experience.

    \n
    \n Wireframes\n App Screens\n
    \n

    After the vehicle arrives, the user’s phone is docked on the dashboard and the user goes through a safety checklist before launching guidance and heading for their destiantion. Because the phone is visible to the driver while driving, I designed the app with a dark mode for use at night.

    \n
    \n Night and Day Modes\n
    \n

    The last phase of the project included a design of a B2B platform for corporate account holders to manage their employees accounts.

    \n
    \n Business Portal\n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgY1 from './assets/Y1.jpg';\nimport ImgY2 from './assets/Y2.jpg';\nimport ImgY3 from './assets/Y3.jpg';\n\nimport ImgYNABTwitch from '../assets/YNABTwitch.png';\nimport ImgGnostMono from '../assets/GnostMono.png';\n\nexport default class Twitch extends Component {\n\n render () {\n return (\n
    \n \n
    \n YNAB Mobile Screens\n
    \n

    You Need a Budget, YNAB, is one of my favourite products. It's given me tremendous insight into my spending and helped me hit major savings goals for my wedding and buying a house.

    \n

    YNAB is all about staying within budget and it nails that experience. Every category of spending gets a preallocation of funds every month and then as you spend from that category the balance draws down to zero. Simple!

    \n

    In the current mobile experience, there’s a column for this month’s funds budgeted into each category and for the available amount. When I’m out and about I find that I really only need to know how much I can spend from a category so in my design I’ve simplified to just the available amount and then added a line of contextual information in a human readable format, just so I don’t have to do mental math on the go. The addition of icons for each category also helps distinguish the more spacious table rows at a glance.

    \n
    \n Budget Screen Before and After\n
    \n

    As someone that came to YNAB after trying several other budgeting and financial products (Simple, Mint, Level, Motif, Robinhood, Quicken, Quickbooks), I love the idea of goals as something to rally behind and get excited about. In a way, budgets look backwards at what you've spent, while goals look forward to things you want to spend on.

    \n

    The current YNAB mobile experience hides goals behind a tap from the categories view. To bring goals to the forefront, I've added a new top level tab where you can see all your goals at a glance. Each goal is linked to a budget item the same way they are now, so it's more a function of surfacing a feature that already exists and that I love instead of adding something new.

    \n

    In addition to bringing goals front and center, I’ve also revamped the Reports view to make it more dynamic, contextual, and action oriented. I got into using YNAB because I wanted to better plan for the future so in this redesign I’ve taken forecasting to the next level. On the Net Worth graph I added a forecast line so I can quickly see if I’m on the right track to hitting my long term goals. I’ve also added notification cards which draw attention to important timely information like falling behind on savings goals or upcoming bills.

    \n
    \n YNAB Mobile Screens\n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from '../ProjectPage/ProjectPage.module.scss';\nimport Header from '../ProjectPage/Header';\nimport ProjectItem from '../ProjectItem.js';\n\nimport ImgY1 from './assets/Y1.png';\nimport ImgY2 from './assets/Y2.png';\n\nimport ImgTwitch from '../assets/Twitch.png';\nimport ImgGnostMono from '../assets/GnostMono.png';\n\nexport default class YNABTwitch extends Component {\n\n render () {\n return (\n
    \n \n
    \n YNAB Core UI Redesign\n
    \n

    Twitch Design hosted a friendly competition to redesign our favourite apps using our component library, CoreUI. Since I’m a huge fan of YNAB, my submission was a redesign of YNAB’s primary interface, and I won second place!

    \n
    \n Core UI Design Fridays Winners\n
    \n
    \n
    More Projects
    \n
      \n \n \n
    \n
    \n
    \n )\n }\n}\n","import React from 'react';\nimport { Switch, Route, withRouter } from 'react-router-dom';\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport ScrollToTop from 'react-router-scroll-top';\n\nimport Projects from '../routes/Projects';\nimport About from '../routes/About';\nimport Sheltertech from '../routes/Projects/Sheltertech';\nimport Askdarcel from '../routes/Projects/Askdarcel';\nimport BeboTournaments from '../routes/Projects/BeboTournaments';\nimport BeboStreaming from '../routes/Projects/BeboStreaming';\nimport GnostMono from '../routes/Projects/GnostMono';\nimport Twitch from '../routes/Projects/Twitch';\nimport EsportsOne from '../routes/Projects/EsportsOne';\nimport ClimateDashboard from '../routes/Projects/ClimateDashboard';\nimport UrbanMobility from '../routes/Projects/UrbanMobility';\nimport YNABMobile from '../routes/Projects/YNABMobile';\nimport YNABTwitch from '../routes/Projects/YNABTwitch';\n\nfunction Container({ location }) {\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n )\n}\n\nexport default withRouter(Container);\n","import React, { Component } from 'react';\nimport { Link } from \"react-router-dom\";\nimport AnchorLink from 'react-anchor-link-smooth-scroll'\nimport css from './LeftNav.module.scss';\n\nexport default class LeftNav extends Component {\n state = {\n }\n\n render () {\n return (\n \n )\n }\n}\n","import React, { Component } from 'react';\nimport css from './Footer.module.scss';\n\nexport default class Footer extends Component {\n state = {\n }\n\n render () {\n return (\n \n )\n }\n}\n","import React, { Component } from 'react';\nimport { BrowserRouter as Router } from 'react-router-dom';\nimport ReactGA from 'react-ga';\n\nimport MobileNav from './components/MobileNav';\nimport Container from './components/Container';\nimport LeftNav from './components/LeftNav';\nimport Footer from './components/Footer';\n\nimport './styles/App.scss';\n\nclass App extends Component {\n initializeReactGA() {\n ReactGA.initialize('UA-36865561-1');\n ReactGA.pageview('/homepage');\n }\n\n render() {\n return (\n \n \n
    \n \n \n
    \n {this.initializeReactGA()}\n
    \n );\n }\n}\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}