- ID de l'analyse :
- 2d683d00-7718-4b00-80de-d1585d0bf9f1Terminée
- URL soumise :
- https://durableprogramming.com/
- Fin du rapport :
Liens : 5 trouvé(s)
Liens sortants identifiés à partir de la page
Lien | texte |
---|---|
https://www.designrush.com/agency/software-development/trends | |
https://github.com/durableprogramming/ | |
https://x.com/durableprogram | |
https://www.linkedin.com/company/durable-programming-llc | |
https://piniondesigns.com | Pinion Designs |
Variables JavaScript : 17 trouvée(s)
Les variables JavaScript globales chargées dans l'objet fenêtre d'une page sont des variables déclarées en dehors des fonctions et accessibles depuis n'importe quel endroit du code au sein du champ d'application actuel
Nom | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
__cfQR | object |
__cfBeacon | object |
dataLayer | object |
google_tag_manager | object |
google_tag_data | object |
_linkedin_data_partner_id | string |
clarity | function |
Messages de journal de console : 0 trouvé(s)
Messages consignés dans la console web
HTML
Le corps HTML de la page en données brutes
<!DOCTYPE html><html lang="en"><head>
<meta name="generator" content="Hugo 0.134.2">
<script async="" src="https://www.clarity.ms/s/0.7.53/clarity.js"></script><script async="" src="https://www.clarity.ms/tag/o0kl6b0jyb?ref=gtm2"></script><script async="" src="https://www.clarity.ms/tag/o0kl6b0jyb"></script><script type="text/javascript" async="" src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script><script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-K93LXXS"></script><script type="text/javascript">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-K93LXXS');</script>
<link rel="canonical" href="https://durableprogramming.com/" itemprop="url">
<link rel="preload" media="(min-width 0px)" href="/images/gears-hires-576w.webp.webp" as="image">
<link rel="preload" media="(min-width 576px)" href="/images/gears-hires-768w.webp.webp" as="image">
<link rel="preload" media="(min-width 768px)" href="/images/gears-hires-992w.webp.webp" as="image">
<link rel="preload" media="(min-width 992px)" href="/images/gears-hires-1200w.webp.webp" as="image">
<link rel="preload" media="(min-width 1200px)" href="/images/gears-hires-1440w.webp.webp" as="image">
<link rel="preload" media="(min-width 1440px)" href="/images/gears-hires-2048w.webp.webp" as="image">
<link rel="preload" media="(min-width 2048px)" href="/images/gears-hires-2560w.webp.webp" as="image">
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Durable Programming: Programming in Rails, PHP, and more</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Durable Programming: Legacy Systems Specialists. Rails, PHP, and more.">
<meta property="og:title" content="Durable Programming">
<meta property="og:type" content="website">
<meta property="og:url" content="https://durableprogramming.com">
<meta property="og:description" content="">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@piniondesigns">
<meta name="twitter:creator" content="@piniondesigns">
<link rel="icon" href="https://durableprogramming.com/favicon.png">
<link rel="stylesheet" href="/css/style.min.003fd98f75d08f288e19107d8b994c6a28c574b4b133d5837916b042ae785df7.css">
</head>
<body class="page page-home" data-barba="wrapper">
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K93LXXS"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<div id="main-menu-mobile" class="main-menu-mobile">
<h2>Site Menu</h2>
<ul>
<h3>Content:</h3>
<li class="d-flex menu-item-services">
<a href="/services/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M.96,26.6v28.11c0,3.23,2.62,5.85,5.85,5.85h50.37c3.23,0,5.85-2.62,5.85-5.85V17.88c0-3.23-2.62-5.85-5.85-5.85h-12.09v-2.73c0-3.23-2.62-5.85-5.85-5.85h-14.5c-3.23,0-5.85,2.62-5.85,5.85v2.73H6.81c-3.23,0-5.85,2.62-5.85,5.85v8.63s0,.02,0,.03c0,.02,0,.04,0,.06ZM22.6,9.29c0-1.19.96-2.15,2.15-2.15h14.5c1.19,0,2.15.96,2.15,2.15v2.73h-18.8v-2.73ZM6.81,15.73h50.37c1.19,0,2.15.96,2.15,2.15v36.83c0,1.19-.96,2.15-2.15,2.15H6.81c-1.19,0-2.15-.96-2.15-2.15v-21.13c1.41,1.23,3.21,2.36,5.38,3.35,5.8,2.66,13.6,4.13,21.96,4.13s16.16-1.47,21.96-4.13c.93-.43,1.34-1.52.91-2.45s-1.52-1.34-2.45-.91c-5.25,2.41-12.7,3.79-20.42,3.79s-15.17-1.38-20.42-3.79c-4.37-2-6.89-4.54-6.92-6.98v-8.71c0-1.19.96-2.15,2.15-2.15Z"></path>
<path class="cls-1" d="M27.67,31.06h8.67c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-8.67c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
</svg>
</span>
<span>Services</span>
</a>
</li>
<li class="d-flex menu-item-technologies">
<a href="/technologies/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M27.22,24.65c-.73-.72-1.9-.72-2.62,0-.72.73-.72,1.9,0,2.62l12.18,12.08c.36.36.83.54,1.3.54s.95-.18,1.31-.55c.72-.73.72-1.9-.01-2.62l-12.18-12.08Z"></path>
<path class="cls-1" d="M61.19,21.73c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-7.95v-1.42c0-3.23-2.62-5.85-5.85-5.85h-1.42V2.81c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v7.95h-8.42V2.81c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v7.95h-8.42V2.81c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v7.95h-1.42c-3.23,0-5.85,2.62-5.85,5.85v1.42H2.81c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h7.95v8.42H2.81c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h7.95v8.42H2.81c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h7.95v1.42c0,3.23,2.62,5.85,5.85,5.85h1.42v7.95c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-7.95h8.42v7.95c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-7.95h8.42v7.95c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-7.95h1.42c3.23,0,5.85-2.62,5.85-5.85v-1.42h7.95c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-7.95v-8.42h7.95c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-7.95v-8.42h7.95ZM49.54,47.39c0,1.19-.96,2.15-2.15,2.15h-30.78c-1.19,0-2.15-.96-2.15-2.15v-30.78c0-1.19.96-2.15,2.15-2.15h30.78c1.19,0,2.15.96,2.15,2.15v30.78Z"></path>
</svg>
</span>
<span>Technologies</span>
</a>
</li>
<li class="d-flex menu-item-blog">
<a href="/blog/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M57.19,0.96H6.81C3.58,0.96,0.96,3.58,0.96,6.81v50.38c0,3.23,2.62,5.85,5.85,5.85h50.38c3.23,0,5.85-2.62,5.85-5.85V6.81C63.04,3.58,60.42,0.96,57.19,0.96ZM59.34,57.19c0,1.19-0.96,2.15-2.15,2.15H6.81c-1.19,0-2.15-0.96-2.15-2.15V6.81c0-1.19,0.96-2.15,2.15-2.15h50.38c1.19,0,2.15,0.96,2.15,2.15V57.19Z"></path>
<path class="cls-1" d="M48.52,14.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h33.04c1.02,0,1.85-0.83,1.85-1.85S49.54,14.67,48.52,14.67Z"></path>
<path class="cls-1" d="M48.52,25.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h33.04c1.02,0,1.85-0.83,1.85-1.85S49.54,25.67,48.52,25.67Z"></path>
<path class="cls-1" d="M48.52,36.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h33.04c1.02,0,1.85-0.83,1.85-1.85S49.54,36.67,48.52,36.67Z"></path>
<path class="cls-1" d="M33.78,47.67H15.48c-1.02,0-1.85,0.83-1.85,1.85s0.83,1.85,1.85,1.85h18.3c1.02,0,1.85-0.83,1.85-1.85S34.8,47.67,33.78,47.67Z"></path>
</svg>
</span>
<span>Blog</span>
</a>
</li>
<li class="d-flex menu-item-about">
<a href="/about/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M32,63.04c17.11,0,31.04-13.92,31.04-31.04S49.11.96,32,.96.96,14.89.96,32s13.92,31.04,31.04,31.04ZM32,4.66c15.07,0,27.34,12.26,27.34,27.34s-12.26,27.34-27.34,27.34S4.66,47.07,4.66,32,16.93,4.66,32,4.66Z"></path>
<path class="cls-1" d="M32,21.63c1.02,0,1.85-.83,1.85-1.85v-2.78c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v2.78c0,1.02.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M32,47.85c1.02,0,1.85-.83,1.85-1.85v-15.66c0-1.02-.83-1.85-1.85-1.85s-1.85.83-1.85,1.85v15.66c0,1.02.83,1.85,1.85,1.85Z"></path>
</svg>
</span>
<span>About</span>
</a>
</li>
<h3>Contact Us:</h3>
<li class="mt-2">
<a href="https://schedule.durableprogramming.com/">
<span class="menu-icon">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M15.98,54.39s.04,0,.06,0c3.73.03,6.75,3.07,6.75,6.8,0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85c0-3.89-2.13-7.29-5.28-9.1,1.17-1.27,1.89-2.96,1.89-4.82,0-3.92-3.19-7.12-7.12-7.12s-7.12,3.19-7.12,7.12c0,1.86.72,3.55,1.89,4.82-3.15,1.82-5.28,5.21-5.28,9.1,0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85c0-3.73,3.02-6.77,6.75-6.8.02,0,.04,0,.06,0ZM12.56,47.27c0-1.88,1.53-3.42,3.42-3.42s3.42,1.53,3.42,3.42-1.51,3.39-3.38,3.41c-.01,0-.03,0-.04,0s-.03,0-.04,0c-1.87-.02-3.38-1.54-3.38-3.41Z"></path>
<path class="cls-1" d="M9.39,35.1h31.27c1.02,0,1.85-.83,1.85-1.85v-2.65c0-3.88-2.12-7.27-5.25-9.09,1.15-1.27,1.86-2.94,1.86-4.78,0-3.92-3.19-7.12-7.12-7.12s-7.12,3.19-7.12,7.12c0,1.84.71,3.52,1.86,4.78-3.14,1.82-5.25,5.21-5.25,9.09v.8h-12.1c-.63,0-1.15-.52-1.15-1.15V5.81c0-.63.52-1.15,1.15-1.15h45.22c.63,0,1.15.52,1.15,1.15v24.44c0,.63-.52,1.15-1.15,1.15h-6.11c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85h6.11c2.67,0,4.85-2.18,4.85-4.85V5.81c0-2.67-2.18-4.85-4.85-4.85H9.39c-2.67,0-4.85,2.18-4.85,4.85v24.44c0,2.67,2.18,4.85,4.85,4.85ZM28.58,16.73c0-1.88,1.53-3.42,3.42-3.42s3.42,1.53,3.42,3.42c0,1.76-1.34,3.19-3.05,3.38-.12,0-.24-.02-.37-.02s-.24.01-.37.02c-1.71-.19-3.05-1.62-3.05-3.38ZM25.19,30.6c0-3.57,2.76-6.5,6.26-6.78.18.01.36.03.55.03s.37-.01.55-.03c3.5.28,6.26,3.21,6.26,6.78v.8h-13.62v-.8Z"></path>
<path class="cls-1" d="M56.68,63.04c1.02,0,1.85-.83,1.85-1.85,0-3.89-2.13-7.29-5.28-9.1,1.17-1.27,1.89-2.96,1.89-4.82,0-3.92-3.19-7.12-7.12-7.12s-7.12,3.19-7.12,7.12c0,1.86.72,3.55,1.89,4.82-3.15,1.82-5.28,5.21-5.28,9.1,0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85c0-3.73,3.02-6.77,6.75-6.8.02,0,.04,0,.06,0s.04,0,.06,0c3.73.03,6.75,3.07,6.75,6.8,0,1.02.83,1.85,1.85,1.85ZM44.6,47.27c0-1.88,1.53-3.42,3.42-3.42s3.42,1.53,3.42,3.42-1.51,3.39-3.38,3.41c-.01,0-.03,0-.04,0s-.03,0-.04,0c-1.87-.02-3.38-1.54-3.38-3.41Z"></path>
</svg>
</span>
Schedule a Meeting
</a>
</li>
<li class="">
<a href="tel:+16173568239">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M16.78,47.21c4.41,4.41,9.35,7.99,14.7,10.65,6.83,3.41,14.09,5.18,21.01,5.18,2.21,0,4.39-.18,6.51-.55,2.34-.4,4.03-2.43,4.03-4.82v-10.78c0-2.28-1.55-4.24-3.77-4.76l-12.97-3.04c-1.9-.45-3.88.28-5.04,1.86l-3.77,5.11c-4.12-2.07-7.93-4.83-11.32-8.23s-6.15-7.19-8.22-11.32l5.11-3.77c1.57-1.16,2.3-3.14,1.86-5.04l-3.04-12.97c-.52-2.22-2.48-3.77-4.76-3.77H6.33C3.94.96,1.92,2.66,1.51,4.99,0,13.73,1.65,23.51,6.14,32.51c2.66,5.35,6.24,10.3,10.64,14.7ZM5.16,5.62c.09-.55.6-.96,1.17-.96h10.78c.55,0,1.03.38,1.15.92l3.04,12.97c.11.46-.07.94-.45,1.22l-6.35,4.68c-.7.52-.95,1.46-.58,2.26,2.31,5.05,5.54,9.67,9.62,13.74s8.7,7.32,13.75,9.62c.8.37,1.74.12,2.26-.58l4.68-6.35c.28-.38.76-.56,1.22-.45l12.97,3.04c.54.13.92.6.92,1.15v10.78c0,.57-.41,1.08-.96,1.17-7.97,1.38-16.93-.15-25.24-4.3-4.99-2.48-9.62-5.83-13.74-9.95s-7.46-8.74-9.95-13.73C5.31,22.55,3.78,13.59,5.16,5.62Z"></path>
</svg>
Call Us
</a>
</li>
<li class="">
<a href="mailto:[email protected]">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M52,.96H12c-1.57,0-2.85,1.28-2.85,2.85v12.23l-6.48,6.48c-1.1,1.11-1.71,2.57-1.71,4.14v30.53c0,1.66.7,3.15,1.81,4.22.07.08.15.15.23.21,1.02.88,2.35,1.42,3.81,1.42h50.38c1.47,0,2.81-.55,3.83-1.44.08-.06.16-.13.23-.21,1.1-1.06,1.78-2.55,1.78-4.2v-30.53c0-1.56-.61-3.03-1.71-4.14l-6.48-6.48V3.81c0-1.57-1.28-2.85-2.85-2.85ZM51.15,4.66v26.21l-6.81,5.6c-.79.65-.9,1.82-.25,2.6.37.44.9.67,1.43.67.41,0,.83-.14,1.17-.42l12.64-10.41v28.27s0,.03,0,.05l-26.14-21.52c-.68-.56-1.67-.56-2.35,0l-6.04,4.97-11.95-9.83V4.66h38.3ZM4.66,57.19v-28.27l17.23,14.17-17.22,14.17s0-.05,0-.07ZM32.02,39.55l24.04,19.79H7.96l24.06-19.79ZM9.15,27.82l-3.59-2.95,3.59-3.59v6.54ZM58.44,24.87l-3.59,2.96v-6.54l3.59,3.59Z"></path>
<path class="cls-1" d="M19.83,16.7h24.33c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-24.33c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M19.83,24.77h12.42c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-12.42c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
</svg>
Email Us
</a>
</li>
<li class="">
<a href="/contact">
<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
<defs>
<style>
.cls-1 {
stroke-width: 0px;
}
</style>
</defs>
<path class="cls-1" d="M6.81,56.67h50.38c3.23,0,5.85-2.62,5.85-5.85V13.18c0-3.23-2.62-5.85-5.85-5.85H6.81c-3.23,0-5.85,2.62-5.85,5.85v37.65c0,3.23,2.62,5.85,5.85,5.85ZM4.66,13.18c0-1.19.96-2.15,2.15-2.15h50.38c1.19,0,2.15.96,2.15,2.15v37.65c0,1.19-.96,2.15-2.15,2.15H6.81c-1.19,0-2.15-.96-2.15-2.15V13.18Z"></path>
<path class="cls-1" d="M12.22,42.94c1.02,0,1.85-.83,1.85-1.85v-1.92c0-3.28,2.66-5.95,5.93-5.98.02,0,.04,0,.05,0s.04,0,.05,0c3.27.03,5.93,2.7,5.93,5.98v1.92c0,1.02.83,1.85,1.85,1.85s1.85-.83,1.85-1.85v-1.92c0-3.47-1.84-6.52-4.6-8.23,1.13-1.23,1.82-2.86,1.82-4.66,0-3.81-3.1-6.91-6.91-6.91s-6.91,3.1-6.91,6.91c0,1.8.7,3.43,1.82,4.66-2.75,1.71-4.6,4.75-4.6,8.23v1.92c0,1.02.83,1.85,1.85,1.85ZM16.85,26.29c0-1.77,1.44-3.21,3.21-3.21s3.21,1.44,3.21,3.21-1.42,3.18-3.17,3.2c-.01,0-.02,0-.04,0s-.02,0-.04,0c-1.75-.02-3.17-1.45-3.17-3.2Z"></path>
<path class="cls-1" d="M37.44,23.79h13.44c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-13.44c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M37.44,33.01h13.44c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-13.44c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
<path class="cls-1" d="M37.44,42.23h6.72c1.02,0,1.85-.83,1.85-1.85s-.83-1.85-1.85-1.85h-6.72c-1.02,0-1.85.83-1.85,1.85s.83,1.85,1.85,1.85Z"></path>
</svg>
Contact Form
</a>
</li>
</ul>
</div>
<div class="header" style="transform: scale(var(--motion-scale));">
<div class="container">
<div class="logo">
<a href="https://durableprogramming.com/">
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" class="icons/logo.svg-icon" viewBox="0 15 336 104" style="transform: scale(var(--motion-scale));">
<g clip-path="url(#a)" transform="matrix(1.3333 0 0 -1.3333 0 128.4)">
<path class="hide-on-hover" fill="#111d44" d="M85.239 34.072V23.943h2.437c.407 0 .474.142.474.533v9.098c0 .32-.101.498-.44.498zm4.773 4.514c1.93 0 2.912-1.244 2.912-3.128V23.126c0-1.955-.745-3.448-3.487-3.448h-4.198v-6.859h-4.875v25.767zm9.75-4.514v-8.885h2.404c.372 0 .473.142.473.533v7.819c0 .32-.135.533-.473.533zm7.718-10.769c0-1.137-.778-2.274-2.2-2.274l2.573-8.21h-5.078l-2.37 8.21h-.643v-8.21h-4.908v25.767h9.309c2.302 0 3.317-1.316 3.317-3.341zm7.48 10.769c-.339 0-.44-.178-.44-.498V17.866c0-.391.068-.534.474-.534h1.862c.406 0 .474.143.474.534v15.708c0 .32-.102.498-.44.498zm7.346-17.592c0-1.955-.779-3.661-3.521-3.661h-5.687c-2.742 0-3.521 1.706-3.521 3.661v18.765c0 2.025 1.016 3.341 3.318 3.341h6.093c2.302 0 3.318-1.316 3.318-3.341zm2.034 18.978c0 1.884.982 3.128 2.911 3.128h7.008l.846-4.798h-5.382c-.339 0-.441-.178-.441-.498V18.008c0-.32.102-.498.441-.498h2.234v10.165h4.773V12.819h-8.565c-2.809 0-3.825 1.137-3.825 3.981zm19.23-1.386v-8.885h2.404c.372 0 .473.142.473.533v7.819c0 .32-.135.533-.473.533zm7.719-10.769c0-1.137-.779-2.274-2.201-2.274l2.573-8.21h-5.078l-2.37 8.21h-.643v-8.21h-4.908v25.767h9.309c2.302 0 3.318-1.316 3.318-3.341zm7.111-3.199h2.268l-1.117 9.134zm-.542-4.087-.44-3.199h-4.942l4.435 25.767h5.247l4.434-25.767h-4.942l-.44 3.199zm14.862 8.957V12.819h-4.773v25.767h5.179l2.675-10.876 2.674 10.876h5.213V12.819h-4.773v12.155l-3.114-10.307zm17.77 0V12.819h-4.773v25.767h5.179l2.675-10.876 2.674 10.876h5.213V12.819h-4.773v12.155l-3.114-10.307zm13 13.611h4.908V12.818h-4.908zm6.94 0h4.672l2.505-10.342v10.342h5.044V12.818h-5.044l-2.641 10.769V12.818h-4.536zm14.25-3.127c0 1.884.982 3.128 2.911 3.128h7.008l.846-4.798h-5.382c-.339 0-.441-.178-.441-.498V18.008c0-.32.102-.498.441-.498h2.234v10.165h4.773V12.819h-8.565c-2.809 0-3.825 1.137-3.825 3.981z"></path>
<path class="hide-on-hover" fill="#d58428" d="M88.387 76.404v-26.24h3.789c.668 0 .779.223.779.836v24.624c0 .501-.167.78-.724.78zm12.591-27.075c0-4.457-1.672-6.24-6.296-6.24H80.365v40.39h15.822c3.175 0 4.791-1.95 4.791-4.902zm9.632-6.24c-4.624 0-6.295 1.783-6.295 6.24v34.15h8.245V51.055c0-.612.111-.891.78-.891h2.841c.669 0 .78.279.78.891v32.424h8.245v-34.15c0-4.457-1.671-6.24-6.295-6.24zm26.02 33.315V62.476h3.956c.612 0 .779.223.779.836v12.256c0 .502-.222.836-.779.836zm12.702-16.88c0-1.783-1.281-3.566-3.621-3.566l4.234-12.869h-8.357l-3.9 12.869h-1.058V43.089h-8.078v40.39h15.32c3.789 0 5.46-2.061 5.46-5.237zm12.078-5.014h3.733l-1.839 14.318zm-.891-6.407-.725-5.014h-8.133l7.298 40.391h8.635l7.298-40.391h-8.134l-.724 5.014zm29.151 10.418c0 .891-.501 1.17-1.225 1.17h-3.678v-9.527h4.067c.669 0 .836.223.836.836zm-4.903 17.883V65.819h3.789c.557 0 1.003.334 1.003 1.059v8.746c0 .502-.167.78-.725.78zm12.535-8.914c0-2.005-.668-3.565-2.785-4.122 2.228-.112 3.175-1.783 3.175-3.565V49.329c0-4.457-1.671-6.24-6.295-6.24h-14.652v40.39h15.766c3.176 0 4.791-1.95 4.791-4.902zm3.728 15.99h8.301V50.61h8.134l-1.393-7.52H201.03zm18.94 0h15.71l1.393-7.521h-8.802v-9.582h6.685v-6.964h-6.685V50.61h8.468l-1.393-7.52H219.97z"></path>
<path fill="#111d44" d="m51.622 83.479-.506-2.953-.712-4.085-.446-2.627q-.794.178-1.603.292a.2.2 0 0 1-.016.097c-.151.285-.306.587-.471.861l-.511.816a36 36 0 0 1-1.123 1.64.2.2 0 0 1-.143.078l-.657.05c-.219.013-.439-.002-.659-.002l-1.318-.025c-.438-.021-.88.007-1.315-.058l-1.309-.152a.2.2 0 0 1-.138-.084c-.359-.569-.7-1.105-1.01-1.694a36 36 0 0 1-.86-1.768c-.011-.024-.008-.05-.007-.076a26 26 0 0 1-2.158-.556 27 27 0 0 1-2.444-.901c-.014.017-.023.037-.043.048a36 36 0 0 1-1.723.939c-.599.313-1.183.542-1.806.801a.19.19 0 0 1-.16-.012c-.769-.423-1.55-.825-2.26-1.344-.716-.508-1.479-.952-2.134-1.54a.2.2 0 0 1-.071-.146q-.013-1.014.028-1.986l.054-.961c.032-.327.072-.656.115-.978.004-.029.02-.052.036-.075a26 26 0 0 1-3.152-3.639.2.2 0 0 1-.091.028 36 36 0 0 1-3.93-.354.18.18 0 0 1-.127-.096l-1.223-2.334c-.362-.798-.668-1.621-.998-2.433a.18.18 0 0 1 .008-.159c.312-.568.698-1.138 1.07-1.679q.563-.815 1.145-1.565a.16.16 0 0 1 .076-.05 26 26 0 0 1-.786-4.743.17.17 0 0 1-.101-.026 35 35 0 0 1-1.598-1.105l-.799-.604c-.258-.206-.504-.419-.756-.637a.19.19 0 0 1-.063-.149l.046-1.317c.008-.439.084-.874.125-1.311l.154-1.309.248-1.293a.19.19 0 0 1 .094-.131c1.147-.641 2.404-1.163 3.585-1.611a.18.18 0 0 1 .114-.002c.018-.06.032-.121.051-.181a26 26 0 0 1 1.753-4.268.17.17 0 0 1-.096-.083 34 34 0 0 1-.788-1.776l-.369-.931-.312-.937a.19.19 0 0 1 .023-.159l.722-1.101c.244-.364.527-.702.79-1.053.271-.345.529-.701.813-1.035l.882-.979a.2.2 0 0 1 .148-.063c1.309.045 2.664.261 3.9.487.065.012.109.064.129.126a26 26 0 0 1 1.917-1.553l1.283 7.402.468 2.708a18 18 0 0 0-1.768 2.687 18.5 18.5 0 0 0-1.087 2.475 17.7 17.7 0 0 0-.968 5.117 19 19 0 0 0 .098 2.692 17.8 17.8 0 0 0 1.338 5.026q.555 1.258 1.267 2.393a17.3 17.3 0 0 0 3.393 3.943 18 18 0 0 0 2.171 1.604c.016.006.027.022.048.028a16.6 16.6 0 0 0 2.382 1.245c.751.332 1.523.598 2.323.816.881.239 1.778.413 2.654.511.87.087 1.746.125 2.611.087q.244-.006.505-.022c.272-.016.544-.038.8-.076q.66-.072 1.289-.185c.277-.049.549-.103.821-.174a16 16 0 0 0 1.795-.522 17.8 17.8 0 0 0 4.595-2.426 19 19 0 0 0 1.55-1.283l.425 2.453 1.218 7.037.446 2.578.391 2.225.376 2.208 1.017 5.879z"></path>
<path fill="#d58428" d="M70.635 46.608c1.102.7 2.073 1.494 3.089 2.377a.2.2 0 0 1 .065.15 30 30 0 0 1-.638 5.261.2.2 0 0 1-.093.132c-1.179.624-2.428 1.139-3.602 1.579h-.003a26 26 0 0 1-1.926 4.513c.006.009.017.013.022.024a34 34 0 0 1 1.385 3.681.18.18 0 0 1-.03.157c-.52.714-1.005 1.456-1.564 2.14-.581.664-1.127 1.363-1.747 1.991a.2.2 0 0 1-.154.057 37 37 0 0 1-1.982-.212 19 19 0 0 1-1.911-.334c-.021-.004-.035-.02-.053-.031-.48.41-.971.807-1.479 1.181l-.006-.033-1.289-7.408-.462-2.703a17.5 17.5 0 0 0 1.762-2.697c.419-.783.789-1.615 1.088-2.469.571-1.643.892-3.361.968-5.118.022-.588.016-1.213-.027-1.849-.011-.283-.044-.571-.071-.843a17.5 17.5 0 0 0-1.344-5.026 19 19 0 0 0-1.25-2.393 18 18 0 0 0-5.575-5.553c-.022-.005-.027-.021-.049-.027a17 17 0 0 0-2.382-1.245 17 17 0 0 0-2.328-.811 17 17 0 0 0-2.654-.505c-.87-.093-1.74-.125-2.6-.093q-.254.015-.516.022c-.267.022-.539.043-.8.071-.44.049-.87.108-1.289.196a11 11 0 0 0-.816.173l.365 2.111 5.281 30.511q-.296.025-.582.043l-.457.033c-.756.016-1.528 0-2.295-.087s-1.55-.234-2.322-.446a15 15 0 0 1-3.329-1.344l-4.155-24-.446-2.589-.43-2.458-1.212-7.027-.446-2.584-.387-2.229-.38-2.203-1.099-5.874h8.702l.566 2.942.44 2.578.267 1.507v.011l.446 2.621c.478-.106.966-.193 1.457-.269.583-1.116 1.26-2.134 2.016-3.197a.2.2 0 0 1 .143-.079c.439-.051.881-.045 1.322-.05l1.325-.01c.882.032 1.764.106 2.644.18a.2.2 0 0 1 .139.088q.55.859 1.031 1.71c.299.528.577 1.048.831 1.602a26 26 0 0 1 2.384.607 26 26 0 0 1 2.493.915c1.084-.643 2.208-1.173 3.412-1.668a.2.2 0 0 1 .163.009c.196.102.397.197.589.307l.567.345 1.131.696c.741.484 1.439 1.031 2.156 1.55a.2.2 0 0 1 .071.148c.006 1.338-.027 2.589-.18 3.842a26 26 0 0 1 3.305 3.84q.903.03 1.84.111c.65.067 1.29.166 1.953.278a.2.2 0 0 1 .131.094c.217.384.454.756.651 1.15l.568 1.196c.185.401.382.796.554 1.203l.457 1.244a.19.19 0 0 1-.012.162c-.341.58-.664 1.13-1.044 1.675q-.555.787-1.128 1.514c.215.846.395 1.706.526 2.584.116.774.193 1.559.239 2.352"></path>
</g>
</svg>
</a>
</div>
<div id="main-menu" class="main-menu">
<ul>
<li class="menu-item-services">
<a href="/services/">
<span>Services</span>
</a>
</li>
<li class="menu-item-technologies">
<a href="/technologies/">
<span>Technologies</span>
</a>
</li>
<li class="menu-item-blog">
<a href="/blog/">
<span>Blog</span>
</a>
</li>
<li class="menu-item-about">
<a href="/about/">
<span>About</span>
</a>
</li>
<li class="menu-item-contact">
<a href="/contact/">
<span>Contact</span>
</a>
</li>
</ul>
</div>
<button id="toggle-main-menu-mobile" class="hamburger hamburger--slider" type="button" aria-label="Toggle Menu">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
</div>
</div>
<div id="wrapper" class="wrapper">
<div class="barba" data-barba="container" data-barba-namespace="Durable Programming">
<div class="hero-image hero-image-fullscreen relative d-flex align-items-center fulltint" style="max-width: 100vw; overflow: hidden;">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/gears-hires-576w.webp 576w, /images/gears-hires-768w.webp 768w, /images/gears-hires-992w.webp 992w, /images/gears-hires-1200w.webp 1200w, /images/gears-hires-2560w.webp 4096w, /images/gears-hires-2560w.jpg ">
<source srcset="/images/gears-hires-576w.jpg 576w, /images/gears-hires-768w.jpg 768w, /images/gears-hires-992w.jpg 992w, /images/gears-hires-1200w.jpg 1200w, /images/gears-hires-2560w.jpg 4096w ">
<img class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #2d3033; z-index: -1;" width="2560" height="1625" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APkdIz6VaSInHFNRBVpFAxWpBGLcL2xShM96suwFRUAWIIAwyec1pRxbc81TtpFVcHrVn7StK4Fhm2iqN5KGGcUk1wdvWqcshcUwKN2u446VW8j3q84zikWPd3pXAqiHHepVtw3U1Y8tfSpooxuwBimAkNnlBkYqdYAD1/Sp1XjFRltrEelAEsMG8dcY9q1YLIlckZz29KqWZX5c9M81u24DKcUEyPOw+O1KszetUlk3dqlVqCi4JWPepFaqitU8bdakC0jkVMsntVTdTTNt9qBMvk5qtIMNioftXuakEgbpTQxrUwHFOZqrE4pAWwc1JG4Dc1TD47UguOfvGgDaRgw4pjLzn1qtbXHTnNTNIG6UAWLWTa2K3bGfpWDa/erVgkwBjtQSeext1qwtUY261cVqCiTdTkcjOOKZSgZoAsiXPamydqaiZzzTyme9AEBOKmVqaIi3SniMr1oAdTGak3VG5xigAZqgDc04nNMIxQBat5SDVxZDznmstWqdZD35oEzUjudnPerkN771z5nI6D9adHdlT6VQjGj71ci71Tj71ci71JRYWrC1XWrC0ASUjUtI1NgSR96JO1EfeiTtQwKknaopO1Sydqik7UIBlI1LSNTEhi1MtQrUy0kDGNUFTtUFIZ//2Q==">
</picture>
<div class="swiper py-4 swiper-initialized swiper-horizontal swiper-backface-hidden" style="z-index:1000;">
<div class="swiper-wrapper" id="swiper-wrapper-6b6bd7afa865848b" aria-live="polite">
<div class="swiper-slide swiper-slide-active" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="1 / 4" data-swiper-slide-index="0">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1">Durable Software Maintenance:<br>Achieve <span>business goals</span> faster.</h1>
<div class="d-flex mt-4 justify-content-start flex-column m-4">
<p class="dfi-lg-2 mb-4 text-center" style="">Software is hard.<wbr> Working with us is easy.</p>
<div class="d-flex flex-column align-items-stretch gap-1">
<a class="btn btn-primary btn-cta d-block" style="width: calc(max-content + 6rem);" href="/services/maintenance/scheduled_maintenance_programming/" role="button">
Solve problems.<span style="flex-grow: 0"></span></a>
</div>
</div>
</div>
</div>
<div class="swiper-slide swiper-slide-next" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="2 / 4" data-swiper-slide-index="1">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1"><span>Drive Revenue Growth</span> and <span>Increase Customer Retention</span>.</h1>
<div class="d-flex mt-4 justify-content-start flex-column m-4">
<p class="dfi-lg-2 mb-4 text-center" style="">Upgrade your software stack <br>to support revenue growth,<br> convert more website visitors, <br> and supercharge your software ROI.</p>
<div class="d-flex flex-column align-items-stretch gap-1">
<a class="btn btn-primary btn-cta d-block" style="width: calc(max-content + 6rem);" href="/services/new_projects/frontend/" role="button">
Create new solutions.<span style="flex-grow: 0"></span></a>
</div>
</div>
</div>
</div>
<div class="swiper-slide" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="3 / 4" data-swiper-slide-index="2">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1">Escape the <wbr><span>Vicious Cycle</span>.</h1>
<p class="dfi-lg-2 mt-4 align-items-start" style="">What is tech debt?<br>
Why does it accumulate?<br>
What can be done?</p>
<a class="btn btn-primary btn-cta" href="/vicious-cycle" role="button">
<span style="flex-grow: 0">Find Out.</span></a>
</div>
</div>
<div class="swiper-slide" style="height: min-content; width: 800px; opacity: 100; margin-right: 30px;" role="group" aria-label="4 / 4" data-swiper-slide-index="3">
<div class="slide-frame" style="padding: 1rem;">
<h1 class="text-center dfi-lg-1"><span>Ruby on Rails</span> Upgrades<br> <span>Without</span> the <span>Hassle</span>.</h1>
<p class="dfi-lg-2 mt-4" style="">Don't fall behind.<br>
We can quickly jump in <br>and start upgrading your app.
</p>
<a class="btn btn-primary btn-cta mt-4" href="/services/maintenance/ruby-on-rails-upgrade" role="button">
<span style="flex-grow: 0">Find Out More</span></a>
</div>
</div>
</div>
<div class="swiper-timer w-full h-4 bg-gray-200 rounded-full overflow-hidden" style="position: absolute; bottom: 0px; right: 0px; font-size: 1rem; padding: 0.5rem;"><div style="transform: scale(var(--motion-scale)); --motion-scale: 1.06412;">6</div> </div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span></div>
</div>
<section class="home-section right-left-gradient home-section-right home-section-top home-section-dark hero-flipx home-section-reduce-contrast d-flex start position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/baweg-576w.webp 576w, /images/baweg-768w.webp 768w, /images/baweg-992w.webp 992w, /images/baweg-1200w.webp 1200w, /images/baweg-2560w.webp 4096w, /images/baweg-2560w.jpg ">
<source srcset="/images/baweg-576w.jpg 576w, /images/baweg-768w.jpg 768w, /images/baweg-992w.jpg 992w, /images/baweg-1200w.jpg 1200w, /images/baweg-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #2a2d2f; z-index: -1;" width="2560" height="1706" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APmN5Rmno2RVG5fbyKiju8cE4rUyNGaUhhgVPaSFqyvtAY9c1ctJlU4NK40X7i2EgzVMQGNuK1YnWRMU42oY5pDILKSQba1IXkJ+tO0+w5H+Fb8OmKE4oArafO8Iya1l8SvbrjNZl1GIBwMVgXlw2/Galq4zv7DxGZ5Fy3Wuw0sLclfzrxvSbhxInNeg6FrDwbQ547H0qWUmeq6dYJj/AOtT9RsQ0ZAFY+leI42AG7mtgamk6ZyD+NRYq5kwweRL0wa6CzmVlx0rJnlVmyKjW6MIzVEnxRd6huyBVNrst3xVVzk5pgGK1M9zSjuj1q5DeEd6xUY561ajl/OkM6qy1DgZNa9vfK3euNt7nbg1cTUCAMHFMDu7G9CsOa6KPUohGOf1ryqLWWi6GpT4jccZNAHc6pqCnO05zWBJMGck5rDbVnuO5qSK5fIOfzoA7TSBHgdzXQrcJDECDivPrPU/KYc8Vof2w0gxvNQM7O319rds7jit+y8V/uvv/rXli3jsetXLe8kGMGnYdz2HTdfE8gy2R6GuktQt2ODwe9eOaTfSrIpBr0rw5qe6NQTk1Az45Frml+yU+O4BBzzVqNw3Q1qQZ/2Yr0pPLK9a2kt1cen4VL/Ze/tnFAGIjEd6d5jetaM+lshOBiqUkBQ0AQu5xUQc+pq0sG73p/2SgCWyY9+a1BLgYqlbWuMVYeMqM0gJYpCW61q25xisKJ9rVoRXWFpgbsB3uBXQWGlvKRgZFc1pD+dOMc16x4a0wSxrletS3YClpeguHXj9K9D8P+H3JTjv6Va0fRU3j5a9K8OaGmAdvQ1DZSR+aUdXbfrVKOrtv1rUk1bTqK3rPqKwbTqK3rPqKaExLsD0FYNyBuPAreu6wrn7xp9BlWLqavLVGLqavLWaAs246Ulz90U637Ulz90VaAz261MnSoW61MnSl1A6Tw3/AMfC/WvcfCn+qj/CvDvDf/Hwv1r3Hwp/qo/wqJAejaL9+vSdD+4K820T79ek6J9xazZqj//Z">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Testimonials</h2>
<p></p><div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p><em>Professional</em>, <em>efficient</em>, and <em>strong communicator</em>, and <em>fairly priced</em>. David really helped me with some needs for my app - from refactoring old [code], to making improvements - he was <em>terrific</em>!</p>
<p class="testimonial-author">Gabriel Teninbaum</p>
<p class="testimonial-position">SpacedRepetition.com</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p>[Durable Programming managing partner] David Berube is <em>highly recommended</em> as a programmer and developer. He single handedly saved our project from imminent ruin. He has proven most professional in his conduct. He is <em>extremely fast</em> and efficient. Most importantly, David really knows his code. I recommend him <em>highly</em>.</p>
<p class="testimonial-author">Joey Rubenstein</p>
<p class="testimonial-position">Casting Frontier</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p>The folks at Durable Programming did an <em>exceptional</em> job recovering and updating our broken tool (coded years ago in Ruby on Rails). Throughout the process they were <em>responsive</em>, <em>patient</em>, and <em>communicative</em>. We also greatly appreciate their support of nonprofits. We’ll <em>definitely</em> be a <em>repeat customer</em>!</p>
<p class="testimonial-author">Kim Carter</p>
<p class="testimonial-position">QED Foundation</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="testimonial-content">
<div class="testimonial-text">
<p>[Durable Programming] was <em>fantastic</em>. Importantly, David has a <em>strong level of competence</em> which is something that other vendors have exaggerated just to win business. David handled a migration of multiple apps to a <em>new platform</em> and <em>new CI/CD</em>, did it <em>quickly</em> and on <em>budget</em>. I wish I found them sooner, it would have <em>saved</em> me a <em>ton of money</em>.</p>
<p class="testimonial-author">Kyle Stuart</p>
<p class="testimonial-position">SynthWorks LLC</p>
</div>
</div>
</div>
</div>
</div>
<p></p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/testimonials">Read More</a>
</div>
</div>
</section>
<section class="home-section hero-flipx left-right-gradient d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/as-seen-in-576w.webp 576w, /images/as-seen-in-768w.webp 768w, /images/as-seen-in-992w.webp 992w, /images/as-seen-in-1200w.webp 1200w, /images/as-seen-in-2560w.webp 4096w, /images/as-seen-in-2560w.jpg ">
<source srcset="/images/as-seen-in-576w.jpg 576w, /images/as-seen-in-768w.jpg 768w, /images/as-seen-in-992w.jpg 992w, /images/as-seen-in-1200w.jpg 1200w, /images/as-seen-in-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #4a2b1e; z-index: -1;" width="2560" height="1900" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APkNo91N8k1rtZheoxTRbr6V57qn0CpIzfJPpTxC3pWkLbPapVtMn7tR7YpUytZ2zZBz1q+1uwHWr9lY/d/wrTaxwP8A61c0q+p0Ro3OJvIGy1UQnPSut1CxBLZrGmswhzit4VroylSsykicVIE9qkEYFSqlNyuawVkJFH04qzFH7URoMirESVhOehq1Ykhj6Vbij6cU2JMYq1GnArhnLqESSKMnFXo04FR28YxWnaWwPzH8q8ypNHZBXOHuMDNVQ4FQ3F5uJ55quJSe5r6WMHY8X2i6GksgNWYWy1ZsDFq07KAsy5FROKiXGTexuaaudtbgt8r0zVfRtOMmO2OtdO2kMkecZ+lfP16yhKx6lJXRxWoW4XPFcxeoQSAK7nVrXrx0rlr+35Jr0MNUUkmzmqrUwGpVanzwlD7VB92vU0exzc/KW42yRVuNgRWYsmD6VZjnxWU4Ng6tzWhxV6EZxWPFcjvWjb3C/LzXBVizaE0zYtUBwK2bWD5OlYlrcLkVu2lwu2vFrp7HqUpRPGSM1KkTHrxWz/ZTelSLpbAj5a+2Pk0UrW3JZcjiun0iz3MvFUILBgcEAe9dBpkBiK55xXDXu1ZHZSa6na6BaRrEpxk10U0SbOlclYXrQqB2q62rnaRXztTCynK56kaiirIqapp4ctt5rmLzScE7hx9K6We+8wdeaz7iTfxnmt6dGpDYic4vc4u/05Uz8tYc9vhjXZX0BOQeaxrmxzzivboRklqeZVkjnWiIOKQDFakllk9MVC1kcV38l9zkcyqjkGrEd3sPPFMa0KjNMNufSk6KYvatbGnDqBXGDmtCDWig7/nXPeS3oaPKf3rmlg4T3NI4qUTsVRf7o/KgouOg/KlWlbpXWzJDFA44rVsxwtZS9q1rPtXLUOmn0NSAfJSSfdNLB9ykl+6a4o7nX0K56009acetNPWt4mFQrXABzwKy7kDeeK1J+9Zdz/rDXZTOaexTIHoKjYDHQVKaibpXUjlKsgGOgqDFWJOlV6sgeoHpTsD0FItLSQH/2Q==">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim"></h2>
<p></p><h4>As featured in..</h4>
<div class="row justify-content-between as-seen-logos d-flex my-2 gap-1">
<div class="durable-anim">
<img src="/images/logos/ibm-developerworks.svg" style="" alt="IBM DeveloperWorks">
</div>
<div class="durable-anim">
<img src="/images/logos/apress.svg" style="" alt="Apress">
</div>
<div class="durable-anim">
<img src="/images/logos/percona-white.png" style="" alt="Percona Live Conference and Expo">
</div>
<div class="durable-anim">
<img src="/images/logos/linux-mag-white.svg" style="" alt="Linux Magazine">
</div>
<div class="durable-anim">
<img src="/images/logos/fast_company.svg" style="" alt="Fast-Company">
</div>
<div class="durable-anim">
<img src="/images/logos/ipc-2024.svg" style="" alt="Linux Magazine">
</div>
<div class="durable-anim">
<img src="/images/logos/voicesthatmatter.svg" style="" alt="Linux Magazine">
</div>
<div class="durable-anim">
<img src="/images/logos/dzone.svg" style="" alt="DZone">
</div>
<div class="durable-anim">
<a href="https://www.designrush.com/agency/software-development/trends">
<img src="/images/logos/designrush.svg" style="" alt="software development trends">
</a>
</div>
</div>
<style>
</style>
<p></p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/about/as_seen_in">Find Out More</a>
</div>
</div>
</section>
<section class="home-section left-right-gradient home-section-dark home-section-right d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/manufacturing-576w.webp 576w, /images/manufacturing-768w.webp 768w, /images/manufacturing-992w.webp 992w, /images/manufacturing-1200w.webp 1200w, /images/manufacturing-2560w.webp 4096w, /images/manufacturing-2560w.jpg ">
<source srcset="/images/manufacturing-576w.jpg 576w, /images/manufacturing-768w.jpg 768w, /images/manufacturing-992w.jpg 992w, /images/manufacturing-1200w.jpg 1200w, /images/manufacturing-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #2a2627; z-index: -1;" width="2560" height="1714" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APhqiiigApVXcaURk9K09O05pn6UDSuU4bOSQgAZrRt9BklwQtdtoHhT7QB8v6dK9C0rwOn9wflWUpI2ULnjln4Tll/hBrVtfBMjY+TGfUV7rY+CYIwMIOfatiDwlDEuNgNYSqtbHRGkmeBw+BGJHyD8qtxeA2GPkH5V7pNoUFumdoH4VkXf2eDOQKy9ozZUkjyY+CNg5QflUMnhJY+qCvQb3UoV3Yx+dc9farFzyPzpqU2NqKOTn8PrHn5M1nS6UqdVrcv9UTJwc1h3epBlJrRKXUzlyxKU1oFPSs+W3Ab/AOtU0+obsYFUZbkkg1pysxlKL0McJnvUkcDM2K1PsFTw2PzdK6DkIbHTTKw4rq9K0bYA2OB+tM0izCuMiumRAgAHQUmNOxraJKlttyMV2mn62i45z+NedwyYZa1IJ2C4zWcop7mnO0ejQa6jEDOPxrdsb1ZlAz16V5daXRQgk10Om6yIhgtgVDpplqrY6bV59sbYOK8z8Qai6bsN+tdZqerxvCTuNef63dxyOSM4zTVOwpVTFnuZpz1qGSwmlXGMVoWkatJyK6yxs7cxf/WrZRRk5tnml3pUyEn2rDvLKVVIxXrWrW1vGhOM1wer+WrMB2NPlRDlJnHvbsGqH7M3rWtPtByKqs4p6ITZomJTTlQA5FUPtZbqamgmBY5NI2Na2n8r2xV0amQMf1rNiG5eKjnUx9aVgsbMeqYbvV+DVhxziuLa6KsQakjvPu80WJO6Gr/LjNKmuFDksa49blqVrsr1Jpgdhc+IC0f3jWFdai8rHJOKxpNQ96qyahz1NAjoLfUTG+ela0HiVkTaGPFcOLzn7xp7XpxwSaAsdVfeInmDLuJrnL68MznmqUl2T61Xa5BPOaAsPkkJJ54qqxpxmz71E0opCsiWpofvVDU0P3qplrc3bLpUt/8AdNRWXSpb/wC6aRq9jnZ/v1JB1FRz/fqSDqKDHqaUP3ajn71JD92o5+9ESjPn+7VNjVyf7tU2o6kjlqSo1qSgroMY1BmpmqGgTEY0xjTmprUA9z//2Q==">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Decades of Experience</h2>
<p class="lead durable-anim">We can repair legacy systems, no matter how complex.</p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/technologies">Technologies</a>
</div>
</div>
</section>
<section class="home-section right-left-gradient home-section-left home-section-dark hero-flipx d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/homepage-links-576w.webp 576w, /images/homepage-links-768w.webp 768w, /images/homepage-links-992w.webp 992w, /images/homepage-links-1200w.webp 1200w, /images/homepage-links-2560w.webp 4096w, /images/homepage-links-2560w.jpg ">
<source srcset="/images/homepage-links-576w.jpg 576w, /images/homepage-links-768w.jpg 768w, /images/homepage-links-992w.jpg 992w, /images/homepage-links-1200w.jpg 1200w, /images/homepage-links-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #4a4d57; z-index: -1;" width="2560" height="2720" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APb7fTCigEVdGk1rRRKuMDmpgteUeic/PpBKdKxNQ0AHPy9q7woCKqXNosiHAppkvU8Y1zSGRWBWuA1WJoyQRXvmuaOsiHIryrxPpPkyPxXXTqX0MJI88nkbaeaxb12Oea6W4smLsOgp8HhprjHy12RmonO0+hwUiue1M2P6GvUIfALyrkJn8KmHw8kP8H6VXtYkqLPKvKf0NHlP6GvWP+FeSf3P0pD8PJB/B+lL2kR8jR5M0D+9V5IXGODXrb/D+Qf8s/0qnJ4Akz/q/wBKftELlbPIrq1dt3Ws+XTHLZ2V7Svw9dsZj/SrC/DZm/5Z/pTVaKGoM+sQMU4HNVjcKP4s0C6A714J6Rb3U0jNVxdD1qQXCk0CKeo23mRnivOPFmmbwfl5NepSsrriuT8RW6PG/HSt4OzJkeMXOnqJTkc10Xh6xilKgiqetKsUxIFP0C/8qYDPGa6nqjBaM9P0vw/C6fcxmtIeGoR/DVTQtSVoVya3f7SiHeuNtpm6Rnf8I7D/AHaP+Edh/u1dfVox1bFMbW4v71F2OyKL+HIT/DVN/DUJ/h/StOTXIhj5qz7jxJApJ3Ue8idCIeGYB/AKvReHYV6IOazv+Epi/v1ch8TxOufMxQ+YNCwZWFRSTsoyK0Wtvaq01nnNZGpnPqDA4yRSJqbFupp02nsCTUAsWBziqTINCPUC2cms3VpvNjbnNTJCVzniobiLchHWhA9jzPxDGyu2eK522vjbzDPrXaeJrZQDkc157c/6044rug7oweh6DoviFkQfNxWrL4oZU4Y1wWiu3TPFbssJaPg5qWlcE2S3vjN42J3kfjWXN4/cNjefzrD1q3aP3rjb7zA5BOK3hTTRk5s7y6+ID/N8x/Osm5+IDnd8x/OuCuZXwQG6VmTyvz81bqkjPnZ6Mnjt+P3h/Or8Hj11T75/OvJFuH9akW8f1P50eyiHOz78pj9afTJOorwz1CCQfKapS9auyfdNUputAFdqrT/cNWWqtP8AcNBBw3ir7v515vcf6016R4q+7+deb3H+tNd8NjCW5saT1H0ro1+5XOaT1H0ro1+5SnuKJzmt9GriNS++fpXb630auI1L75+ldtPY5pbmLc/easqf75rVufvNWVP9810GZVam05qbUoD/2Q==">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Is Your Software A Weak Link?</h2>
<p class="lead durable-anim">You can break any chain with one weak link.</p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/about/is-your-software-a-weak-link">About Us</a>
</div>
</div>
</section>
<section class="home-section right-left-gradient home-section-right d-flex align-items-center position-relative bg-cover bg-position-center bg-overlay">
<picture style="position: absolute; left:0; right:0; bottom: 0; top:0; z-index: 2;">
<source srcset="/images/keyboard-576w.webp 576w, /images/keyboard-768w.webp 768w, /images/keyboard-992w.webp 992w, /images/keyboard-1200w.webp 1200w, /images/keyboard-2560w.webp 4096w, /images/keyboard-2560w.jpg ">
<source srcset="/images/keyboard-576w.jpg 576w, /images/keyboard-768w.jpg 768w, /images/keyboard-992w.jpg 992w, /images/keyboard-1200w.jpg 1200w, /images/keyboard-2560w.jpg 4096w ">
<img loading="lazy" class="position-absolute h-100 w-100 object-fit-cover " style="background-color: #292a33; z-index: -1;" width="2560" height="1706" src="data:image/jpeg;base64,/9j/2wCEAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRQBAwQEBQQFCQUFCRQNCw0UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFP/AABEIADIAgAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APiMQOe1PS0ckV1EejDPIz+FW4NIQEfLTsNI5SLTXk7ZqzFoznHymuxt9JRQfkqyLCKPHy5quULHIQaI79iMVct/D7HOQT+FdSkES9sVZ3xL/DRysLHNQeHsZ+Q1fh8OBOoP5Vqi6RT6VIdQRQMGrVNhzIpwaIkbZIrQgso4sYHPvVObVFGKgfU8DgkVapNhzI3keOLPA5qyNTRR1FchLqhz941XfUiw+8fyoVEfOjs59aVBnIqi/iE+tcjcXzOuA36VVkupP71N0Yi57nTXmvlt3zVhXl+ZFJyT71nNMxJ5OaibLd6Xs0hOTZvPdIKiXUMGsU3pboc0hlLdalIVzo49U47/AJ02XU+O9c95hpwlY9zWqSJcmzXfU+e9MbVPc1l+YaTcfWmtCbs1Rfk/xGl+2n+8ay1YipFY1aYFxrpm6E8U9ZiwyDVOpAcValYmxab5qjamh8dqbJ0xQ5jIycU0jNMJxQX9qzcirDNtSKtRb6kVxWPMUZ0YJqwq+1OitWJ6VbFqw9K2VNszuVPL96AmO9aK2uRyRUcsOz2rTkaFcrLH71KID2OfwppYL1qaOZQ3rUpJblEf2cilWJquxqJKsrZ+1Vyom5nrEe9OK1ea2CDOMVTmlWM80rWKIyMUyQ4FNkuVWqkl1x1zWUmgJnbmoWeoxLvxjNTwWbzEcVi2WQbzT92a000OTsM1Zj0I9xmsZSsWkRW1WGqvbVYavfjscY6PvVS86Grcfeql50NRU2KRkTfep8P3qZN96nw/erzykalnWxbfcrHs62Lb7lbrYoZdd6wL+t+671gX/eoZRkydqiqWTtUVc0twJ7f79dZov8Fcnb/frrNF/gqC0dNbqCnQUrKvoPyotvuU5qxmax2P/9k=">
</picture>
<div class="home-section-outer">
<div class="home-section-inner">
<h2 class="durable-anim">Why Durable?</h2>
<p class="lead durable-anim">The world has a lot of programmers. Why us?</p>
<a class="durable-anim btn btn-primary mt-2 btn-cta" href="/about/why_durable">Find out</a>
</div>
</div>
</section>
</div>
</div>
<div class="durable-footer text-white py-5">
<div class="container">
<div class="row">
<div class="col-md-6">
<div class="d-flex align-items-center mb-4">
<ul class="list-inline mb-0">
<li class="list-inline-item"><a href="https://github.com/durableprogramming/" target="blank" class="text-white"><img width="24" height="24" src="/social/github.svg" title="Github" alt="Github" class="img-fluid"></a></li>
<li class="list-inline-item"><a href="https://x.com/durableprogram" target="blank" class="text-white"><img width="24" height="24" src="/social/twitter.svg" title="Twitter" alt="Twitter" class="img-fluid"></a></li>
<li class="list-inline-item"><a href="https://www.linkedin.com/company/durable-programming-llc" target="blank" class="text-white"><img width="24" height="24" src="/social/linkedin.svg" title="Linkedin" alt="Linkedin" class="img-fluid"></a></li>
</ul>
</div>
</div>
<div class="col-md-6 justify-content-end d-flex">
<ul class="list-inline text-md-end mb-0">
<li class="list-inline-item"><a href="https://durableprogramming.com/" class="text-white">Home</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/terms_of_use" class="text-white">Terms of Use</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/privacy_policy" class="text-white">Privacy Policy</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/refund_policy" class="text-white">Refund Policy</a></li>
<li class="list-inline-item"><a href="https://durableprogramming.com/contact" class="text-white">Contact</a></li>
</ul>
</div>
</div>
<div class="row">
<div class="col-md-4 flex-grow-1">
<ul>
<li><strong>Phone: </strong>(617) 356-8239</li>
<li><strong>Email: </strong><a href="mailto:[email protected]">
[email protected]</a></li>
</ul>
</div>
<div class="col-md-4 durable-footer-address">
<div class="mb-4">
<p class="mb-0">345 Cilley Road, Suite A</p>
<p class="mb-0">Manchester, NH 03103</p>
</div>
</div>
</div>
<div class="last-footer-row">
<div class="col-md-12">
<span class="copyright">Copyright 2024 Durable Programming, LLC. All rights reserved.</span>
<span class="kudos">Designed in conjunction with our partners at <a href="https://piniondesigns.com">Pinion Designs</a></span>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/js/scripts.min.5d8136fd5340111da74c95e75ecd6007e9d9b4351c8124aa5111cc57339058ec.js"></script>
<div style="position: fixed; width: 100%; right: 2rem; bottom: 2rem; z-index: 8192; display: flex; justify-content: end; ">
<button onclick="if (!window.__cfRLUnblockHandlers) return false; openContactModal()" class="rounded-circle shadow-lg p-1 d-none d-md-block" id="contact-us-button" style="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M9 11H6c0-3 1.6-4 2.7-4.6q.6-.3.9-.6c.5-.5.3-1.2.2-1.4c-.3-.7-1-1.4-2.3-1.4C5.4 3 5 4.9 5 5.3l-3-.4C2.2 3.2 3.7 0 7.5 0c2.3 0 4.3 1.3 5.1 3.2c.7 1.7.4 3.5-.8 4.7c-.5.5-1.1.8-1.6 1.1c-.9.5-1.2 1-1.2 2m.5 3a2 2 0 1 1-3.999.001A2 2 0 0 1 9.5 14"></path></svg>
</button>
<a href="tel:+16173568239" class="rounded-circle shadow-lg p-1 d-none d-md-block" id="contact-us-button" style="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M21 16.42v3.536a1 1 0 0 1-.93.998Q19.415 21 19 21C10.163 21 3 13.837 3 5q0-.414.046-1.07A1 1 0 0 1 4.044 3H7.58a.5.5 0 0 1 .498.45q.034.344.064.552A13.9 13.9 0 0 0 9.35 8.003c.095.2.033.439-.147.567l-2.158 1.542a13.05 13.05 0 0 0 6.844 6.844l1.54-2.154a.46.46 0 0 1 .573-.149a13.9 13.9 0 0 0 4 1.205q.208.03.55.064a.5.5 0 0 1 .449.498"></path></svg>
</a>
<a href="mailto:[email protected]" class="rounded-circle shadow-lg p-1 d-none d-md-block" id="contact-us-button" style="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M4 20q-.825 0-1.412-.587T2 18V6q0-.825.588-1.412T4 4h16q.825 0 1.413.588T22 6v12q0 .825-.587 1.413T20 20zm8-7l8-5V6l-8 5l-8-5v2z"></path></svg>
</a>
</div>
<div id="contact-modal" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Ask a question</h5>
<button type="button" class="close" onclick="if (!window.__cfRLUnblockHandlers) return false; closeContactModal()" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p class="text-muted">
Fill out this form and we'll get back to you ASAP.
</p><form id="contact-form" action="https://formspree.io/f/mgvwkqed" method="POST">
<div class="form-group">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required="">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required="">
</div>
<div class="form-group">
<label for="message">Message:</label>
<textarea id="message" name="message" required=""></textarea>
</div>
<button type="submit">Send</button>
</form>
<style>
#contact-form {
max-width: 500px;
margin: 0 0;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 5px;
}
input[type="text"],
input[type="email"],
textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}
textarea {
height: 150px;
}
button {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #0056b3;
}
</style>
<script type="text/javascript">
document.getElementById('contact-form').addEventListener('submit', function(event) {
event.preventDefault();
var form = event.target;
var data = new FormData(form);
fetch(form.action, {
method: form.method,
body: data,
headers: {
'Accept': 'application/json'
}
}).then(response => {
if (response.ok) {
alert('Thank you for your message. We will get back to you soon!');
closeContactModal();
var emailInput = document.getElementById('email');
if (emailInput.value === '[email protected]') {
window.location.href = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
}
} else {
response.json().then(data => {
if (Object.hasOwn(data, 'errors')) {
alert(data["errors"].map(error => error["message"]).join(", "));
} else {
alert('Oops! There was a problem submitting your form');
}
})
}
}).catch(error => {
alert('Oops! There was a problem submitting your form');
});
});
</script>
<p></p>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function openContactModal() {
document.getElementById('contact-modal').style.display = 'block';
}
function closeContactModal() {
document.getElementById('contact-modal').style.display = 'none';
}
window.onclick = function(event) {
if (event.target == document.getElementById('contact-modal')) {
closeContactModal();
}
}
</script>
<style>
.modal {
display: none;
position: fixed;
z-index: 8192;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
}
.modal-dialog {
position: relative;
width: auto;
margin: 1.75rem auto;
max-width: 500px;
}
.modal-content {
position: relative;
display: flex;
flex-direction: column;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.2);
border-radius: .3rem;
outline: 0;
}
.modal-header, .modal-body, .modal-footer {
padding: 1rem;
}
.modal-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
border-bottom: 1px solid #dee2e6;
}
.modal-footer {
display: flex;
align-items: center;
justify-content: flex-end;
border-top: 1px solid #dee2e6;
}
.close {
float: right;
font-size: 1.5rem;
font-weight: 700;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
background: none;
border: none;
padding: 0;
}
</style>
<script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"rayId":"8dde236ec8152fa3","version":"2024.10.4","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"9eca26dfbcc048908614881a41b4f324","b":1}" crossorigin="anonymous"></script>
<script type="text/javascript" id="" charset="">(function(a,e,b,f,g,c,d){a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)};c=e.createElement(f);c.async=1;c.src="https://www.clarity.ms/tag/"+g;d=e.getElementsByTagName(f)[0];d.parentNode.insertBefore(c,d)})(window,document,"clarity","script","o0kl6b0jyb");</script><script type="text/javascript" id="" charset="">(function(a,e,b,f,g,c,d){a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)};c=e.createElement(f);c.async=1;c.src="https://www.clarity.ms/tag/"+g+"?ref\x3dgtm2";d=e.getElementsByTagName(f)[0];d.parentNode.insertBefore(c,d)})(window,document,"clarity","script","o0kl6b0jyb");</script></body></html>