1<!DOCTYPE html><html lang="en-US"><head><meta charSet="utf-8"/><meta property="og:title" content="Northwest Web Pros"/><meta property="og:description" content="Custom small business website design and development in the greater Pacific Northwest. Let us upgrade your business' digital presence and organic growth."/><meta property="og:image" content="https://northwestwebpros.com/image/pacific.jpg"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Northwest Web Pros Portfolio - Small Business Web Designer + Developer</title><meta name="description" content="Custom website design and development in the greater Pacific Northwest. Let us upgrade your business' digital presence and organic growth."/><meta property="og:title" content="Northwest Web Pros"/><meta property="og:description" content="Custom website design and development in the greater Pacific Northwest. Let us upgrade your business' digital presence and organic growth."/><meta property="og:image" content="https://northwestwebpros.com/image/splash.jpg"/><link rel="icon" href="/favicon.ico"/><meta name="next-head-count" content="12"/>
1<script async="" src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
1<link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/>
1<script type="text/javascript"> 2 /** This section is only needed once per page if manually copying **/ 3 if (typeof MauticSDKLoaded == 'undefined') { 4 var MauticSDKLoaded = true; 5 var head = document.getElementsByTagName('head')[0]; 6 var script = document.createElement('script'); 7 script.type = 'text/javascript'; 8 script.src = 'https://m.northwestwebpros.com/media/js/mautic-form.js?v858ea56e'; 9 script.onload = function() { 10 MauticSDK.onLoad(); 11 }; 12 head.appendChild(script); 13 var MauticDomain = 'https://m.northwestwebpros.com'; 14 var MauticLang = { 15 'submittingMessage': "Please wait..." 16 } 17 }else if (typeof MauticSDK != 'undefined') { 18 MauticSDK.onLoad(); 19 }</script>
19<link rel="preload" href="/_next/static/css/b1f57b08919501b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/b1f57b08919501b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/7b627cd0179b5d6f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/7b627cd0179b5d6f.css" data-n-p=""/><noscript data-n-css=""></noscript>
19<script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script>
19<script src="/_next/static/chunks/webpack-57c6922038803934.js" defer=""></script>
19<script src="/_next/static/chunks/main-dd7fb878fd552075.js" defer=""></script>
19<script src="/_next/static/chunks/pages/_app-a7c8a764283073ec.js" defer=""></script>
19<script src="/_next/static/chunks/782-5d133f40cd8b12cf.js" defer=""></script>
19<script src="/_next/static/chunks/pages/portfolio-821cc056a71cc315.js" defer=""></script>
19<script src="/_next/static/9D096HUdvZ5BPTI9vrd7W/_buildManifest.js" defer=""></script>
19<script src="/_next/static/9D096HUdvZ5BPTI9vrd7W/_ssgManifest.js" defer=""></script>
19</head><body><div id="__next"><div class="Toastify"></div><div id="navigation"><div class="logo-n"><a aria-label="Link to home page" href="/"><svg class="sgvnlogo_nLogo__Zc735" height="100%" width="100%" version="1.1" viewBox="0 0 17.464 24.868" xmlns="http://www.w3.org/2000/svg"><g id="layer1" transform="translate(-42.8 -24.805)"><g id="n" transform="matrix(.35278 0 0 -.35278 45.442 31.299)"><path id="path22" d="m0 0h8.932l24.044-37.872h0.144v37.872h8.568v-51.408h-9.504l-23.4 37.8h-0.216v-37.8h-8.568z"></path></g><g fill="white" id="g64" transform="matrix(.35278 0 0 -.35278 48.541 36.1)"><path id="path66" d="m0 0 23.275-37.598c0.078-0.126 0.215-0.202 0.362-0.202h8.495c0.335 0 0.538 0.37 0.359 0.653l-34.755 55.025c-0.153 0.242-0.028 0.563 0.249 0.638l5.631 0.813c0.376 0.102 0.429 0.614 0.081 0.79l-18.682 11.176c-0.285 0.144-0.621-0.065-0.618-0.384l2.491-23.159c5e-3 -0.402 0.512-0.575 0.76-0.259l3.199 5.647c0.181 0.229 0.534 0.213 0.692-0.033z"></path></g><g id="arrow" transform="matrix(.35278 0 0 -.35278 49.728 29.209)"><path fill="black" stroke="black" id="path70" d="m0 0c8e-3 -6e-3 0.017-0.011 0.025-0.015zm-15.809-11.699 1e-3 -9e-3c1e-3 2e-3 0 5e-3 -1e-3 9e-3m36.218-44.958h7.903l-34.513 54.642c-0.186 0.293-0.221 0.661-0.096 0.986 0.126 0.324 0.402 0.572 0.738 0.664l4.964 0.721-17.648 10.555 2.356-21.879 2.837 4.993c0.22 0.279 0.561 0.43 0.917 0.419 0.355-0.017 0.681-0.205 0.873-0.503l8.467-13.118zm8.356-1.35h-8.494c-0.385 0-0.735 0.195-0.937 0.522l-23.272 37.592-8.23 12.751-3.02-5.315c-0.292-0.371-0.771-0.513-1.219-0.361s-0.741 0.557-0.746 1.03l-2.487 23.094c-8e-3 0.453 0.186 0.807 0.515 1.011 0.329 0.206 0.732 0.223 1.078 0.048l18.724-11.199c0.368-0.185 0.603-0.614 0.556-1.071s-0.364-0.83-0.807-0.95l-5.279-0.767 34.548-54.697c0.214-0.338 0.227-0.767 0.034-1.119-0.193-0.351-0.563-0.569-0.964-0.569"></path></g></g></svg></a></div><div class="nav-collapse"><ul class="navbar-nav justify-start"></ul><span class="darkmodebutton_dark-mode-button__bTX4P"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="moon" class="svg-inline--fa fa-moon " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"></path></svg></span><button id="menu" aria-label="Menu button" class="hamburger-menu" aria-expanded="false" aria-controls="navbar-menu"><span aria-hidden="true"></span></button><nav class="navbar-nav" id="navbar-menu"><ul><li><a aria-current="page" href="/about">About</a></li><li><a aria-current="page" href="/blog">Blog</a></li><li><a aria-current="page" href="/portfolio">Portfolio</a></li><li><a aria-current="page" href="/services">Services</a></li></ul></nav></div></div><main><section class="section_section__94sht"><div class="section_container__Goa8g"><div class="card3_container__a7H6m"><div class="card_card__Bu2Tu card3_card3__gYhaY"><a href="https://copperandhoney.com" target="_blank"><div class="portfolio_siteImg__vEBhv"><img alt="Copper + Honey Coffee" loading="lazy" width="600" height="400" decoding="async" data-nimg="1" style="color:transparent" srcSet="/_next/static/chunks/images/images/copperandhoney_640_75.webp 1x, /_next/static/chunks/images/images/copperandhoney_1200_75.webp 2x" src="/_next/static/chunks/images/images/copperandhoney_1200_75.webp"/></div><h2>Copper + Honey Coffee</h2><p>Copper + Honey Coffee came to us and wanted a very simple landing page and blog to match their simple aesthetic. They are very excited about their new site and have been receiving significantly more bookings through the integrated contact form!</p></a></div><div class="card_card__Bu2Tu card3_card3__gYhaY"><a href="https://paintingpros.netlify.app/" target="_blank"><div class="portfolio_siteImg__vEBhv"><img alt="Painting Pros" loading="lazy" width="600" height="400" decoding="async" data-nimg="1" style="color:transparent" srcSet="/_next/static/chunks/images/images/paintingpros_640_75.webp 1x, /_next/static/chunks/images/images/paintingpros_1200_75.webp 2x" src="/_next/static/chunks/images/images/paintingpros_1200_75.webp"/></div><h2>Painting Pros</h2><p>(This is a work in progress) Painting Pros is a new website we're working on that's available for purchase, hoping to go for a lighthearted colorful theme that could be good for a professional painter.</p></a></div></div></div></section></main><footer class="footer"><div class="left"><div><h1>Services</h1><ul><li><p>Website Development</p></li><li><p>Web Design</p></li><li><p>Application Development</p></li><li><p>SEO Services</p></li></ul></div></div><div class="right"><div><h1>Locations</h1><ul><li><a href="/beaverton-web-design">Beaverton</a></li><li><a href="/clackamas-web-design">Clackamas</a></li><li><a href="/happy-valley-web-design">Happy Valley</a></li><li><a href="/hillsboro-web-design">Hillsboro</a></li><li><a href="/lake-oswego-web-design">Lake Oswego</a></li><li><a href="/portland-web-design">Portland</a></li></ul></div></div><div class="bottom"><p>Site built by <a href="https://www.northwestwebpros.com" target="_blank">Northwest Web Pros LLC</a> | Copyright © <!-- -->2025<!-- --> | <a href="/privacy">Privacy</a></p></div></footer></div>
19<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/portfolio","query":{},"buildId":"9D096HUdvZ5BPTI9vrd7W","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script>
19<script> 20 if (window.netlifyIdentity) { 21 window.netlifyIdentity.on("init", user => { 22 if (!user) { 23 window.netlifyIdentity.on("login", () => { 24 document.location.href = "/admin/"; 25 }); 26 } 27 }); 28 } 29 </script>
29<script> 30 (function(w,d,t,u,n,a,m){w['MauticTrackingObject']=n; 31 w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},a=d.createElement(t), 32 m=d.getElementsByTagName(t)[0];a.async=1;a.src=u;m.parentNode.insertBefore(a,m) 33 })(window,document,'script','https://m.northwestwebpros.com/mtc.js','mt'); 34 35 mt('send', 'pageview'); 36 </script>
36<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"21530fb977e34e5cac04df685495fc61","r":1,"spa":2}' crossorigin="anonymous"></script>
36 37</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.