<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/styles.5499ad07186b564189da.css" id="gatsby-global-css">@font-face{font-family:Avenir Next;font-style:normal;font-weight:400;src:url(/static/regular-1865888b1d4e34558535249ddb497a98.woff) format("woff"),url(/static/regular-4548f91e3a9a58be82784c6f16bc21ca.ttf) format("truetype")}@font-face{font-family:Avenir Next;font-style:normal;font-weight:600;src:url(/static/demi-a32e7281898e573d9b34038f0bc82b44.woff2) format("woff2"),url(/static/demi-a5bdf33e9bb1e19beb55843286517025.woff) format("woff"),url(/static/demi-65ec526625069f9a8e3663c7f1d66d5e.ttf) format("truetype")}@font-face{font-family:Avenir Next;font-style:normal;font-weight:700;src:url(/static/bold-3ea4491c96b46aa421a537bb777407f8.woff2) format("woff2"),url(/static/bold-868301b971d3d73a9bd797096ee32504.woff) format("woff"),url(/static/bold-678ef46828539159b647c93716839afa.ttf) format("truetype")}</style><meta name="generator" content="Gatsby 2.30.1"/><style data-styled="eVqhdr fGFhzf krmNvS huGwVJ hMkddd lnzyEs hPCnUN jPJKmQ gcZgIO gSpYBQ ixPUtc chbMKb dfjjJL lgWgBH fQAmMb blAAPJ jFKLDL dfwthn" data-styled-version="4.1.1">
/* sc-component-id: grid__Grid-sc-1q5ruyf-0 */
.lnzyEs{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:10px;padding:0 30px;} @media (min-width:768px){.lnzyEs{margin:0 auto;width:768px;padding:0 50px;}} @media (min-width:992px){.lnzyEs{width:992px;padding:0 120px;}} @media (min-width:1200px){.lnzyEs{width:1200px;}}
/* sc-component-id: header__HeaderStyled-rywtmm-0 */
.fGFhzf{grid-column:span 12;width:100%;height:140px;color:white;background-color:#000;font-weight:700;}
/* sc-component-id: header__Grid-rywtmm-1 */
.krmNvS{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:10px;padding:0 30px;height:100%;} @media (min-width:768px){.krmNvS{margin:0 auto;width:768px;padding:0 50px;}} @media (min-width:992px){.krmNvS{width:992px;padding:0 120px;}} @media (min-width:1200px){.krmNvS{width:1200px;}}
/* sc-component-id: header__StyledLink-rywtmm-2 */
.huGwVJ{grid-column:span 12;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;-webkit-text-decoration:none;text-decoration:none;color:#fff;font-size:24px;}
/* sc-component-id: nav__NavItem-w1lq6d-0 */
.gcZgIO{display:inline-block;font-weight:600;font-size:20px;} .gcZgIO a{-webkit-text-decoration:none;text-decoration:none;color:#000022;} .gcZgIO:nth-child(1){grid-column:1 / span 4;} .gcZgIO:nth-child(2){text-align:center;grid-column:5 / span 4;} .gcZgIO:nth-child(3){text-align:right;grid-column:9 / span 4;} @media (min-width:768px){.gcZgIO{font-size:24px;text-align:left;grid-column-end:span 4;}.gcZgIO:nth-child(2){text-align:left;grid-column:6 / span 3;}.gcZgIO:nth-child(3){grid-column:9 / span 4;}}
/* sc-component-id: nav__Underline-w1lq6d-1 */
.ixPUtc{width:0;margin-top:3px;height:4px;background-color:#000;}
/* sc-component-id: nav__Link-w1lq6d-2 */
.gSpYBQ{display:inline-block;}
/* sc-component-id: nav__Grid-w1lq6d-3 */
.jPJKmQ{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:10px;padding:0 30px;margin-top:70px;margin-bottom:90px;} @media (min-width:768px){.jPJKmQ{margin:0 auto;width:768px;padding:0 50px;}} @media (min-width:992px){.jPJKmQ{width:992px;padding:0 120px;}} @media (min-width:1200px){.jPJKmQ{width:1200px;}} @media (min-width:768px){.jPJKmQ{margin-top:50px;margin-bottom:130px;}}
/* sc-component-id: sc-global-1303565824 */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;} body{margin:0;} article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block;} audio,canvas,progress,video{display:inline-block;} audio:not([controls]){display:none;height:0;} progress{vertical-align:baseline;} [hidden],template{display:none;} a{background-color:transparent;-webkit-text-decoration-skip:objects;} a:active,a:hover{outline-width:0;} abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;} b,strong{font-weight:inherit;font-weight:bolder;} dfn{font-style:italic;} h1{font-size:2em;margin:0.67em 0;} mark{background-color:#ff0;color:#000;} small{font-size:80%;} sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;} sub{bottom:-0.25em;} sup{top:-0.5em;} img{border-style:none;} svg:not(:root){overflow:hidden;} code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;} figure{margin:1em 40px;} hr{box-sizing:content-box;height:0;overflow:visible;} button,input,optgroup,select,textarea{font:inherit;margin:0;} optgroup{font-weight:700;} button,input{overflow:visible;} button,select{text-transform:none;} [type='reset'],[type='submit'],button,html [type='button']{-webkit-appearance:button;} [type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0;} [type='button']:-moz-focusring,[type='reset']:-moz-focusring,[type='submit']:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText;} fieldset{border:1px solid silver;margin:0 2px;padding:0.35em 0.625em 0.75em;} legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;} textarea{overflow:auto;} [type='checkbox'],[type='radio']{box-sizing:border-box;padding:0;} [type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button{height:auto;} [type='search']{-webkit-appearance:textfield;outline-offset:-2px;} [type='search']::-webkit-search-cancel-button,[type='search']::-webkit-search-decoration{-webkit-appearance:none;} ::-webkit-input-placeholder{color:inherit;opacity:0.54;} ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;} html{font:112.5%/1.45em georgia,serif;box-sizing:border-box;overflow-y:scroll;} *{box-sizing:inherit;} *:before{box-sizing:inherit;} *:after{box-sizing:inherit;} body{color:hsla(0,0%,0%,0.8);font-family:georgia,serif;font-weight:normal;word-wrap:break-word;font-kerning:normal;-moz-font-feature-settings:'kern','liga','clig','calt';-ms-font-feature-settings:'kern','liga','clig','calt';-webkit-font-feature-settings:'kern','liga','clig','calt';font-feature-settings:'kern','liga','clig','calt';} img{max-width:100%;margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} h1{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:bold;text-rendering:optimizeLegibility;font-size:2.25rem;line-height:1.1;} h2{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:bold;text-rendering:optimizeLegibility;font-size:1.62671rem;line-height:1.1;} h3{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:bold;text-rendering:optimizeLegibility;font-size:1.38316rem;line-height:1.1;} h4{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:bold;text-rendering:optimizeLegibility;font-size:1rem;line-height:1.1;} h5{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:bold;text-rendering:optimizeLegibility;font-size:0.85028rem;line-height:1.1;} h6{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:bold;text-rendering:optimizeLegibility;font-size:0.78405rem;line-height:1.1;} hgroup{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} ul{margin-left:1.45rem;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;list-style-position:outside;list-style-image:none;} ol{margin-left:1.45rem;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;list-style-position:outside;list-style-image:none;} dl{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} dd{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} p{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} figure{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} pre{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;font-size:0.85rem;line-height:1.42;background:hsla(0,0%,0%,0.04);border-radius:3px;overflow:auto;word-wrap:normal;padding:1.45rem;} table{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;font-size:1rem;line-height:1.45rem;border-collapse:collapse;width:100%;} fieldset{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} blockquote{margin-left:1.45rem;margin-right:1.45rem;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} form{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} noscript{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} iframe{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} hr{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:calc(1.45rem - 1px);background:hsla(0,0%,0%,0.2);border:none;height:1px;} address{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.45rem;} b{font-weight:bold;} strong{font-weight:bold;} dt{font-weight:bold;} th{font-weight:bold;} li{margin-bottom:calc(1.45rem / 2);} ol li{padding-left:0;} ul li{padding-left:0;} li > ol{margin-left:1.45rem;margin-bottom:calc(1.45rem / 2);margin-top:calc(1.45rem / 2);} li > ul{margin-left:1.45rem;margin-bottom:calc(1.45rem / 2);margin-top:calc(1.45rem / 2);} blockquote *:last-child{margin-bottom:0;} li *:last-child{margin-bottom:0;} p *:last-child{margin-bottom:0;} li > p{margin-bottom:calc(1.45rem / 2);} code{font-size:0.85rem;line-height:1.45rem;} kbd{font-size:0.85rem;line-height:1.45rem;} samp{font-size:0.85rem;line-height:1.45rem;} abbr{border-bottom:1px dotted hsla(0,0%,0%,0.5);cursor:help;} acronym{border-bottom:1px dotted hsla(0,0%,0%,0.5);cursor:help;} abbr[title]{border-bottom:1px dotted hsla(0,0%,0%,0.5);cursor:help;-webkit-text-decoration:none;text-decoration:none;} thead{text-align:left;} td,th{text-align:left;border-bottom:1px solid hsla(0,0%,0%,0.12);font-feature-settings:'tnum';-moz-font-feature-settings:'tnum';-ms-font-feature-settings:'tnum';-webkit-font-feature-settings:'tnum';padding-left:0.96667rem;padding-right:0.96667rem;padding-top:0.725rem;padding-bottom:calc(0.725rem - 1px);} th:first-child,td:first-child{padding-left:0;} th:last-child,td:last-child{padding-right:0;} tt,code{background-color:hsla(0,0%,0%,0.04);border-radius:3px;font-family:'SFMono-Regular',Consolas,'Roboto Mono','Droid Sans Mono','Liberation Mono',Menlo,Courier,monospace;padding:0;padding-top:0.2em;padding-bottom:0.2em;} pre code{background:none;line-height:1.42;} code:before,code:after,tt:before,tt:after{-webkit-letter-spacing:-0.2em;-moz-letter-spacing:-0.2em;-ms-letter-spacing:-0.2em;letter-spacing:-0.2em;content:' ';} pre code:before,pre code:after,pre tt:before,pre tt:after{content:'';} @media only screen and (max-width:480px){html{font-size:100%;}} body,h1,h2,h3,h4,h5{font-family:Avenir Next,-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';}
/* sc-component-id: bio__BioStyled-sc-158yv7x-0 */
.hMkddd{padding:50px 0;border-bottom:1px solid #000;}
/* sc-component-id: bio__BioText-sc-158yv7x-1 */
.hPCnUN{grid-column:span 12;color:#9999AA;} @media (min-width:768px){.hPCnUN{grid-column:1 / span 9;}} .hPCnUN strong{color:#000022;font-weight:normal;}
/* sc-component-id: footer__FooterStyled-sc-1yst20m-0 */
.blAAPJ{margin:220px 0 20px;grid-column:span 12;} @media (min-width:768px){.blAAPJ{grid-column:1 / span 12;}}
/* sc-component-id: footer__CompanyText-sc-1yst20m-1 */
.jFKLDL{display:inline-block;font-size:10px;color:#666677;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;}
/* sc-component-id: footer__Copyright-sc-1yst20m-2 */
.dfwthn{font-size:16px;font-weight:700;color:#000;}
/* sc-component-id: layout__Container-t54o0k-0 */
.eVqhdr{min-height:100vh;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} .eVqhdr > *{-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;}
/* sc-component-id: layout__Main-t54o0k-1 */
.chbMKb{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;}
/* sc-component-id: pages__Container-sc-13n1mpy-0 */
.dfjjJL{display:none;margin-top:-100px;} @media (min-width:768px){.dfjjJL{display:block;}}
/* sc-component-id: pages__Paragraph-sc-13n1mpy-1 */
.lgWgBH{opacity:0;font-size:16px;color:#666677;} .lgWgBH:nth-child(1){grid-column:1 / span 3;} .lgWgBH:nth-child(2){grid-column:6 / span 3;} .lgWgBH:nth-child(3){text-align:right;grid-column:10 / span 3;} .lgWgBH a{color:inherit;-webkit-text-decoration:none;text-decoration:none;} .lgWgBH a:hover{-webkit-text-decoration:underline;text-decoration:underline;}
/* sc-component-id: pages__Badge-sc-13n1mpy-2 */
.fQAmMb{display:inline-block;background-color:#9999AA;color:#fff;border-radius:2px;font-size:13px;line-height:1.5;padding:0 6px;margin:0 5px 0 0;}</style><title data-react-helmet="true">pb.codes</title><meta data-react-helmet="true" name="description" content="Freelance front-end web developer, Philip Bulley, London. TypeScript, JavaScript and React web development."/><meta data-react-helmet="true" name="keywords" content="Philip Bulley, web developer London, freelance web developer, React, Redux, RxJS, TypeScript, JavaScript"/><meta data-react-helmet="true" name="theme-color" content="#000"/><link rel="icon" href="/favicon-32x32.png?v=55d768b54b04223d7634115fe221ae0b" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=55d768b54b04223d7634115fe221ae0b"/><link rel="preconnect" href="https://www.google-analytics.com"/><link rel="dns-prefetch" href="https://www.google-analytics.com"/><link as="script" rel="preload" href="/webpack-runtime-f36dbf32ceb3a4c05149.js"/><link as="script" rel="preload" href="/framework-f8bfb95927b3dbb08f8f.js"/><link as="script" rel="preload" href="/styles-bc72ca78f9bad9fb1f45.js"/><link as="script" rel="preload" href="/app-e2f05fa8b5452c1c9682.js"/><link as="script" rel="preload" href="/component---src-pages-index-js-98f92f767715293d50ed.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/3649515864.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div><div class="layout__Container-t54o0k-0 eVqhdr"><div class="header__HeaderStyled-rywtmm-0 fGFhzf"><div class="header__Grid-rywtmm-1 krmNvS"><a aria-current="page" class="header__StyledLink-rywtmm-2 huGwVJ" href="/">pb.codes</a></div></div><div class="bio__BioStyled-sc-158yv7x-0 hMkddd"><div class="grid__Grid-sc-1q5ruyf-0 lnzyEs"><div class="bio__BioText-sc-158yv7x-1 hPCnUN"><strong>I&#x27;m Philip Bulley.</strong> An experienced London-based freelance front-end developer specialising in web app development. Loves TypeScript, JavaScript, React &amp; GraphQL.</div></div></div><div class="nav__Grid-w1lq6d-3 jPJKmQ"><div class="nav__NavItem-w1lq6d-0 gcZgIO"><a class="nav__Link-w1lq6d-2 gSpYBQ" href="/projects/">Projects.<div class="nav__Underline-w1lq6d-1 ixPUtc"></div></a></div><div class="nav__NavItem-w1lq6d-0 gcZgIO"><a class="nav__Link-w1lq6d-2 gSpYBQ" href="/about/">About.<div class="nav__Underline-w1lq6d-1 ixPUtc"></div></a></div><div class="nav__NavItem-w1lq6d-0 gcZgIO"><a class="nav__Link-w1lq6d-2 gSpYBQ" href="/contact/">Contact.<div class="nav__Underline-w1lq6d-1 ixPUtc"></div></a></div></div><div class="layout__Main-t54o0k-1 chbMKb"><div class="pages__Container-sc-13n1mpy-0 dfjjJL"><div class="grid__Grid-sc-1q5ruyf-0 lnzyEs"><p class="pages__Paragraph-sc-13n1mpy-1 lgWgBH"><span class="pages__Badge-sc-13n1mpy-2 fQAmMb">Latest</span>NatWest — Mettle</p><p class="pages__Paragraph-sc-13n1mpy-1 lgWgBH">Loves web app dev and user interface</p><p class="pages__Paragraph-sc-13n1mpy-1 lgWgBH"><a href="mailto:hello@pb.codes">hello@pb.codes</a></p></div></div></div><div class="grid__Grid-sc-1q5ruyf-0 lnzyEs"><div class="footer__FooterStyled-sc-1yst20m-0 blAAPJ"><div class="footer__CompanyText-sc-1yst20m-1 jFKLDL"><div class="footer__Copyright-sc-1yst20m-2 dfwthn">© <!-- -->MMXXI<!-- --> pb.codes</div></div></div></div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script>
  
  
  if(true) {
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  }
  if (typeof ga === "function") {
    ga('create', 'UA-131286876-1', 'auto', {});
      
      
      
      
      
      }</script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-5a6e209cbc4603be15a7.js"],"app":["/app-e2f05fa8b5452c1c9682.js"],"component---src-pages-404-js":["/component---src-pages-404-js-fee36f93f14a93422481.js"],"component---src-pages-about-js":["/component---src-pages-about-js-6eace0b1eb75923c5f86.js"],"component---src-pages-contact-js":["/component---src-pages-contact-js-93341aed7873b895643b.js"],"component---src-pages-index-js":["/component---src-pages-index-js-98f92f767715293d50ed.js"],"component---src-pages-projects-js":["/component---src-pages-projects-js-86232594934af42c1dfe.js"]};/*]]>*/</script><script src="/polyfill-5a6e209cbc4603be15a7.js" nomodule=""></script><script src="/component---src-pages-index-js-98f92f767715293d50ed.js" async=""></script><script src="/app-e2f05fa8b5452c1c9682.js" async=""></script><script src="/styles-bc72ca78f9bad9fb1f45.js" async=""></script><script src="/framework-f8bfb95927b3dbb08f8f.js" async=""></script><script src="/webpack-runtime-f36dbf32ceb3a4c05149.js" async=""></script></body></html>