PageSourceSearch

https://bareynol.github.io/about/

html bareynol.github.io collected 2026-10-03 08:41:25 UTC 84,357 bytes, 35 lines download raw bytes

1<!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"/><meta name="generator" content="Gatsby 2.22.15"/><title data-react-helmet="true">About Me | Brian Reynolds</title><meta data-react-helmet="true" name="description" content="I am a software developer, and this is my site."/><meta data-react-helmet="true" property="og:title" content="About Me"/><meta data-react-helmet="true" property="og:description" content="I am a software developer, and this is my site."/><meta data-react-helmet="true" property="og:type" content="website"/><meta data-react-helmet="true" name="twitter:card" content="summary"/><meta data-react-helmet="true" name="twitter:creator" content="@bareynol"/><meta data-react-helmet="true" name="twitter:title" content="About Me"/><meta data-react-helmet="true" name="twitter:description" content="I am a software developer, and this is my site."/><link rel="icon" href="/favicon-32x32.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="theme-color" content="#0f0f0f"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=c0a5c0a8095a60c21a1e39071b727091"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=c0a5c0a8095a60c21a1e39071b727091"/><style id="jss-server-side">.MuiToolbar-root{display:flex;position:relative;align-items:center}.MuiToolbar-gutters{padding-left:16px;padding-right:16px}@media (min-width:600px){.MuiToolbar-gutters{padding-left:24px;padding-right:24px}}.MuiToolbar-regular{min-height:56px}@media (min-width:0px) and (orientation:landscape){.MuiToolbar-regular{min-height:48px}}@media (min-width:600px){.MuiToolbar-regular{min-height:64px}}.MuiToolbar-dense{min-height:48px}.MuiButtonBase-root{color:inherit;border:0;cursor:pointer;margin:0;display:inline-flex;outline:0;padding:0;position:relative;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:0;vertical-align:middle;-moz-appearance:none;justify-content:center;text-decoration:none;background-color:transparent;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.MuiButtonBase-root::-moz-focus-inner{border-style:none}.MuiButtonBase-root.Mui-disabled{cursor:default;pointer-events:none}@media print{.MuiButtonBase-root{-webkit-print-color-adjust:exact;color-adjust:exact}}.MuiButton-root{color:#fff;padding:6px 16px;font-size:.875rem;min-width:64px;box-sizing:border-box;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border 250ms cubic-bezier(.4,0,.2,1) 0s;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:500;line-height:1.75;border-radius:4px;letter-spacing:.02857em;text-transform:uppercase}.MuiButton-root:hover{text-decoration:none;background-color:rgba(255,255,255,.08)}.MuiButton-root.Mui-disabled{color:rgba(255,255,255,.3)}@media (hover:none){.MuiButton-root:hover{background-color:transparent}}.MuiButton-root:hover.Mui-disabled{background-color:transparent}.MuiButton-label{width:100%;display:inherit;align-items:inherit;justify-content:inherit}.MuiButton-text{padding:6px 8px}.MuiButton-textPrimary{color:#0f0}.MuiButton-textPrimary:hover{background-color:rgba(0,255,0,.08)}@media (hover:none){.MuiButton-textPrimary:hover{background-color:transparent}}.MuiButton-textSecondary{color:#f50057}.MuiButton-textSecondary:hover{background-color:rgba(245,0,87,.08)}@media (hover:none){.MuiButton-textSecondary:hover{background-color:transparent}}.MuiButton-outlined{border:1px solid rgba(255,255,255,.23);padding:5px 15px}.MuiButton-outlined.Mui-disabled{border:1px solid rgba(255,255,255,.12)}.MuiButton-outlinedPrimary{color:#0f0;border:1px solid rgba(0,255,0,.5)}.MuiButton-outlinedPrimary:hover{border:1px solid #0f0;background-color:rgba(0,255,0,.08)}@media (hover:none){.MuiButton-outlinedPrimary:hover{background-color:transparent}}.MuiButton-outlinedSecondary{color:#f50057;border:1px solid rgba(245,0,87,.5)}.MuiButton-outlinedSecondary:hover{border:1px solid #f50057;background-color:rgba(245,0,87,.08)}.MuiButton-outlinedSecondary.Mui-disabled{border:1px solid rgba(255,255,255,.3)}@media (hover:none){.MuiButton-outlinedSecondary:hover{background-color:transparent}}.MuiButton-contained{color:rgba(0,0,0,.87);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);background-color:#e0e0e0}.MuiButton-contained:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#d5d5d5}.MuiButton-contained.Mui-focusVisible{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.MuiButton-contained:active{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.MuiButton-contained.Mui-disabled{color:rgba(255,255,255,.3);box-shadow:none;background-color:rgba(255,255,255,.12)}@media (hover:none){.MuiButton-contained:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);background-color:#e0e0e0}}.MuiButton-contained:hover.Mui-disabled{background-color:rgba(255,255,255,.12)}.MuiButton-containedPrimary{color:rgba(0,0,0,.87);background-color:#0f0}.MuiButton-containedPrimary:hover{background-color:#00b200}@media (hover:none){.MuiButton-containedPrimary:hover{background-color:#0f0}}.MuiButton-containedSecondary{color:#fff;background-color:#f50057}.MuiButton-containedSecondary:hover{background-color:#c51162}@media (hover:none){.MuiButton-containedSecondary:hover{background-color:#f50057}}.MuiButton-disableElevation{box-shadow:none}.MuiButton-disableElevation:hover{box-shadow:none}.MuiButton-disableElevation.Mui-focusVisible{box-shadow:none}.MuiButton-disableElevation:active{box-shadow:none}.MuiButton-disableElevation.Mui-disabled{box-shadow:none}.MuiButton-colorInherit{color:inherit;border-color:currentColor}.MuiButton-textSizeSmall{padding:4px 5px;font-size:.8125rem}.MuiButton-textSizeLarge{padding:8px 11px;font-size:.9375rem}.MuiButton-outlinedSizeSmall{padding:3px 9px;font-size:.8125rem}.MuiButton-outlinedSizeLarge{padding:7px 21px;font-size:.9375rem}.MuiButton-containedSizeSmall{padding:4px 10px;font-size:.8125rem}.MuiButton-containedSizeLarge{padding:8px 22px;font-size:.9375rem}.MuiButton-fullWidth{width:100%}.MuiButton-startIcon{display:inherit;margin-left:-4px;margin-right:8px}.MuiButton-startIcon.MuiButton-iconSizeSmall{margin-left:-2px}.MuiButton-endIcon{display:inherit;margin-left:8px;margin-right:-4px}.MuiButton-endIcon.MuiButton-iconSizeSmall{margin-right:-2px}.MuiButton-iconSizeSmall>:first-child{font-size:18px}.MuiButton-iconSizeMedium>:first-child{font-size:20px}.MuiButton-iconSizeLarge>:first-child{font-size:22px}.MuiTypography-root{margin:0}.MuiTypography-body2{font-size:.875rem;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.43;letter-spacing:.01071em}.MuiTypography-body1{font-size:1rem;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5;letter-spacing:.00938em}.MuiTypography-caption{font-size:.75rem;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.66;letter-spacing:.03333em}.MuiTypography-button{color:#0f0;font-size:.875rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera S
1ans Mono","Courier New";font-weight:500;line-height:1.75;letter-spacing:.02857em;text-transform:uppercase}.MuiTypography-h1{color:#0f0;font-size:3.5rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:300;line-height:1.167;letter-spacing:-.01562em}@media (min-width:600px){.MuiTypography-h1{font-size:4.7129rem}}@media (min-width:960px){.MuiTypography-h1{font-size:5.3556rem}}@media (min-width:1280px){.MuiTypography-h1{font-size:5.9983rem}}.MuiTypography-h2{color:#0f0;font-size:2.375rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:300;line-height:1.2;letter-spacing:-.00833em}@media (min-width:600px){.MuiTypography-h2{font-size:2.9167rem}}@media (min-width:960px){.MuiTypography-h2{font-size:3.3333rem}}@media (min-width:1280px){.MuiTypography-h2{font-size:3.75rem}}.MuiTypography-h3{color:#0f0;font-size:2rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:400;line-height:1.167;letter-spacing:0}@media (min-width:600px){.MuiTypography-h3{font-size:2.5707rem}}@media (min-width:960px){.MuiTypography-h3{font-size:2.7849rem}}@media (min-width:1280px){.MuiTypography-h3{font-size:2.9991rem}}.MuiTypography-h4{color:#0f0;font-size:1.5625rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:400;line-height:1.235;letter-spacing:.00735em}@media (min-width:600px){.MuiTypography-h4{font-size:1.8219rem}}@media (min-width:960px){.MuiTypography-h4{font-size:2.0243rem}}@media (min-width:1280px){.MuiTypography-h4{font-size:2.0243rem}}.MuiTypography-h5{color:#0f0;font-size:1.25rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:400;line-height:1.334;letter-spacing:0}@media (min-width:600px){.MuiTypography-h5{font-size:1.3118rem}}@media (min-width:960px){.MuiTypography-h5{font-size:1.4993rem}}@media (min-width:1280px){.MuiTypography-h5{font-size:1.4993rem}}.MuiTypography-h6{color:#0f0;font-size:1.125rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:500;line-height:1.6;letter-spacing:.0075em}@media (min-width:600px){.MuiTypography-h6{font-size:1.25rem}}@media (min-width:960px){.MuiTypography-h6{font-size:1.25rem}}@media (min-width:1280px){.MuiTypography-h6{font-size:1.25rem}}.MuiTypography-subtitle1{color:#0f0;font-size:1rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:400;line-height:1.75;letter-spacing:.00938em}.MuiTypography-subtitle2{color:#0f0;font-size:.875rem;font-family:Consolas,Monaco,"Lucidia Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New";font-weight:500;line-height:1.57;letter-spacing:.00714em}.MuiTypography-overline{font-size:.75rem;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:2.66;letter-spacing:.08333em;text-transform:uppercase}.MuiTypography-srOnly{width:1px;height:1px;overflow:hidden;position:absolute}.MuiTypography-alignLeft{text-align:left}.MuiTypography-alignCenter{text-align:center}.MuiTypography-alignRight{text-align:right}.MuiTypography-alignJustify{text-align:justify}.MuiTypography-noWrap{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.MuiTypography-gutterBottom{margin-bottom:.35em}.MuiTypography-paragraph{margin-bottom:16px}.MuiTypography-colorInherit{color:inherit}.MuiTypography-colorPrimary{color:#0f0}.MuiTypography-colorSecondary{color:#f50057}.MuiTypography-colorTextPrimary{color:#fff}.MuiTypography-colorTextSecondary{color:rgba(255,255,255,.7)}.MuiTypography-colorError{color:#f44336}.MuiTypography-displayInline{display:inline}.MuiTypography-displayBlock{display:block}.MuiLink-underlineNone{text-decoration:none}.MuiLink-underlineHover{text-decoration:none}.MuiLink-underlineHover:hover{text-decoration:underline}.MuiLink-underlineAlways{text-decoration:underline}.MuiLink-button{border:0;cursor:pointer;margin:0;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:0;vertical-align:middle;-moz-appearance:none;background-color:transparent;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.MuiLink-button::-moz-focus-inner{border-style:none}.MuiLink-button.Mui-focusVisible{outline:auto}.MuiSvgIcon-root{fill:currentColor;width:1em;height:1em;display:inline-block;font-size:1.5rem;transition:fill .2s cubic-bezier(.4,0,.2,1) 0s;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.MuiSvgIcon-colorPrimary{color:#0f0}.MuiSvgIcon-colorSecondary{color:#f50057}.MuiSvgIcon-colorAction{color:#fff}.MuiSvgIcon-colorError{color:#f44336}.MuiSvgIcon-colorDisabled{color:rgba(255,255,255,.3)}.MuiSvgIcon-fontSizeInherit{font-size:inherit}.MuiSvgIcon-fontSizeSmall{font-size:1.25rem}.MuiSvgIcon-fontSizeLarge{font-size:2.1875rem}.jss3{border-bottom:1px solid rgba(255,255,255,.12);justify-content:space-between}.jss4{flex:1;flex-grow:1}.jss5{overflow-x:auto;justify-content:center}.jss6{flex:1;display:flex;padding:8px;justify-content:center}@media (min-width:960px){.jss7{display:none}}@media (max-width:959.95px){.jss8{display:none}}.MuiPaper-root{color:#fff;
1transition:box-shadow .3s cubic-bezier(.4,0,.2,1) 0s;background-color:#212121}.MuiPaper-rounded{border-radius:4px}.MuiPaper-outlined{border:1px solid rgba(255,255,255,.12)}.MuiPaper-elevation0{box-shadow:none}.MuiPaper-elevation1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.MuiPaper-elevation2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.MuiPaper-elevation3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.MuiPaper-elevation4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.MuiPaper-elevation5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.MuiPaper-elevation6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.MuiPaper-elevation7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.MuiPaper-elevation8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.MuiPaper-elevation9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.MuiPaper-elevation10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.MuiPaper-elevation11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.MuiPaper-elevation12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.MuiPaper-elevation13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.MuiPaper-elevation14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.MuiPaper-elevation15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.MuiPaper-elevation16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.MuiPaper-elevation17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.MuiPaper-elevation18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.MuiPaper-elevation19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.MuiPaper-elevation20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.MuiPaper-elevation21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.MuiPaper-elevation22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.MuiPaper-elevation23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.MuiPaper-elevation24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.MuiAvatar-root{width:40px;height:40px;display:flex;overflow:hidden;position:relative;font-size:1.25rem;align-items:center;flex-shrink:0;font-family:Roboto,Helvetica,Arial,sans-serif;line-height:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:50%;justify-content:center}.MuiAvatar-colorDefault{color:#111;background-color:#757575}.MuiAvatar-rounded{border-radius:4px}.MuiAvatar-square{border-radius:0}.MuiAvatar-img{color:transparent;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;text-align:center;text-indent:10000px}.MuiAvatar-fallback{width:75%;height:75%}.MuiCard-root{overflow:hidden}.MuiCardContent-root{padding:16px}.MuiCardContent-root:last-child{padding-bottom:24px}.MuiIconButton-root{flex:0 0 auto;color:#fff;padding:12px;overflow:visible;font-size:1.5rem;text-align:center;transition:background-color 150ms cubic-bezier(.4,0,.2,1) 0s;border-radius:50%}.MuiIconButton-root:hover{background-color:rgba(255,255,255,.08)}.MuiIconButton-root.Mui-disabled{color:rgba(255,255,255,.3);background-color:transparent}@media (hover:none){.MuiIconButton-root:hover{background-color:transparent}}.MuiIconButton-edgeStart{margin-left:-12px}.MuiIconButton-sizeSmall.MuiIconButton-edgeStart{margin-left:-3px}.MuiIconButton-edgeEnd{margin-right:-12px}.MuiIconButton-sizeSmall.MuiIconButton-edgeEnd{margin-right:-3px}.MuiIconButton-colorInherit{color:inherit}.MuiIconButton-colorPrimary{color:#0f0}.MuiIconButton-colorPrimary:hover{background-color:rgba(0,255,0,.08)}@media (hover:none){.MuiIconButton-colorPrimary:hover{background-color:transparent}}.MuiIconButton-colorSecondary{color:#f50057}.MuiIconButton-colorSecondary:hover{background-color:rgba(245,0,87,.08)}@media (hover:none){.MuiIconButton-colorSecondary:hover{background-color:transparent}}.MuiIconButton-sizeSmall{padding:3px;font-size:1.125rem}.MuiIconButton-label{width:100%;display:flex;align-items:inherit;justify-content:inherit}.MuiContainer-root{width:100%;display:block;box-sizing:border-box;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}@media (min-width:600px){.MuiContainer-root{padding-left:24px;padding-right:24px}}@media (min-width:0px) and (max-width:599.95px){.MuiContainer-root{padding-left:4px;padding-right:4px}}.MuiContainer-disableGutters{padding-left:0;padding-right:0}@media (min-width:600px){.MuiContainer-fixed{max-width:600px}}@media (min-width:960px){.MuiContainer-fixed{max-width:960px}}@media (min-width:1280px){.MuiContainer-fixed{max-width:1280px}}@media (min-width:1920px){.MuiContainer-fixed{max-width:1920px}}@media (min-width:0px){.MuiContainer-maxWidthXs{max-width:444px}}@media (min-width:600px){.MuiContainer-maxWidthSm{max-width:600px}}@media (min-width:960px){.MuiContainer-maxWidthMd{max-width:960px}}@media (min-width:1280px){.MuiContainer-maxWidthLg{max-width:1280px}}@media (min-width:1920px){.MuiContainer-maxWidthXl{max-width:1920px}}html{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,::after,::before{box-sizing:inherit}b,strong{font-weight:700}body{color:#fff;margin:0;font-size:.875rem;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.43;letter-spacing:.01071em;background-color:#111}@media print{body{background-color:#fff}}body::-webkit-backdrop{background-color:#111}body::backdrop{background-color:#111}.MuiGrid-container{width:100%;display:flex;flex-wrap:wrap;box-sizing:border-box}.MuiGrid-item{margin:0;box-sizing:border-box}.MuiGrid-zeroMinWidth{min-width:0}.MuiGrid-direction-xs-column{flex-direction:column}.MuiGrid-direction-xs-column-reverse{flex-direction:column-reverse}.MuiGrid-direction-xs-row-reverse{flex-direction:row-reverse}.MuiGrid-wrap-xs-nowrap{flex-wrap:nowrap}.MuiGrid-wrap-xs-wrap-reverse{flex-wrap:wrap-reverse}.MuiGrid-align-items-xs-center{align-items:center}.MuiGrid-align-items-xs-flex-start{align-items:flex-start}.MuiGrid-align-items-xs-flex-end{align-items:flex-end}
1.MuiGrid-align-items-xs-baseline{align-items:baseline}.MuiGrid-align-content-xs-center{align-content:center}.MuiGrid-align-content-xs-flex-start{align-content:flex-start}.MuiGrid-align-content-xs-flex-end{align-content:flex-end}.MuiGrid-align-content-xs-space-between{align-content:space-between}.MuiGrid-align-content-xs-space-around{align-content:space-around}.MuiGrid-justify-xs-center{justify-content:center}.MuiGrid-justify-xs-flex-end{justify-content:flex-end}.MuiGrid-justify-xs-space-between{justify-content:space-between}.MuiGrid-justify-xs-space-around{justify-content:space-around}.MuiGrid-justify-xs-space-evenly{justify-content:space-evenly}.MuiGrid-spacing-xs-1{width:calc(100% + 8px);margin:-4px}.MuiGrid-spacing-xs-1>.MuiGrid-item{padding:4px}.MuiGrid-spacing-xs-2{width:calc(100% + 16px);margin:-8px}.MuiGrid-spacing-xs-2>.MuiGrid-item{padding:8px}.MuiGrid-spacing-xs-3{width:calc(100% + 24px);margin:-12px}.MuiGrid-spacing-xs-3>.MuiGrid-item{padding:12px}.MuiGrid-spacing-xs-4{width:calc(100% + 32px);margin:-16px}.MuiGrid-spacing-xs-4>.MuiGrid-item{padding:16px}.MuiGrid-spacing-xs-5{width:calc(100% + 40px);margin:-20px}.MuiGrid-spacing-xs-5>.MuiGrid-item{padding:20px}.MuiGrid-spacing-xs-6{width:calc(100% + 48px);margin:-24px}.MuiGrid-spacing-xs-6>.MuiGrid-item{padding:24px}.MuiGrid-spacing-xs-7{width:calc(100% + 56px);margin:-28px}.MuiGrid-spacing-xs-7>.MuiGrid-item{padding:28px}.MuiGrid-spacing-xs-8{width:calc(100% + 64px);margin:-32px}.MuiGrid-spacing-xs-8>.MuiGrid-item{padding:32px}.MuiGrid-spacing-xs-9{width:calc(100% + 72px);margin:-36px}.MuiGrid-spacing-xs-9>.MuiGrid-item{padding:36px}.MuiGrid-spacing-xs-10{width:calc(100% + 80px);margin:-40px}.MuiGrid-spacing-xs-10>.MuiGrid-item{padding:40px}.MuiGrid-grid-xs-auto{flex-grow:0;max-width:none;flex-basis:auto}.MuiGrid-grid-xs-true{flex-grow:1;max-width:100%;flex-basis:0}.MuiGrid-grid-xs-1{flex-grow:0;max-width:8.333333%;flex-basis:8.333333%}.MuiGrid-grid-xs-2{flex-grow:0;max-width:16.666667%;flex-basis:16.666667%}.MuiGrid-grid-xs-3{flex-grow:0;max-width:25%;flex-basis:25%}.MuiGrid-grid-xs-4{flex-grow:0;max-width:33.333333%;flex-basis:33.333333%}.MuiGrid-grid-xs-5{flex-grow:0;max-width:41.666667%;flex-basis:41.666667%}.MuiGrid-grid-xs-6{flex-grow:0;max-width:50%;flex-basis:50%}.MuiGrid-grid-xs-7{flex-grow:0;max-width:58.333333%;flex-basis:58.333333%}.MuiGrid-grid-xs-8{flex-grow:0;max-width:66.666667%;flex-basis:66.666667%}.MuiGrid-grid-xs-9{flex-grow:0;max-width:75%;flex-basis:75%}.MuiGrid-grid-xs-10{flex-grow:0;max-width:83.333333%;flex-basis:83.333333%}.MuiGrid-grid-xs-11{flex-grow:0;max-width:91.666667%;flex-basis:91.666667%}.MuiGrid-grid-xs-12{flex-grow:0;max-width:100%;flex-basis:100%}@media (min-width:600px){.MuiGrid-grid-sm-auto{flex-grow:0;max-width:none;flex-basis:auto}.MuiGrid-grid-sm-true{flex-grow:1;max-width:100%;flex-basis:0}.MuiGrid-grid-sm-1{flex-grow:0;max-width:8.333333%;flex-basis:8.333333%}.MuiGrid-grid-sm-2{flex-grow:0;max-width:16.666667%;flex-basis:16.666667%}.MuiGrid-grid-sm-3{flex-grow:0;max-width:25%;flex-basis:25%}.MuiGrid-grid-sm-4{flex-grow:0;max-width:33.333333%;flex-basis:33.333333%}.MuiGrid-grid-sm-5{flex-grow:0;max-width:41.666667%;flex-basis:41.666667%}.MuiGrid-grid-sm-6{flex-grow:0;max-width:50%;flex-basis:50%}.MuiGrid-grid-sm-7{flex-grow:0;max-width:58.333333%;flex-basis:58.333333%}.MuiGrid-grid-sm-8{flex-grow:0;max-width:66.666667%;flex-basis:66.666667%}.MuiGrid-grid-sm-9{flex-grow:0;max-width:75%;flex-basis:75%}.MuiGrid-grid-sm-10{flex-grow:0;max-width:83.333333%;flex-basis:83.333333%}.MuiGrid-grid-sm-11{flex-grow:0;max-width:91.666667%;flex-basis:91.666667%}.MuiGrid-grid-sm-12{flex-grow:0;max-width:100%;flex-basis:100%}}@media (min-width:960px){.MuiGrid-grid-md-auto{flex-grow:0;max-width:none;flex-basis:auto}.MuiGrid-grid-md-true{flex-grow:1;max-width:100%;flex-basis:0}.MuiGrid-grid-md-1{flex-grow:0;max-width:8.333333%;flex-basis:8.333333%}.MuiGrid-grid-md-2{flex-grow:0;max-width:16.666667%;flex-basis:16.666667%}.MuiGrid-grid-md-3{flex-grow:0;max-width:25%;flex-basis:25%}.MuiGrid-grid-md-4{flex-grow:0;max-width:33.333333%;flex-basis:33.333333%}.MuiGrid-grid-md-5{flex-grow:0;max-width:41.666667%;flex-basis:41.666667%}.MuiGrid-grid-md-6{flex-grow:0;max-width:50%;flex-basis:50%}.MuiGrid-grid-md-7{flex-grow:0;max-width:58.333333%;flex-basis:58.333333%}.MuiGrid-grid-md-8{flex-grow:0;max-width:66.666667%;flex-basis:66.666667%}.MuiGrid-grid-md-9{flex-grow:0;max-width:75%;flex-basis:75%}.MuiGrid-grid-md-10{flex-grow:0;max-width:83.333333%;flex-basis:83.333333%}.MuiGrid-grid-md-11{flex-grow:0;max-width:91.666667%;flex-basis:91.666667%}.MuiGrid-grid-md-12{flex-grow:0;max-width:100%;flex-basis:100%}}@media (min-width:1280px){.MuiGrid-grid-lg-auto{flex-grow:0;max-width:none;flex-basis:auto}.MuiGrid-grid-lg-true{flex-grow:1;max-width:100%;flex-basis:0}.MuiGrid-grid-lg-1{flex-grow:0;max-width:8.333333%;flex-basis:8.333333%}.MuiGrid-grid-lg-2{flex-grow:0;max-width:16.666667%;flex-basis:16.666667%}.MuiGrid-grid-lg-3{flex-grow:0;max-width:25%;flex-basis:25%}.MuiGrid-grid-lg-4{flex-grow:0;max-width:33.333333%;flex-basis:33.333333%}.MuiGrid-grid-lg-5{flex-grow:0;max-width:41.666667%;flex-basis:41.666667%}.MuiGrid-grid-lg-6{flex-grow:0;max-width:50%;flex-basis:50%}.MuiGrid-grid-lg-7{flex-grow:0;max-width:58.333333%;flex-basis:58.333333%}.MuiGrid-grid-lg-8{flex-grow:0;max-width:66.666667%;flex-basis:66.666667%}.MuiGrid-grid-lg-9{flex-grow:0;max-width:75%;flex-basis:75%}.MuiGrid-grid-lg-10{flex-grow:0;max-width:83.333333%;flex-basis:83.333333%}.MuiGrid-grid-lg-11{flex-grow:0;max-width:91.666667%;flex-basis:91.666667%}.MuiGrid-grid-lg-12{flex-grow:0;max-width:100%;flex-basis:100%}}@media (min-width:1920px){.MuiGrid-grid-xl-auto{flex-grow:0;max-width:none;flex-basis:auto}.MuiGrid-grid-xl-true{flex-grow:1;max-width:100%;flex-basis:0}.MuiGrid-grid-xl-1{flex-grow:0;max-width:8.333333%;flex-basis:8.333333%}.MuiGrid-grid-xl-2{flex-grow:0;max-width:16.666667%;flex-basis:16.666667%}.MuiGrid-grid-xl-3{flex-grow:0;max-width:25%;flex-basis:25%}.MuiGrid-grid-xl-4{flex-grow:0;max-width:33.333333%;flex-basis:33.333333%}.MuiGrid-grid-xl-5{flex-grow:0;max-width:41.666667%;flex-basis:41.666667%}.MuiGrid-grid-xl-6{flex-grow:0;max-width:50%;flex-basis:50%}.MuiGrid-grid-xl-7{flex-grow:0;max-width:58.333333%;flex-basis:58.333333%}.MuiGrid-grid-xl-8{flex-grow:0;max-width:66.666667%;flex-basis:66.666667%}.MuiGrid-grid-xl-9{flex-grow:0;max-width:75%;flex-basis:75%}.MuiGrid-grid-xl-10{flex-grow:0;max-width:83.333333%;flex-basis:83.333333%}.MuiGrid-grid-xl-11{flex-grow:0;max-width:91.666667%;flex-basis:91.666667%}.MuiGrid-grid-xl-12{flex-grow:0;max-width:100%;flex-basis:100%}}.MuiGridList-root{display:flex;padding:0;flex-wrap:wrap;list-style:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.MuiGridListTile-root{box-sizing:border-box;flex-shrink:0}.MuiGridListTile-tile{height:100%;display:block;overflow:hidden;position:relative}.MuiGridListTile-imgFullHeight{left:50%;height:100%;position:relative;transform:translateX(-50%)}.MuiGridListTile-imgFullWidth{top:50%;width:100%;position:relative;transform:translateY(-50%)}.MuiListItem-root{width:100%;display:flex;position:relative;box-sizing:border-box;text-align:left;align-items:center;padding-top:8px;padding-bottom:8px;justify-content:flex-start;text-decoration:none}.MuiListItem-root.Mui-focusVisible{background-color:rgba(255,255,255,.16)}
1.MuiListItem-root.Mui-selected,.MuiListItem-root.Mui-selected:hover{background-color:rgba(255,255,255,.16)}.MuiListItem-root.Mui-disabled{opacity:.5}.MuiListItem-container{position:relative}.MuiListItem-dense{padding-top:4px;padding-bottom:4px}.MuiListItem-alignItemsFlexStart{align-items:flex-start}.MuiListItem-divider{border-bottom:1px solid rgba(255,255,255,.12);background-clip:padding-box}.MuiListItem-gutters{padding-left:16px;padding-right:16px}.MuiListItem-button{transition:background-color 150ms cubic-bezier(.4,0,.2,1) 0s}.MuiListItem-button:hover{text-decoration:none;background-color:rgba(255,255,255,.08)}@media (hover:none){.MuiListItem-button:hover{background-color:transparent}}.MuiListItem-secondaryAction{padding-right:48px}.MuiListItemIcon-root{color:#fff;display:inline-flex;min-width:56px;flex-shrink:0}.MuiListItemIcon-alignItemsFlexStart{margin-top:8px}.MuiListItemText-root{flex:1 1 auto;min-width:0;margin-top:4px;margin-bottom:4px}.MuiListItemText-multiline{margin-top:6px;margin-bottom:6px}.MuiListItemText-inset{padding-left:56px}.jss1{padding:48px 0;margin-top:64px}.jss2{text-align:center}.jss2>*{margin:8px}.jss15{padding:48px 0;margin-top:64px}.jss16{text-align:center}.jss16>*{margin:8px}.jss13{top:7px;width:auto;display:inline-flex;padding-left:8px;padding-right:8px}.jss14{top:-1px}.jss9{max-width:345px}.jss10{padding-left:16px}.jss11{height:80px;-moz-columns:2;columns:2;padding-left:16px}.jss12{display:flex}</style><link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Roboto&amp;display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto&amp;display=swap"/><link as="script" rel="preload" href="/webpack-runtime-b6afcf8a194720a58dad.js"/><link as="script" rel="preload" href="/framework-4b6e6fca25677e0206fe.js"/><link as="script" rel="preload" href="/app-e0c53d52dab6e2b2c296.js"/><link as="script" rel="preload" href="/commons-14a4cf52b0cfbaf713c1.js"/><link as="script" rel="preload" href="/3fad701dabb0323f806e5e1f39352f25eb6fd7a8-2f6b32f32e88887f64ba.js"/><link as="script" rel="preload" href="/95c8b0b3d1aa27eebd1ffa166434b1c3239f06ee-7b0c39ac6471db3d21c7.js"/><link as="script" rel="preload" href="/component---src-pages-about-js-20d8126d3104db68f361.js"/><link as="fetch" rel="preload" href="/page-data/about/page-data.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 class="MuiContainer-root MuiContainer-maxWidthLg"><div class="MuiToolbar-root MuiToolbar-regular jss3 jss7 MuiToolbar-gutters"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover jss4 MuiTypography-colorPrimary" href="/"><h5 class="MuiTypography-root MuiTypography-h5 MuiTypography-noWrap MuiTypography-alignCenter">Brian Reynolds</h5><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-alignCenter">Software Developer</h6></a></div><div class="MuiToolbar-root MuiToolbar-regular jss3 MuiToolbar-gutters"><a aria-current="page" class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-textSizeSmall MuiButton-sizeSmall" tabindex="0" role="button" aria-disabled="false" style="flex:1" href="/about/"><span class="MuiButton-label">About Me</span></a><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover jss4 jss8 MuiTypography-colorPrimary" href="/"><h5 class="MuiTypography-root MuiTypography-h5 MuiTypography-noWrap MuiTypography-alignCenter">Brian Reynolds</h5><h6 class="MuiTypography-root MuiTypography-h6 MuiTypography-alignCenter">Software Developer</h6></a><a class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-textSizeSmall MuiButton-sizeSmall" tabindex="0" aria-disabled="false" style="flex:1" href="https://github.com/bareynol" target="_blank" rel="noreferrer"><span class="MuiButton-label">Github<span class="MuiButton-endIcon MuiButton-iconSizeSmall"><svg class="MuiSvgIcon-root jss8 MuiSvgIcon-fontSizeSmall" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 .3a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.4-1.8-1.4-1.8-1-.7.1-.7.1-.7 1.2 0 1.9 1.2 1.9 1.2 1 1.8 2.8 1.3 3.5 1 0-.8.4-1.3.7-1.6-2.7-.3-5.5-1.3-5.5-6 0-1.2.5-2.3 1.3-3.1-.2-.4-.6-1.6 0-3.2 0 0 1-.3 3.4 1.2a11.5 11.5 0 0 1 6 0c2.3-1.5 3.3-1.2 3.3-1.2.6 1.6.2 2.8 0 3.2.9.8 1.3 1.9 1.3 3.2 0 4.6-2.8 5.6-5.5 5.9.5.4.9 1 .9 2.2v3.3c0 .3.1.7.8.6A12 12 0 0 0 12 .3"></path></svg></span></span></a></div><nav class="MuiToolbar-root MuiToolbar-dense jss3 jss5 MuiToolbar-gutters"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover jss6 MuiTypography-button MuiTypography-colorInherit MuiTypography-noWrap" href="/projects/">Projects</a><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover jss6 MuiTypography-button MuiTypography-colorInherit MuiTypography-noWrap"></a><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover jss6 MuiTypography-button MuiTypography-colorInherit MuiTypography-noWrap" href="/resume/">Résumé</a></nav><main>
1<div class="MuiContainer-root MuiContainer-maxWidthLg"><h3 class="MuiTypography-root MuiTypography-h3" style="margin-top:32px">About Me</h3><div class="MuiPaper-root MuiCard-root MuiPaper-outlined MuiPaper-rounded" style="background-color:#111111;margin-bottom:32px"><div class="MuiCardContent-root"><div class="MuiGrid-root MuiGrid-container MuiGrid-direction-xs-column MuiGrid-align-items-xs-center"><div class="MuiAvatar-root MuiAvatar-circle" style="width:128px;height:128px"><img alt="Brian Reynolds" src="data:image/webp;base64,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" class="MuiAvatar-img"/></div><p class="MuiTypography-root MuiTypography-body1 MuiTypography-alignCenter" style="margin-top:8px">I am Brian Reynolds, a programmer from Ontario, Canada</p><p class="MuiTypography-root MuiTypography-body2">Reach me here:<!-- --> <a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiTypography-colorSecondary" href="mailto:[email protected]">[email protected]</a> </p></div></div></div><div><h5 class="MuiTypography-root MuiTypography-h5">Content</h5><ul style="list-style:none"><li><h6 class="MuiTypography-root MuiTypography-subtitle1 MuiTypography-colorTextPrimary">1. <a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiTypography-colorPrimary" href="#What_I_do">What I do</a></h6></li><li><h6 class="MuiTypography-root MuiTypography-subtitle1 MuiTypography-colorTextPrimary">2. <a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiTypography-colorPrimary" href="#My_dev_stack">My dev stack</a></h6></li></ul></div><div><div style="margin-top:64px"><h4 class="MuiTypography-root MuiTypography-h4" id="What_I_do">What I do</h4><p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph">I am a software developer, usually working on web applications,
2            with some dabbling in IoT, networking, and hardware.</p><p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph">My most recent work experience is as lead developer on
3          an IoT web application that collected and analyzed environment
4          sensor data, and provided automatic and scheduled control
5          capabilities to both large-scale commercial clients
6          (2,500+ sq. ft) and small-scale at-home clients (&lt;10 sq. ft).
7          I was responsible for writing the overarching cloud web
8          application as well as underlying device firmware on both
9          single-board computers and system-on-a-chip microcontrollers.</p><p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph">The firmware that I wrote handled data reporting to the
10          cloud, running scheduled tasks, and activating climate control
11          systems to keep various climate variables in a scheduled range
12          defined by the user.  The firmware also exposed a secure API
13          to interact with the mobile application, which allowed it to
14          automatically handle setting up new devices on the user’s network.</p></div><div style="margin-top:64px"><h4 class="MuiTypography-root MuiTypography-h4" id="My_dev_stack">My dev stack</h4><h6 class="MuiTypography-root MuiTypography-subtitle1">Web Frontend</h6><div style="padding-left:16px;margin-bottom:32px"><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Base</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://reactjs.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M12,10.11C13.03,10.11 13.87,10.95 13.87,12C13.87,13 13.03,13.85 12,13.85C10.97,13.85 10.13,13 10.13,12C10.13,10.95 10.97,10.11 12,10.11M7.37,20C8,20.38 9.38,19.8 10.97,18.3C10.45,17.71 9.94,17.07 9.46,16.4C8.64,16.32 7.83,16.2 7.06,16.04C6.55,18.18 6.74,19.65 7.37,20M8.08,14.26L7.79,13.75C7.68,14.04 7.57,14.33 7.5,14.61C7.77,14.67 8.07,14.72 8.38,14.77C8.28,14.6 8.18,14.43 8.08,14.26M14.62,13.5L15.43,12L14.62,10.5C14.32,9.97 14,9.5 13.71,9.03C13.17,9 12.6,9 12,9C11.4,9 10.83,9 10.29,9.03C10,9.5 9.68,9.97 9.38,10.5L8.57,12L9.38,13.5C9.68,14.03 10,14.5 10.29,14.97C10.83,15 11.4,15 12,15C12.6,15 13.17,15 13.71,14.97C14,14.5 14.32,14.03 14.62,13.5M12,6.78C11.81,7 11.61,7.23 11.41,7.5C11.61,7.5 11.8,7.5 12,7.5C12.2,7.5 12.39,7.5 12.59,7.5C12.39,7.23 12.19,7 12,6.78M12,17.22C12.19,17 12.39,16.77 12.59,16.5C12.39,16.5 12.2,16.5 12,16.5C11.8,16.5 11.61,16.5 11.41,16.5C11.61,16.77 11.81,17 12,17.22M16.62,4C16,3.62 14.62,4.2 13.03,5.7C13.55,6.29 14.06,6.93 14.54,7.6C15.36,7.68 16.17,7.8 16.94,7.96C17.45,5.82 17.26,4.35 16.62,4M15.92,9.74L16.21,10.25C16.32,9.96 16.43,9.67 16.5,9.39C16.23,9.33 15.93,9.28 15.62,9.23C15.72,9.4 15.82,9.57 15.92,9.74M17.37,2.69C18.84,3.53 19,5.74 18.38,8.32C20.92,9.07 22.75,10.31 22.75,12C22.75,13.69 20.92,14.93 18.38,15.68C19,18.26 18.84,20.47 17.37,21.31C15.91,22.15 13.92,21.19 12,19.36C10.08,21.19 8.09,22.15 6.62,21.31C5.16,20.47 5,18.26 5.62,15.68C3.08,14.93 1.25,13.69 1.25,12C1.25,10.31 3.08,9.07 5.62,8.32C5,5.74 5.16,3.53 6.62,2.69C8.09,1.85 10.08,2.81 12,4.64C13.92,2.81 15.91,1.85 17.37,2.69M17.08,12C17.42,12.75 17.72,13.5 17.97,14.26C20.07,13.63 21.25,12.73 21.25,12C21.25,11.27 20.07,10.37 17.97,9.74C17.72,10.5 17.42,11.25 17.08,12M6.92,12C6.58,11.25 6.28,10.5 6.03,9.74C3.93,10.37 2.75,11.27 2.75,12C2.75,12.73 3.93,13.63 6.03,14.26C6.28,13.5 6.58,12.75 6.92,12M15.92,14.26C15.82,14.43 15.72,14.6 15.62,14.77C15.93,14.72 16.23,14.67 16.5,14.61C16.43,14.33 16.32,14.04 16.21,13.75L15.92,14.26M13.03,18.3C14.62,19.8 16,20.38 16.62,20C17.26,19.65 17.45,18.18 16.94,16.04C16.17,16.2 15.36,16.32 14.54,16.4C14.06,17.07 13.55,17.71 13.03,18.3M8.08,9.74C8.18,9.57 8.28,9.4 8.38,9.23C8.07,9.28 7.77,9.33 7.5,9.39C7.57,9.67 7.68,9.96 7.79,10.25L8.08,9.74M10.97,5.7C9.38,4.2 8,3.62 7.37,4C6.74,4.35 6.55,5.82 7.06,7.96C7.83,7.8 8.64,7.68 9.46,7.6C9.94,6.93 10.45,6.29 10.97,5.7Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">React</span></div></a></div></li><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://www.typescriptlang.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M3,3H21V21H3V3M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86M13,11.25H8V12.75H9.5V20H11.25V12.75H13V11.25Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Typescript</span></div></a></div></li><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://www.gatsbyjs.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C8.27,4 5.14,6.55 4.25,10L14,19.75C17.45,18.86 20,15.73 20,12H14.75V13.5H18.2C17.71,15.54 16.24,17.19 14.31,17.94L6.06,9.69C7,7.31 9.3,5.63 12,5.63C14.13,5.63 16,6.67 17.18,8.28L18.41,7.22C16.95,5.26 14.63,4 12,4M4,12A8,8 0 0,0 12,20C12.04,20 12.09,20 4,12Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Gatsby</span></div></a></div></li></ul></div><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Data Management</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://redux.js.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 256 244" aria-hidden="true"><path d="M177.381 169.733c9.447-.978 16.614-9.122 16.288-18.896c-.325-9.773-8.47-17.592-18.243-17.592h-.651c-10.1.326-17.918 8.796-17.592 18.895c.326 4.887 2.28 9.122 5.212 12.054c-11.076 21.828-28.016 37.791-53.426 51.148c-17.266 9.122-35.183 12.38-53.1 10.1c-14.66-1.955-26.062-8.47-33.23-19.222c-10.424-15.963-11.401-33.23-2.605-50.496c6.19-12.38 15.962-21.502 22.152-26.063c-1.303-4.235-3.258-11.402-4.235-16.614c-47.237 34.207-42.35 80.468-28.016 102.295c10.75 16.29 32.577 26.389 56.684 26.389c6.515 0 13.03-.652 19.546-2.28c41.699-8.145 73.299-32.905 91.216-69.718zm57.336-40.397c-24.759-28.995-61.245-44.958-102.944-44.958h-5.212c-2.932-5.864-9.122-9.774-15.963-9.774h-.652C99.848 74.93 92.03 83.4 92.355 93.5c.326 9.773 8.47 17.592 18.243 17.592h.651c7.167-.326 13.357-4.887 15.963-11.077h5.864c24.759 0 48.214 7.167 69.39 21.176c16.288 10.751 28.016 24.76 34.531 41.7c5.538 13.683 5.212 27.04-.652 38.443c-9.121 17.266-24.432 26.714-44.63 26.714c-13.031 0-25.41-3.91-31.926-6.842c-3.583 3.258-10.099 8.47-14.66 11.729c14.009 6.515 28.343 10.099 42.025 10.099c31.274 0 54.404-17.267 63.2-34.533c9.447-18.896 8.795-51.474-15.637-79.165zM69.225 175.27c.326 9.774 8.47 17.592 18.243 17.592h.652c10.099-.325 17.917-8.796 17.591-18.895c-.325-9.774-8.47-17.592-18.243-17.592h-.651c-.652 0-1.63 0-2.28.325c-13.357-22.153-18.895-46.26-16.94-72.323c1.302-19.547 7.818-36.488 19.22-50.497c9.447-12.054 27.69-1
147.918 40.07-18.243c34.531-.652 49.19 42.351 50.168 59.618c4.235.977 11.402 3.258 16.289 4.887C189.434 27.366 156.857 0 125.584 0c-29.32 0-56.359 21.176-67.11 52.451c-14.985 41.7-5.212 81.771 13.031 113.372c-1.628 2.28-2.606 5.864-2.28 9.448z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Redux</span></div></a></div></li></ul></div><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Layout</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://material-ui.com/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M8,16.61V15.37L14,11.91V7.23L9,10.12L4,7.23V13L3,13.58L2,13V5L3.07,4.38L9,7.81L12.93,5.54L14.93,4.38L16,5V13.06L10.92,16L14.97,18.33L20,15.43V11L21,10.42L22,11V16.58L14.97,20.64L8,16.61M22,9.75L21,10.33L20,9.75V8.58L21,8L22,8.58V9.75Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">MaterialUI</span></div></a></div></li></ul></div><p class="MuiTypography-root MuiTypography-body2 MuiTypography-paragraph" style="margin-top:16px">I typically develop frontends as a single page app using a
15            React base, static typing with Typescript.
16            I&#x27;m a huge fan of the Redux pattern of unidirectional data flow.
17            It introduces its own headaches and overhead, but I find it solves
18            more problems than it creates.</p><p class="MuiTypography-root MuiTypography-body2 MuiTypography-paragraph">For layouts and components, I&#x27;ve found that Material-UI is one of the best
19            libraries out there as far as supported components, customizability, and end performance.
20            I&#x27;ve done my fair share of working with Bootstrap and custom CSS
21            (most preferably with LESS), so I&#x27;m not scared of CSS selectors and media queries,
22            but I find Material-UI usually offers a great starting
23            point that gets a project quickly kicked off.</p><p class="MuiTypography-root MuiTypography-body2 MuiTypography-paragraph">Gatsby is a fantastic little framework that works great for static websites. This website is using it</p></div><h6 class="MuiTypography-root MuiTypography-subtitle1">Web Backend</h6><div style="padding-left:16px;margin-bottom:32px"><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Base</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://www.djangoproject.com/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M11.146 0h3.924v18.165c-2.013.382-3.491.535-5.096.535-4.791 0-7.288-2.166-7.288-6.32 0-4.001 2.65-6.6 6.753-6.6.637 0 1.121.051 1.707.204V0zm0 9.143a3.894 3.894 0 0 0-1.325-.204c-1.988 0-3.134 1.223-3.134 3.364 0 2.09 1.096 3.236 3.109 3.236.433 0 .79-.025 1.35-.102V9.142zM21.314 6.06v9.097c0 3.134-.229 4.638-.917 5.937-.637 1.249-1.478 2.039-3.211 2.905l-3.644-1.733c1.733-.815 2.574-1.529 3.109-2.625.561-1.121.739-2.421.739-5.835V6.059h3.924zM17.39.021h3.924v4.026H17.39V.021z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Django</span></div></a></div></li><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://nodejs.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
23<path d="M12,1.85C11.73,1.85 11.45,1.92 11.22,2.05L3.78,6.35C3.3,6.63 3,7.15 3,7.71V16.29C3,16.85 3.3,17.37 3.78,17.65L5.73,18.77C6.68,19.23 7,19.24 7.44,19.24C8.84,19.24 9.65,18.39 9.65,16.91V8.44C9.65,8.32 9.55,8.22 9.43,8.22H8.5C8.37,8.22 8.27,8.32 8.27,8.44V16.91C8.27,17.57 7.59,18.22 6.5,17.67L4.45,16.5C4.38,16.45 4.34,16.37 4.34,16.29V7.71C4.34,7.62 4.38,7.54 4.45,7.5L11.89,3.21C11.95,3.17 12.05,3.17 12.11,3.21L19.55,7.5C19.62,7.54 19.66,7.62 19.66,7.71V16.29C19.66,16.37 19.62,16.45 19.55,16.5L12.11,20.79C12.05,20.83 11.95,20.83 11.88,20.79L10,19.65C9.92,19.62 9.84,19.61 9.79,19.64C9.26,19.94 9.16,20 8.67,20.15C8.55,20.19 8.36,20.26 8.74,20.47L11.22,21.94C11.46,22.08 11.72,22.15 12,22.15C12.28,22.15 12.54,22.08 12.78,21.94L20.22,17.65C20.7,17.37 21,16.85 21,16.29V7.71C21,7.15 20.7,6.63 20.22,6.35L12.78,2.05C12.55,1.92 12.28,1.85 12,1.85M14,8C11.88,8 10.61,8.89 10.61,10.39C10.61,12 11.87,12.47 13.91,12.67C16.34,12.91 16.53,13.27 16.53,13.75C16.53,14.58 15.86,14.93 14.3,14.93C12.32,14.93 11.9,14.44 11.75,13.46C11.73,13.36 11.64,13.28 11.53,13.28H10.57C10.45,13.28 10.36,13.37 10.36,13.5C10.36,14.74 11.04,16.24 14.3,16.24C16.65,16.24 18,15.31 18,13.69C18,12.08 16.92,11.66 14.63,11.35C12.32,11.05 12.09,10.89 12.09,10.35C12.09,9.9 12.29,9.3 14,9.3C15.5,9.3 16.09,9.63 16.32,10.66C16.34,10.76 16.43,10.83 16.53,10.83H17.5C17.55,10.83 17.61,10.81 17.65,10.76C17.69,10.72 17.72,10.66 17.7,10.6C17.56,8.82 16.38,8 14,8Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">NodeJS</span></div></a></div></li></ul></div><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Data Management</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://www.postgresql.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M17.128 0a10.134 10.134 0 0 0-2.755.403l-.063.02A10.922 10.922 0 0 0 12.6.258C11.422.238 10.41.524 9.594 1 8.79.721 7.122.24 5.364.336 4.14.403 2.804.775 1.814 1.82.827 2.865.305 4.482.415 6.682c.03.607.203 1.597.49 2.879s.69 2.783 1.193 4.152c.503 1.37 1.054 2.6 1.915 3.436.43.419 1.022.771 1.72.742.49-.02.933-.235 1.315-.552.186.245.385.352.566.451.228.125.45.21.68.266.413.103 1.12.241 1.948.1.282-.047.579-.139.875-.27.011.33.024.653.037.98.041 1.036.067 1.993.378 2.832.05.137.187.843.727 1.466.54.624 1.598 1.013 2.803.755.85-.182 1.931-.51 2.649-1.532.71-1.01 1.03-2.459 1.093-4.809.016-.127.035-.235.055-.336l.169.015h.02c.907.041 1.891-.088 2.713-.47.728-.337 1.279-.678 1.68-1.283.1-.15.21-.331.24-.643s-.149-.8-.446-1.025c-.595-.452-.969-.28-1.37-.197a6.27 6.27 0 0 1-1.202.146c1.156-1.947 1.985-4.015 2.458-5.845.28-1.08.437-2.076.45-2.947.013-.871-.058-1.642-.58-2.309C21.36.6 19.067.024 17.293.004c-.055-.001-.11-.002-.165-.001zm-.047.64c1.678-.016 3.822.455 5.361 2.422.346.442.449 1.088.437 1.884-.013.795-.16 1.747-.429 2.79-.522 2.02-1.508 4.375-2.897 6.488a.756.756 0 0 0 .158.086c.29.12.951.223 2.27-.048.332-.07.575-.117.827.075a.52.52 0 0 1 .183.425.704.704 0 0 1-.13.336c-.255.383-.758.746-1.403 1.045-.571.266-1.39.405-2.116.413-.364.004-.7-.024-.985-.113l-.018-.007c-.11 1.06-.363 3.153-.528 4.108-.132.77-.363 1.382-.804 1.84-.44.458-1.063.734-1.901.914-1.038.223-1.795-.017-2.283-.428-.487-.41-.71-.954-.844-1.287-.092-.23-.14-.528-.186-.926-.046-.398-.08-.885-.103-1.434a51.426 51.426 0 0 1-.03-2.523 3.061 3.061 0 0 1-1.552.76c-.689.117-1.304.002-1.671-.09a2.276 2.276 0 0 1-.52-.201c-.17-.091-.332-.194-.44-.397a.56.56 0 0 1-.057-.381.61.61 0 0 1 .218-.331c.198-.161.46-.251.855-.333.719-.148.97-.249 1.123-.37.13-.104.277-.314.537-.622a1.16 1.16 0 0 1-.003-.041 2.96 2.96 0 0 1-1.33-.358c-.15.158-.916.968-1.85 2.092-.393.47-.827.74-1.285.759-.458.02-.872-.211-1.224-.552-.703-.683-1.264-1.858-1.753-3.186-.488-1.328-.885-2.807-1.167-4.067-.283-1.26-.45-2.276-.474-2.766-.105-2.082.382-3.485 1.217-4.37.836-.885 1.982-1.22 3.099-1.284 2.005-.115 3.909.584 4.294.734.742-.504 1.698-.818 2.892-.798a7.39 7.39 0 0 1 1.681.218l.02-.009a6.854 6.854 0 0 1 .739-.214A9.626 9.626 0 0 1 17.08.642zm.152.67h-.146a8.74 8.74 0 0 0-1.704.192c1.246.552 2.187 1.402 2.85 2.25a8.44 8.44 0 0 1 1.132 1.92c.11.264.184.487.226.66.021.087.035.16.04.236.002.038.004.077-.012.144 0 .003-.005.01-.006.013.03.876-.187 1.47-.213 2.306-.02.606.135 1.318.173 2.095.036.73-.052 1.532-.526 2.319.04.048.076.096.114.144 1.254-1.975 2.158-4.16 2.64-6.023.258-1.003.395-1.912.407-2.632.01-.72-.124-1.242-.295-1.46-1.342-1.716-3.158-2.153-4.68-2.165zm-4.79.256c-1.182.003-2.03.36-2.673.895-.663.553-1.108 1.31-1.4 2.085-.347.92-.466 1.81-.513 2.414l.013-.008c.357-.2.826-.4 1.328-.516.502-.115 1.043-.151 1.533.039s.895.637 1.042 1.315c.704 3.257-.219 4.468-.559 5.382a9.61 9.61 0 0 0-.331 1.013c.043-.01.086-.022.129-.026.24-.02.428.06.54.108.342.142.577.44.704.78.033.089.057.185.071.284a.336.336 0 0 1 .02.127 55.14 55.14 0 0 0 .013 3.738c.023.538.057 1.012.1 1.386.043.373.104.657.143.753.128.32.315.739.653 1.024.338.284.823.474 1.709.284.768-.165 1.242-.394 1.559-.723.316-.329.505-.787.626-1.488.181-1.05.545-4.095.589-4.668-.02-.432.044-.764.182-1.017.142-.26.362-.419.552-.505.095-.043.184-.072.257-.093a5.956 5.956 0 0 0-.243-.325 4.456 4.456 0 0 1-.666-1.099 8.296 8.296 0 0 0-.257-.483c-.133-.24-.301-.54-.477-.877-.352-.675-.735-1.493-.934-2.29-.198-.796-.227-1.62.281-2.201.45-.516 1.24-.73 2.426-.61-.035-.105-.056-.192-.115-.332a7.817 7.817 0 0 0-1.041-1.764c-1.005-1.285-2.632-2.559-5.146-2.6h-.115zm-6.642.052c-.127 0-.254.004-.38.011-1.01.058
23-1.965.351-2.648 1.075-.684.724-1.134 1.911-1.036 3.876.019.372.181 1.414.459 2.652.277 1.238.67 2.695 1.142 3.982.473 1.287 1.046 2.407 1.59 2.937.274.265.512.372.728.363.217-.01.478-.135.797-.518a43.244 43.244 0 0 1 1.81-2.048 3.497 3.497 0 0 1-1.167-3.15c.103-.739.117-1.43.105-1.976-.012-.532-.05-.886-.05-1.107a.336.336 0 0 1 0-.019v-.005l-.001-.006v-.001a9.893 9.893 0 0 1 .592-3.376c.28-.744.697-1.5 1.322-2.112-.614-.202-1.704-.51-2.884-.568a7.603 7.603 0 0 0-.38-.01zM18.199 6.9c-.679.009-1.06.184-1.26.413-.283.325-.31.895-.134 1.597.175.703.537 1.489.877 2.142.17.327.335.621.468.86.134.24.232.41.292.555.055.134.116.252.178.362.263-.555.31-1.1.283-1.668-.035-.703-.198-1.422-.174-2.15.027-.851.195-1.405.21-2.063a5.793 5.793 0 0 0-.74-.048zm-8.234.115a2.82 2.82 0 0 0-.616.074 4.665 4.665 0 0 0-1.153.449 2.417 2.417 0 0 0-.349.228l-.022.02c.006.146.035.5.047 1.021.012.57-.002 1.297-.112 2.084-.239 1.71 1.002 3.126 2.46 3.128.085-.351.225-.707.365-1.082.406-1.094 1.205-1.892.532-5.006-.11-.51-.328-.716-.628-.832a1.474 1.474 0 0 0-.524-.084zm7.917.204h.05c.066.002.127.009.18.022.054.012.1.03.138.055a.164.164 0 0 1 .075.11l-.001.008h.001-.001a.24.24 0 0 1-.035.135.668.668 0 0 1-.11.15.677.677 0 0 1-.386.212.59.59 0 0 1-.41-.103.608.608 0 0 1-.13-.118.26.26 0 0 1-.063-.127.17.17 0 0 1 .042-.128.384.384 0 0 1 .117-.09c.096-.054.226-.094.373-.116.055-.008.109-.012.16-.013zm-7.82.168c.053 0 .109.005.166.013.153.021.289.062.393.122a.446.446 0 0 1 .133.106.223.223 0 0 1 .054.17.302.302 0 0 1-.075.154.649.649 0 0 1-.143.13.64.64 0 0 1-.448.113.728.728 0 0 1-.42-.228.71.71 0 0 1-.118-.164.28.28 0 0 1-.041-.177c.015-.108.104-.164.191-.195a.866.866 0 0 1 .307-.04zm9.06 7.343l-.003.001c-.147.053-.268.075-.37.12a.452.452 0 0 0-.239.214c-.063.115-.117.319-.101.666a.51.51 0 0 0 .148.07c.171.052.458.086.778.081.638-.007 1.423-.156 1.84-.35a3.95 3.95 0 0 0 .943-.615h-.001c-1.393.288-2.18.211-2.663.012a1.315 1.315 0 0 1-.332-.2zm-8.031.094h-.021c-.053.005-.13.023-.279.188-.348.39-.47.635-.757.864-.287.228-.66.35-1.405.503-.236.048-.371.101-.461.144.029.024.026.03.07.053.109.06.249.113.362.142.32.08.846.173 1.395.08.549-.094 1.12-.357 1.607-1.04.084-.118.093-.292.024-.479-.07-.187-.223-.348-.331-.393a.653.653 0 0 0-.204-.06z"></path> </svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">PostgreSQL</span></div></a></div></li><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://www.mongodb.com/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 30 65" aria-hidden="true"><g transform="translate(14.1253 0.1748)"><path d="M 0.0487 0 L 1.7567 3.2079 C 2.1407 3.7999 2.5567 4.3240 3.0467 4.8120 C 4.4767 6.2419 5.8347 7.7400 7.0547 9.3440 C 9.9487 13.1439 11.9007 17.3640 13.2947 21.9279 C 14.1307 24.7160 14.5847 27.5760 14.6187 30.4680 C 14.7587 39.1140 11.7947 46.5380 5.8187 52.7079 C 4.8427 53.6840 3.7987 54.5880 2.6787 55.3920 C 2.0867 55.3920 1.8067 54.9380 1.5627 54.5200 C 1.1087 53.7540 0.8307 52.8799 0.6907 52.0100 C 0.4807 50.9640 0.3427 49.9180 0.4107 48.8379 L 0.4107 48.3500 C 0.3627 48.2460 -0.1592 0.2459 0.0487 0 Z" stroke-width="2" fill-opacity="1"></path></g><g><path d="M 14.1741 0.0688 C 14.1041 -0.0711 14.0341 0.0348 13.9641 0.1028 C 13.9981 0.8028 13.7541 1.4268 13.3721 2.0228 C 12.9521 2.6148 12.3961 3.0688 11.8381 3.5568 C 8.7381 6.2408 6.2981 9.4828 4.3441 13.1088 C 1.7441 17.9888 0.4041 23.2188 0.0241 28.7248 C -0.1498 30.7108 0.6521 37.7187 1.2781 39.7408 C 2.9861 45.1088 6.0541 49.6067 10.0281 53.5108 C 11.0041 54.4508 12.0481 55.3227 13.1281 56.1608 C 13.4421 56.1608 13.4761 55.8808 13.5481 55.6728 C 13.6857 55.2277 13.7907 54.7731 13.8621 54.3128 L 14.5621 49.0848 Z" fill="none" stroke-width="2" stroke-opacity="1" stroke="#fff"></path></g><g transform="translate(13.1281 48.1068)"><path d="M 2.7540 9.5839 C 2.8240 8.7840 3.2080 8.1199 3.6260 7.4580 C 3.2060 7.2839 2.8940 6.9379 2.6500 6.5520 C 2.4400 6.2040 2.2660 5.7859 2.1300 5.4019 C 1.6420 3.9379 1.5380 2.4019 
231.3980 0.9059 L 1.3980 0 C 1.2240 0.1399 1.1880 1.3239 1.1880 1.4999 C 1.0862 3.0811 0.8764 4.6534 0.5600 6.2059 C 0.4560 6.8339 0.3860 7.4600 0 8.0180 C 0 8.0879 0 8.1579 0.0340 8.2619 C 0.6620 10.1100 0.8340 11.9919 0.9400 13.9099 L 0.9400 14.6099 C 0.9400 15.4459 0.9060 15.2700 1.6000 15.5499 C 1.8800 15.6539 2.1920 15.6899 2.4720 15.8979 C 2.6820 15.8979 2.7160 15.7240 2.7160 15.5839 L 2.6120 14.4339 L 2.6120 11.2259 C 2.5780 10.6659 2.6820 10.1100 2.7520 9.5859 Z" stroke-width="2" stroke-opacity="1" fill-opacity="1"></path></g></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">MongoDB</span></div></a></div></li></ul></div><p class="MuiTypography-root MuiTypography-body2 MuiTypography-paragraph" style="margin-top:16px">I have been using Django and associated tools (Django ORM,
24              Django REST Framework, etc.) with PostgreSQL professionally
25              for several years now. While slightly clunky at times, it&#x27;s reliable,
26              and easy to get rolling with a new project.</p><p class="MuiTypography-root MuiTypography-body2 MuiTypography-paragraph">More recently I&#x27;ve been using Node.JS with MongoDB as a backend for
27            single page apps that I write. A lot of Django&#x27;
27s power comes from
28            utilities for working with forms, views, and templates.
29            When I just need something to server an API and do background tasks,
30            I&#x27;ve lately found Node.JS with Express to be a great replacement
31            that allows rapid development.</p></div><h6 class="MuiTypography-root MuiTypography-subtitle1">Mobile Applications</h6><div style="padding-left:16px;margin-bottom:32px"><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Base</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://reactnative.dev/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M12,10.11C13.03,10.11 13.87,10.95 13.87,12C13.87,13 13.03,13.85 12,13.85C10.97,13.85 10.13,13 10.13,12C10.13,10.95 10.97,10.11 12,10.11M7.37,20C8,20.38 9.38,19.8 10.97,18.3C10.45,17.71 9.94,17.07 9.46,16.4C8.64,16.32 7.83,16.2 7.06,16.04C6.55,18.18 6.74,19.65 7.37,20M8.08,14.26L7.79,13.75C7.68,14.04 7.57,14.33 7.5,14.61C7.77,14.67 8.07,14.72 8.38,14.77C8.28,14.6 8.18,14.43 8.08,14.26M14.62,13.5L15.43,12L14.62,10.5C14.32,9.97 14,9.5 13.71,9.03C13.17,9 12.6,9 12,9C11.4,9 10.83,9 10.29,9.03C10,9.5 9.68,9.97 9.38,10.5L8.57,12L9.38,13.5C9.68,14.03 10,14.5 10.29,14.97C10.83,15 11.4,15 12,15C12.6,15 13.17,15 13.71,14.97C14,14.5 14.32,14.03 14.62,13.5M12,6.78C11.81,7 11.61,7.23 11.41,7.5C11.61,7.5 11.8,7.5 12,7.5C12.2,7.5 12.39,7.5 12.59,7.5C12.39,7.23 12.19,7 12,6.78M12,17.22C12.19,17 12.39,16.77 12.59,16.5C12.39,16.5 12.2,16.5 12,16.5C11.8,16.5 11.61,16.5 11.41,16.5C11.61,16.77 11.81,17 12,17.22M16.62,4C16,3.62 14.62,4.2 13.03,5.7C13.55,6.29 14.06,6.93 14.54,7.6C15.36,7.68 16.17,7.8 16.94,7.96C17.45,5.82 17.26,4.35 16.62,4M15.92,9.74L16.21,10.25C16.32,9.96 16.43,9.67 16.5,9.39C16.23,9.33 15.93,9.28 15.62,9.23C15.72,9.4 15.82,9.57 15.92,9.74M17.37,2.69C18.84,3.53 19,5.74 18.38,8.32C20.92,9.07 22.75,10.31 22.75,12C22.75,13.69 20.92,14.93 18.38,15.68C19,18.26 18.84,20.47 17.37,21.31C15.91,22.15 13.92,21.19 12,19.36C10.08,21.19 8.09,22.15 6.62,21.31C5.16,20.47 5,18.26 5.62,15.68C3.08,14.93 1.25,13.69 1.25,12C1.25,10.31 3.08,9.07 5.62,8.32C5,5.74 5.16,3.53 6.62,2.69C8.09,1.85 10.08,2.81 12,4.64C13.92,2.81 15.91,1.85 17.37,2.69M17.08,12C17.42,12.75 17.72,13.5 17.97,14.26C20.07,13.63 21.25,12.73 21.25,12C21.25,11.27 20.07,10.37 17.97,9.74C17.72,10.5 17.42,11.25 17.08,12M6.92,12C6.58,11.25 6.28,10.5 6.03,9.74C3.93,10.37 2.75,11.27 2.75,12C2.75,12.73 3.93,13.63 6.03,14.26C6.28,13.5 6.58,12.75 6.92,12M15.92,14.26C15.82,14.43 15.72,14.6 15.62,14.77C15.93,14.72 16.23,14.67 16.5,14.61C16.43,14.33 16.32,14.04 16.21,13.75L15.92,14.26M13.03,18.3C14.62,19.8 16,20.38 16.62,20C17.26,19.65 17.45,18.18 16.94,16.04C16.17,16.2 15.36,16.32 14.54,16.4C14.06,17.07 13.55,17.71 13.03,18.3M8.08,9.74C8.18,9.57 8.28,9.4 8.38,9.23C8.07,9.28 7.77,9.33 7.5,9.39C7.57,9.67 7.68,9.96 7.79,10.25L8.08,9.74M10.97,5.7C9.38,4.2 8,3.62 7.37,4C6.74,4.35 6.55,5.82 7.06,7.96C7.83,7.8 8.64,7.68 9.46,7.6C9.94,6.93 10.45,6.29 10.97,5.7Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">React Native</span></div></a></div></li><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://www.typescriptlang.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M3,3H21V21H3V3M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86M13,11.25H8V12.75H9.5V20H11.25V12.75H13V11.25Z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Typescript</span></div></a></div></li></ul></div><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Data Management</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://redux.js.org/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 256 244" aria-hidden="true"><path d="M177.381 169.733c9.447-.978 16.614-9.122 16.288-18.896c-.325-9.773-8.47-17.592-18.243-17.592h-.651c-10.1.326-17.918 8.796-17.592 18.895c.326 4.887 2.28 9.122 5.212 12.054c-11.076 21.828-28.016 37.791-53.426 51.148c-17.266 9.122-35.183 12.38-53.1 10.1c-14.66-1.955-26.062-8.47-33.23-19.222c-10.424-15.963-11.401-33.23-2.605-50.496c6.19-12.38 15.962-21.502 22.152-26.063c-1.303-4.235-3.258-11.402-4.235-16.614c-47.237 34.207-42.35 80.468-28.016 102.295c10.75 16.29 32.577 26.389 56.684 26.389c6.515 0 13.03-.652 19.546-2.28c41.699-8.145 73.299-32.905 91.216-69.718zm57.336-40.397c-24.759-28.995-61.245-44.958-102.944-44.958h-5.212c-2.932-5.864-9.122-9.774-15.963-9.774h-.652C99.848 74.93 92.03 83.4 92.355 93.5c.326 9.773 8.47 17.592 18.243 17.592h.651c7.167-.326 13.357-4.887 15.963-11.077h5.864c24.759 0 48.214 7.167 69.39 21.176c16.288 10.751 28.016 24.76 34.531 41.7c5.538 13.683 5.212 27.04-.652 38.443c-9.121 17.266-24.432 26.714-44.63 26.714c-13.031 0-25.41-3.91-31.926-6.842c-3.583 3.258-10.099 8.47-14.66 11.729c14.009 6.515 28.343 10.099 42.025 10.099c31.274 0 54.404-17.267 63.2-34.533c9.447-18.896 8.795-51.474-15.637-79.165zM69.225 175.27c.326 9.774 8.47 17.592 18.243 17.592h.652c10.099-.325 17.917-8.796 17.591-18.895c-.325-9.774-8.47-17.592-18.243-17.592h-.651c-.652 0-1.63 0-2.28.325c-13.357-22.153-18.895-46.26-16.94-72.323c1.302-19.547 7.818-36.488 19.22-50.497c9.447-12.054 27.69-1
317.918 40.07-18.243c34.531-.652 49.19 42.351 50.168 59.618c4.235.977 11.402 3.258 16.289 4.887C189.434 27.366 156.857 0 125.584 0c-29.32 0-56.359 21.176-67.11 52.451c-14.985 41.7-5.212 81.771 13.031 113.372c-1.628 2.28-2.606 5.864-2.28 9.448z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Redux</span></div></a></div></li></ul></div><div class="jss9"><h6 class="MuiTypography-root MuiTypography-subtitle2">Layout</h6><ul class="MuiGridList-root jss10" style="margin:-2px"><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://callstack.github.io/react-native-paper/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 36 48" aria-hidden="true"><g id="Page-1" fill-rule="evenodd" stroke="none" stroke-width="1"><g id="Artboard" fill-rule="nonzero" transform="translate(-32.000000, -32.000000)"><path id="logo" d="M66.2653595,40.0792949 L62.9432285,52.3408672 C62.9113241,52.2699584 62.8762917,52.2012459 62.8415721,52.1315922 C62.7812039,52.0051486 62.7177077,51.8796463 62.6473302,51.7575954 C61.819378,50.3187118 60.5200529,49.2632376 58.9642409,48.7373831 C58.8272393,48.6909473 58.691489,48.6420014 58.5504212,48.6040369 C58.5081947,48.5927417 58.4656554,48.5867804 58.4234289,48.5764264 C56.7212316,48.15317 54.9533488,48.3982132 53.4300668,49.2801804 L34.0355908,60.5126341 L37.8982209,46.2872649 L58.6586461,34.2641469 C61.1340575,32.8302834 64.310116,33.6846401 65.7392486,36.1673889 C66.4264458,37.3609156 66.6125552,38.7530496 66.2653595,40.0792949 Z M59.3868187,59.6501197 L53.5085768,63.1579083 L42.9406909,69.4047841 L46.9343796,54.8537365 L54.2120391,50.6387426 C54.5116908,50.4655494 54.8238541,50.3234181 55.1444628,50.2142311 C55.9633441,49.9346748 56.8366507,49.8694136 57.6974458,50.0218989 C57.8472717,50.0485681 57.9967848,50.0796299 58.1456723,50.1194769 C59.4828449,50.4790409 60.6007524,51.339359 61.2929543,52.5422983 C61.2935799,52.5435534 61.2945182,52.5451222 61.2951438,52.5463772 C61.8362686,53.4898405 62.0621022,54.8913872 61.8828741,56.1457824 C61.592606,57.6207479 60.6983426,58.8905172 59.3868187,59.6501197 Z M49.3960283,77.7001708 L42.9413165,71.2255084 L51.7801053,66.0005349 L52.656227,65.482838 L49.3960283,77.7001708 Z M67.0936245,35.3829997 C65.2337817,32.1506886 61.0983996,31.0393659 57.8766739,32.9055848 L36.837241,45.090287 C36.6586385,45.1935126 36.5282055,45.3635682 36.4737803,45.5634305 L32.027486,61.9380262 C31.9442841,62.2448793 32.0537603,62.5718127 32.304617,62.7657137 C32.4447464,62.8736457 32.6130268,62.9285529 32.7822456,62.9285529 C32.9164321,62.9285529 33.0515569,62.8940398 33.172919,62.8234448 L45.0057232,55.970393 L40.9203873,70.8555904 C40.9110037,70.8885348 40.9053735,70.9217929 40.9006816,70.955051 C40.9003688,70.9585023 40.8988049,70.9616399 40.8984921,70.9647774 C40.8981793,70.9654049 40.8984921,70.9663462 40.8984921,70.9672875 C40.8916108,71.0206259 40.8922363,71.0736506 40.8966154,71.1263616 C40.8975537,71.1385981 40.8988049,71.1505208 40.9003688,71.1624435 C40.9069374,71.2148407 40.9169467,71.2666104 40.93415,71.3164975 C40.9347756,71.3180663 40.935714,71.3199489 40.9363396,71.3218314 C40.9532302,71.3701498 40.975751,71.4162718 41.0017125,71.4608252 C41.0076554,71.4705516 41.0132856,71.4799643 41.0192286,71.4893769 C41.0480052,71.534244 41.0805353,71.576601 41.1183827,71.6148792 C41.1196339,71.6161342 41.1202594,71.6173892 41.1211978,71.6183305 L49.2480791,79.7703308 C49.3966539,79.9196785 49.5962132,80 49.8010899,80 C49.8686523,80 49.9365275,79.9912148 50.0034643,79.9733308 C50.2734012,79.9008532 50.4842209,79.6893819 50.5564751,79.4186107 L54.5786276,64.3445324 L60.1778618,61.003348 C61.8406476,60.0401181 62.970754,58.2633196 63.5143811,56.2113574 C63.5181345,56.1994347 63.521888,56.1875119 63.5250159,56.1755892 L67.7761299,40.4852947 C68.2306122,38.7489707 67.9882008,36.9367179 67.0936245,35.3829997 Z"></path></g></g></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">React Native Paper</span></div></a></div></li><li class="MuiGridListTile-root" style="width:50%;height:auto;padding:2px"><div class="MuiGridListTile-tile jss12"><a class="MuiTypography-root MuiLink-root MuiLink-underlineHover MuiButtonBase-root MuiListItem-root MuiListItem-dense MuiListItem-button MuiTypography-colorPrimary" href="https://nativebase.io/" target="_blank" rel="noreferrer" tabindex="0" role="button" aria-disabled="false"><div class="MuiListItemIcon-root" style="min-width:32px"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></svg></div><div class="MuiListItemText-root MuiListItemText-dense"><span class="MuiTypography-root MuiListItemText-primary MuiTypography-body2 MuiTypography-displayBlock">Native Base</span></div></a></div></li></ul></div><p class="MuiTypography-root MuiTypography-body2 MuiTypography-paragraph" style="margin-top:16px">I <span style="text-decoration:line-through">hate</span> love React Native. It&#x27;s able to satisfy the requirements of
32            the majority of UI focused apps, and who doesn&#x27;t like having a unified
33            code base for iOS and Android? It certainly has some issues, but with
34            Redux managing app data and storage, and the right component libraries,
35            you can almost forget that you&#x27;re not writing code for web. Kinda.</p></div></div></div></div></main><footer><div class="MuiContainer-root MuiContainer-maxWidthLg"><div class="MuiPaper-root jss15 MuiPaper-outlined MuiPaper-rounded"><div class="MuiTypography-root MuiTypography-caption MuiTypography-alignCenter" style="color:rgba(255,255,255,0.1)">something here is afooter</div><div class="jss16"><a class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorPrimary" tabindex="0" aria-disabled="false" href="https://www.linkedin.com/in/brian-reynolds-1a918278/" target="_blank" rel="noreferrer" aria-label="View LinkedIn for Brian Reynolds"><span class="MuiIconButton-label"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"></path></svg></span></a><a class="MuiButtonBase-root MuiIconButton-root MuiIconButton-colorPrimary" tabindex="0" aria-disabled="false" href="https://github.com/bareynol" target="_blank" rel="noreferrer" aria-label="View Gitlab of Brian Reynolds"><span class="MuiIconButton-label"><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 .3a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.4-1.8-1.4-1.8-1-.7.1-.7.1-.7 1.2 0 1.9 1.2 1.9 1.2 1 1.8 2.8 1.3 3.5 1 0-.8.4-1.3.7-1.6-2.7-.3-5.5-1.3-5.5-6 0-1.2.5-2.3 1.3-3.1-.2-.4-.6-1.6 0-3.2 0 0 1-.3 3.4 1.2a11.5 11.5 0 0 1 6 0c2.3-1.5 3.3-1.2 3.3-1.2.6 1.6.2 2.8 0 3.2.9.8 1.3 1.9 1.3 3.2 0 4.6-2.8 5.6-5.5 5.9.5.4.9 1 .9 2.2v3.3c0 .3.1.7.8.6A12 12 0 0 0 12 .3"></path></svg></span></a></div><h6 class="MuiTypography-root MuiTypography-subtitle1 MuiTypography-gutterBottom MuiTypography-alignCenter">© <!-- -->2020<!-- --> Brian Reynolds</h6></div></div></footer></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;
35border:0" aria-live="assertive" aria-atomic="true"></div></div>
35<script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/about/";/*]]>*/</script>
35<script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-e0c53d52dab6e2b2c296.js"],"component---src-pages-404-js":["/component---src-pages-404-js-8fc6c30b59f0ed00136c.js"],"component---src-pages-about-js":["/component---src-pages-about-js-20d8126d3104db68f361.js"],"component---src-pages-briantv-privacy-policy-js":["/component---src-pages-briantv-privacy-policy-js-9c1da3e110d54b51f0e9.js"],"component---src-pages-index-js":["/component---src-pages-index-js-ed36b3f91d4eb2df9c92.js"],"component---src-pages-projects-js":["/component---src-pages-projects-js-dc1e27c8037f49d0f822.js"],"component---src-pages-resume-index-js":["/component---src-pages-resume-index-js-1e56eab2e63cdb74bae1.js"],"component---src-pages-resume-print-js":["/component---src-pages-resume-print-js-39bca384515d705473ad.js"],"component---src-pages-resume-simple-js":["/component---src-pages-resume-simple-js-36656074a0010b613be2.js"]};/*]]>*/</script>
35<script src="/component---src-pages-about-js-20d8126d3104db68f361.js" async=""></script>
35<script src="/95c8b0b3d1aa27eebd1ffa166434b1c3239f06ee-7b0c39ac6471db3d21c7.js" async=""></script>
35<script src="/3fad701dabb0323f806e5e1f39352f25eb6fd7a8-2f6b32f32e88887f64ba.js" async=""></script>
35<script src="/commons-14a4cf52b0cfbaf713c1.js" async=""></script>
35<script src="/app-e0c53d52dab6e2b2c296.js" async=""></script>
35<script src="/framework-4b6e6fca25677e0206fe.js" async=""></script>
35<script src="/webpack-runtime-b6afcf8a194720a58dad.js" async=""></script>
35</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.