PageSourceSearch

https://noahlabhart.com/

html noahlabhart.com collected 2026-10-04 05:24:01 UTC 31,542 bytes, 256 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/assets/nl-logo-C8hQLzZX.png"/><link rel="preload" as="image" href="/assets/hero-texture-Dbh4xqUR.jpg" fetchPriority="high"/><link rel="preload" as="image" href="/__l5e/assets-v1/4338f152-9d0f-4631-9b0c-5c69911cdb9e/noah-portrait-sq.jpg"/><link rel="stylesheet" href="/assets/styles-ClTsdCs9.css" data-precedence="default"/><title>Noah Labhart — Startup Founder, CTO &amp; Podcast Host</title><meta name="author" content="Noah Labhart"/><meta name="google-site-verification" content="9N1k6doRpBvoI4yHSPpMwHJ1NytaEJrc2PY3XBIVXRs"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Noah Labhart"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Noah Labhart"/><meta name="twitter:description" content="Noah&#x27;s Digital Haven is a personalized website showcasing tech entrepreneur No
1ah Labhart&#x27;s professional journey."/><meta property="og:image" content="https://storage.googleapis.com/gpt-engineer-file-uploads/2BeHbSdknKbe1ifsbTP2Dc7CPd23/social-images/social-1785441754448-13-D71D0B8E-2ABC-4ACA-94DC-FF0ACFB93901_1_201_a.webp"/><meta name="twitter:image" content="https://storage.googleapis.com/gpt-engineer-file-uploads/2BeHbSdknKbe1ifsbTP2Dc7CPd23/social-images/social-1785441754448-13-D71D0B8E-2ABC-4ACA-94DC-FF0ACFB93901_1_201_a.webp"/><meta name="description" content="Noah Labhart is Co-Founder &amp; CTO of Veryable and host of Code Story. Software architect, entrepreneur, husband, father, Jesus follower."/><meta property="og:title" content="Noah Labhart — Startup Founder, CTO &amp; Podcast Host"/><meta property="og:description" content="Noah Labhart is Co-Founder &amp; CTO of Veryable and host of Code Story. Software architect, entrepreneur, husband, father, Jesus follower."/><meta property="og:url" content="/"/><link rel="modulepreload" href="/assets/index-CIhN9yUf.js"/><link rel="modulepreload" href="/assets/jsx-runtime-DGeXAQPT.js"/><link rel="modulepreload" href="/assets/link-DfXvwZHU.js"/><link rel="modulepreload" href="/assets/react-vt4WmSOl.js"/><link rel="modulepreload" href="/assets/routes-gsXDvKL_.js"/><link rel="modulepreload" href="/assets/LazyImage-BTCDXO_6.js"/><link rel="modulepreload" href="/assets/Section-uqbsMFz3.js"/><link rel="canonical" href="/"/><link rel="preload" as="image" href="/assets/hero-texture-Dbh4xqUR.jpg" fetchPriority="high"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://noahlabhart.com/#person","name":"Noah Labhart","givenName":"Noah","familyName":"Labhart","jobTitle":"Co-Founder & Chief Technology Officer","description":"Software architect, startup CTO and host of the Code Story podcast. Co-founder and CTO of Veryable.","url":"https://noahlabhart.com/","image":"https://storage.googleapis.com/gpt-engineer-file-uploads/2BeHbSdknKbe1ifsbTP2Dc7CPd23/social-images/social-1785441754448-13-D71D0B8E-2ABC-4ACA-94DC-FF0ACFB93901_1_201_a.webp","knowsAbout":["Software Architecture","Startup Leadership","iOS Development","Engineering Management","Product Development"],"worksFor":{"@id":"https://veryableops.com/#organization"},"affiliation":{"@id":"https://codestory.co/#organization"},"mainEntityOfPage":"https://noahlabhart.com/","sameAs":["https://www.linkedin.com/in/noahlabhart","https://codestory.co/","https://indiehackers.com/nlabhart/","https://veryableops.com/","https://github.com/nlabhart","https://podcasts.apple.com/us/podcast/id1466861744","https://open.spotify.com/show/0f5HGQ2EPd63H83gqAifXp","https://www.youtube.com/@codestorypodcast"]},{"@type":"Organization","@id":"https://veryableops.com/#organization","name":"Veryable","url":"https://veryableops.com/","description":"A marketplace of on-demand labor for manufacturing and warehouse work.","founder":{"@id":"https://noahlabhart.com/#person"}},{"@type":"Organization","@id":"https://codestory.co/#organization","name":"Code Story","url":"https://codestory.co/","description":"A podcast featuring startup founders and technology leaders sharing how they built their companies.","founder":{"@id":"https://noahlabhart.com/#person"},"sameAs":["https://podcasts.apple.com/us/podcast/id1466861744","https://open.spotify.com/show/0f5HGQ2EPd63H83gqAifXp","https://www.youtube.com/@codestorypodcast","https://www.linkedin.com/company/code-story"]},{"@type":"PodcastSeries","@id":"https://codestory.co/#podcast","name":"Code Story","url":"https://codestory.co/","description":"A periodic window into the startup world, where founders and technical leaders share how they built their companies.","author":{"@id":"https://noahlabhart.com/#person"},"publisher":{"@id":"https://codestory.co/#organization"},"webFeed":"https://feeds.redcircle.com/ac5e79a4-0405-49a3-af2c-02c37f0b3879","sameAs":["https://podcasts.apple.com/us/podcast/id1466861744","https://open.spotify.com/show/0f5HGQ2EPd63H83gqAifXp","https://www.youtube.com/@codestorypodcast"]},{"@type":"WebSite","@id":"https://noahlabhart.com/#website","url":"https://noahlabhart.com/","name":"Noah Labhart","inLanguage":"en-US","publisher":{"@id":"https://noahlabhart.com/#person"},"about":{"@id":"https://noahlabhart.com/#person"}}]}</script>
1
2<style>
3	#lovable-badge {
4		--badge-bg: #1b1b1b;
5		--badge-text: #c5c1b9;
6		--badge-text-hover: #dcdad5;
7		--badge-radius: 6px;
8		--badge-padding: 8px;
9		--badge-gap: 6px;
10		--badge-shadow: 
11			0 0 0 1px rgba(0, 0, 0, 0.88),
12			0 1px 0 0 rgba(0, 0, 0, 0.04),
13			0 2px 2px -1px rgba(0, 0, 0, 0.08),
14			0 4px 4px -2px rgba(0, 0, 0, 0.08),
15			0 8px 8px -4px rgba(0, 0, 0, 0.08),
16			0 16px 16px -8px rgba(0, 0, 0, 0.08);
17		--badge-transition-duration: 0.2s;
18		--badge-transition-easing: cubic-bezier(0.16, 1, 0.32, 1);
19		--focus-color: #575ECF;
20		--focus-offset: 2px;
21		--focus-width: 2px;
22		
23		position: fixed;
24		bottom: 12px;
25		right: 12px;
26		height: 24px;
27		display: flex;
28		align-items: center;
29		z-index: 1000000;
30		background-color: var(--badge-bg) !important;
31		color: var(--badge-text) !important;
32		border-radius: var(--badge-radius);
33		box-shadow: var(--badge-shadow) !important;
34		font-size: 12px;
35		font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
36		font-weight: 400 !important;
37		text-transform: none !important;
38		font-feature-settings: normal !important;
39		transform: translateZ(0);
40		will-change: transform, opacity;
41		transition: opacity var(--badge-transition-duration) var(--badge-transition-easing);
42	}
43
44	#lovable-badge.closing {
45		opacity: 0;
46		pointer-events: none;
47	}
48
49	#lovable-badge-cta {
50		display: flex;
51		align-items: baseline;
52		gap: var(--badge-gap);
53		box-sizing: border-box;
54		padding: 4px var(--badge-padding) 0;
55		height: 100%;
56		color: inherit;
57		text-decoration: none;
58		white-space: nowrap;
59		border-radius: var(--badge-radius) 0 0 var(--badge-radius);
60		transition: 
61			background-color var(--badge-transition-duration) ease,
62			color var(--badge-transition-duration) ease,
63			transform 0.1s ease;
64	}
65
66	#lovable-badge-cta:hover {
67		background: rgba(255, 255, 255, 0.04);
68		color: var(--badge-text-hover);
69	}
70
71	#lovable-badge-cta:active {
72		transform: scale(0.98);
73	}
74
75	#lovable-badge-cta:focus {
76		outline: none;
77	}
78
79	#lovable-badge-cta:focus-visible {
80		outline: var(--focus-width) solid var(--focus-color);
81		outline-offset: var(--focus-offset);
82		z-index: 1;
83	}
84
85	#lovable-badge-text {
86		line-height: 1;
87	}
88
89	/* The wordmark baseline sits at y=12 of the 16px logo; an empty 12px box
90	   makes that the flex baseline so the text aligns to it on any system font. */
91	#lovable-badge-logo {
92		position: relative;
93		display: block;
94		width: 52px;
95		height: 12px;
96	}
97
98	#lovable-badge-logo svg {
99		position: absolute;
100		top: 0;
101		left: 0;
102	}
103
104	#lovable-badge-divider {
105		width: 1px;
106		height: 24px;
107		background-color: rgba(255, 255, 255, 0.04);
108		flex-shrink: 0;
109	}
110
111	#lovable-badge-close {
112		width: 24px;
113		height: 24px;
114		min-width: 24px;
115		min-height: 24px;
116		cursor: pointer;
117		background: none;
118		border: none;
119		padding: 0;
120		display: flex;
121		align-items: center;
122		justify-content: center;
123		border-radius: 0 var(--badge-radius) var(--badge-radius) 0;
124		flex-shrink: 0;
125		transition: 
126			background-color var(--badge-transition-duration) ease,
127			transform 0.1s ease;
128	}
129
130	#lovable-badge-close:hover {
131		background: rgba(255, 255, 255, 0.04);
132	}
133
134	#lovable-badge-close:active {
135		transform: scale(0.92);
136	}
137
138	#lovable-badge-close:focus {
139		outline: none;
140	}
141
142	#lovable-badge-close:focus-visible {
143		outline: var(--focus-width) solid var(--focus-color);
144		outline-offset: calc(var(--focus-offset) * -1);
145		z-index: 1;
146	}
147
148	#lovable-badge-close svg path {
149		fill: var(--badge-text);
150		transition: fill var(--badge-transition-duration) ease;
151	}
152
153	#lovable-badge-close:hover svg path {
154		fill: var(--badge-text-hover);
155	}
156
157	@media (prefers-reduced-motion: reduce) {
158		#lovable-badge,
159		#lovable-badge-cta,
160		#lovable-badge-close,
161		#lovable-badge-close svg path {
162			transition: none;
163		}
164		
165		#lovable-badge-cta:active,
166		#lovable-badge-close:active {
167			transform: none;
168		}
169	}
170
171	@media (prefers-contrast: high) {
172		#lovable-badge {
173			--badge-bg: #000;
174			--badge-text: #fff;
175			--badge-text-hover: #fff;
176			border: 2px solid currentColor;
177		}
178		
179		#lovable-badge-cta:focus-visible,
180		#lovable-badge-close:focus-visible {
181			outline-width: 3px;
182		}
183	}
184</style>
185<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
185</head><body><div class="flex min-h-screen flex-col"><header class="sticky top-0 z-50 border-b border-border/60 bg-background/80 backdrop-blur-xl"><div class="mx-auto flex max-w-6xl items-center justify-between px-6 py-4"><a class="flex items-center gap-3 font-display text-lg font-bold tracking-tight active" href="/" data-status="active" aria-current="page"><img src="/assets/nl-logo-C8hQLzZX.png" alt="Noah Labhart logo" width="32" height="32" class="h-8 w-8 rounded-md"/>Noah<span class="text-primary"> </span>Labhart</a><nav class="hidden items-center gap-7 md:flex"><a class="text-sm text-muted-foreground transition-colors hover:text-foreground text-foreground" href="/" data-status="active" aria-current="page">Home</a><a href="/about" class="text-sm text-muted-foreground transition-colors hover:text-foreground">About</a><a href="/work" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Work</a><a href="/podcast" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Podcast</a><a href="/media" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Media</a><a href="/testimonials" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Praise</a><a href="/contact" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Contact</a><div class="relative"><a aria-haspopup="true" aria-expanded="false" href="/guides" class="flex items-center gap-1 text-sm text-muted-foreground transition-colors hover:text-foreground">Guides<span aria-hidden="true" class="text-[0.6rem]">▼</span></a></div></nav><button type="button" aria-label="Toggle navigation" class="rounded-md border border-border px-3 py-1.5 text-sm md:hidden">Menu</button></div></header><main class="flex-1"><!--$--><section class="relative overflow-hidden border-b border-border/60"><img src="/assets/hero-texture-Dbh4xqUR.jpg" alt="" aria-hidden="true" fetchPriority="high" decoding="async" width="1920" height="1080" class="absolute inset-0 h-full w-full object-cover opacity-70"/><div class="absolute inset-0 bg-gradient-to-tr from-background via-background/85 to-background/40"></div><div class="relative mx-auto grid max-w-6xl items-center gap-12 px-6 py-28 sm:py-36 lg:grid-cols-[1.3fr_1fr]"><div><p class="eyebrow">Dallas–Fort Worth, Texas</p><h1 class="mt-5 max-w-3xl text-5xl font-bold leading-[1.05] sm:text-7xl">Noah Labhart<!-- --> — Startup Founder &amp; CTO</h1><p class="mt-6 max-w-xl text-lg text-muted-foreground sm:text-xl italic">&quot;For the Spirit God gave us does not make us timid, but gives us power, love and self-discipline.&quot; — 2 Timothy 1:7</p><p class="mt-3 max-w-xl text-lg text-muted-foreground sm:text-xl">Software Architect, Podcast Host, Husband, Father, Outdoorsmen. Jesus Follower.</p><div class="mt-10 flex flex-wrap gap-3"><a href="/about" class="rounded-full bg-primary px-6 py-3 text-sm font-medium text-primary-foreground transition-opacity hover:opacity-90">Read full bio</a><a href="https://codestory.co" target="_blank" rel="noreferrer" class="rounded-full border border-border px-6 py-3 text-sm font-medium transition-colors hover:border-primary hover:text-primary">Listen to Code Story</a></div><div class="mt-16 flex flex-wrap gap-x-8 gap-y-3 text-sm text-muted-foreground"><span class="font-display uppercase tracking-widest">Startup Founder</span><span class="font-display uppercase tracking-widest">CTO</span><span class="font-display uppercase tracking-widest">Podcast Host</span><span class="font-display uppercase tracking-widest">Software Architect</span></div></div><img src="/__l5e/assets-v1/4338f152-9d0f-4631-9b0c-5c69911cdb9e/noah-portrait-sq.jpg" alt="Portrait of Noah Labhart" width="1920" height="1800" class="mx-auto w-64 rounded-2xl border border-border object-cover shadow-[var(--shadow-ember)] lg:w-full lg:max-w-sm"/></div></section><section class="mx-auto w-full max-w-6xl px-6 py-20 "><p class="eyebrow">About me</p><h2 class="mt-3 text-3xl font-bold sm:text-4xl">Building things that impact people&#x27;s lives</h2><div class="mt-10"><div class="grid gap-8 md:grid-cols-2"><p class="text-lg leading-relaxed text-muted-foreground">I&#x27;m passionate about solution architecture. I&#x27;ve held several leadership roles, and gained valuable insights in how to deliver world class software. The sweet spot for me is creating solutions that impact peoples lives, and doing so by applying elegant dev practices, methodologies and building world class teams.</p><p class="text-lg leading-relaxed text-muted-foreground">When I&#x27;m not being a geek or reading old calculus books, I can be found chasing after my beautiful bride, being chased by my kids, enjoying a good cup o&#x27; joe, playing my guitar(s) or being outdoors.</p></div></div></section><section class="mx-auto w-full max-w-6xl px-6 py-20 "><p class="eyebrow">Current work</p><h2 class="mt-3 text-3xl font-bold sm:text-4xl">Where I spend my days</h2><div class="mt-10"><div class="grid gap-6 md:grid-cols-2"><article class="rounded-2xl border border-border bg-card p-8 shadow-[var(--shadow-ember)]"><img alt="Veryable logo" loading="lazy" decoding="async" fetchPriority="low" class="mb-5 h-14 w-14 roun
185ded-xl border border-border object-cover" width="56" height="56"/><noscript><img src="/assets/veryable-J1GUDeR5.png" alt="Veryable logo" loading="lazy" decoding="async" class="mb-5 h-14 w-14 rounded-xl border border-border object-cover"/></noscript><p class="eyebrow">2016 — Present</p><h3 class="mt-3 text-2xl font-bold">Veryable</h3><p class="mt-1 text-sm text-primary">Co-Founder, CTO</p><p class="mt-4 text-sm leading-relaxed text-muted-foreground">Veryable is a marketplace of on-demand labor for manufacturing and warehouse work, which provides businesses with higher productivity and fewer administrative burdens and workers with flexible work arrangements — the ability to choose where to work, how much, and when.</p></article><article class="rounded-2xl border border-border bg-card p-8 shadow-[var(--shadow-ember)]"><img alt="Code Story logo" loading="lazy" decoding="async" fetchPriority="low" class="mb-5 h-14 w-14 rounded-xl border border-border object-cover" width="56" height="56"/><noscript><img src="/assets/codestory-UJu6DrtP.jpg" alt="Code Story logo" loading="lazy" decoding="async" class="mb-5 h-14 w-14 rounded-xl border border-border object-cover"/></noscript><p class="eyebrow">2019 — Present</p><h3 class="mt-3 text-2xl font-bold">Code Story</h3><p class="mt-1 text-sm text-primary">Podcast Host &amp; Producer</p><p class="mt-4 text-sm leading-relaxed text-muted-foreground">Code Story is a periodic window into the startup world. In their own words, veterans share what it feels like to disrupt an industry, how to recover from critical mistakes, and what it takes to build — and lead — a team that has your back.</p></article></div><div class="mt-8"><a href="/work" class="text-sm text-primary hover:underline">See the full resume →</a></div></div></section><section class="mx-auto w-full max-w-6xl px-6 py-20 "><p class="eyebrow">Media</p><h2 class="mt-3 text-3xl font-bold sm:text-4xl">Recent appearances</h2><div class="mt-10"><ul class="divide-y divide-border border-y border-border"><li><a href="https://noahlabhart.com/podcast/interview-on-podcast-junkies/" target="_blank" rel="noreferrer" class="flex flex-wrap items-center justify-between gap-3 py-5 transition-colors hover:text-primary"><span class="flex items-center gap-4"><img alt="" loading="lazy" decoding="async" fetchPriority="low" class="h-12 w-12 rounded-lg bg-background object-cover" aria-hidden="true" width="48" height="48"/><noscript><img src="/assets/m-podcast-junkies-CdLifRGo.jpg" alt="" loading="lazy" decoding="async" class="h-12 w-12 rounded-lg bg-background object-cover"/></noscript><span class="font-display text-lg">Interview on Podcast Junkies</span></span><span class="text-xs uppercase tracking-widest text-muted-foreground">Podcast<!-- --> · <!-- -->May 2020</span></a></li><li><a href="https://noahlabhart.com/podcast/manufacturing-happy-hour/" target="_blank" rel="noreferrer" class="flex flex-wrap items-center justify-between gap-3 py-5 transition-colors hover:text-primary"><span class="flex items-center gap-4"><img alt="" loading="lazy" decoding="async" fetchPriority="low" class="h-12 w-12 rounded-lg bg-background object-cover" aria-hidden="true" width="48" height="48"/><noscript><img src="/assets/m-manufacturing-DX4JogpJ.jpg" alt="" loading="lazy" decoding="async" class="h-12 w-12 rounded-lg bg-background object-cover"/></noscript><span class="font-display text-lg">Manufacturing Happy Hour w/ Chris Luecke</span></span><span class="text-xs uppercase tracking-widest text-muted-foreground">Podcast<!-- --> · <!-- -->Feb 2020</span></a></li><li><a href="https://noahlabhart.com/uncategorized/software-sessions-w-jeremy-jung/" target="_blank" rel="noreferrer" class="flex flex-wrap items-center justify-between gap-3 py-5 transition-colors hover:text-primary"><span class="flex items-center gap-4"><img alt="" loading="lazy" decoding="async" fetchPriority="low" class="h-12 w-12 rounded-lg bg-background object-cover" aria-hidden="true" width="48" height="48"/><noscript><img src="/assets/m-software-sessions-BycjHV1q.jpg" alt="" loading="lazy" decoding="async" class="h-12 w-12 rounded-lg bg-background object-cover"/>
185</noscript><span class="font-display text-lg">Software Sessions w/ Jeremy Jung</span></span><span class="text-xs uppercase tracking-widest text-muted-foreground">Podcast<!-- --> · <!-- -->Feb 2020</span></a></li><li><a href="https://noahlabhart.com/podcast/between-2-mics-with-zach-rock/" target="_blank" rel="noreferrer" class="flex flex-wrap items-center justify-between gap-3 py-5 transition-colors hover:text-primary"><span class="flex items-center gap-4"><img alt="" loading="lazy" decoding="async" fetchPriority="low" class="h-12 w-12 rounded-lg bg-background object-cover" aria-hidden="true" width="48" height="48"/><noscript><img src="/assets/m-between2mics-B0KgpXwH.jpg" alt="" loading="lazy" decoding="async" class="h-12 w-12 rounded-lg bg-background object-cover"/></noscript><span class="font-display text-lg">Between 2 Mics — with Zach &amp; Rock</span></span><span class="text-xs uppercase tracking-widest text-muted-foreground">Podcast<!-- --> · <!-- -->Feb 2020</span></a></li><li><a href="https://noahlabhart.com/podcast/product-journey-podcast-interview/" target="_blank" rel="noreferrer" class="flex flex-wrap items-center justify-between gap-3 py-5 transition-colors hover:text-primary"><span class="flex items-center gap-4"><img alt="" loading="lazy" decoding="async" fetchPriority="low" class="h-12 w-12 rounded-lg bg-background object-cover" aria-hidden="true" width="48" height="48"/><noscript><img src="/assets/m-plaid-4KDXhrFU.png" alt="" loading="lazy" decoding="async" class="h-12 w-12 rounded-lg bg-background object-cover"/></noscript><span class="font-display text-lg">Product Journey — Podcast Interview</span></span><span class="text-xs uppercase tracking-widest text-muted-foreground">Podcast<!-- --> · <!-- -->Jan 2020</span></a></li></ul><div class="mt-8"><a href="/media" class="text-sm text-primary hover:underline">All interviews &amp; talks →</a></div></div></section><section class="mx-auto w-full max-w-6xl px-6 py-20 "><p class="eyebrow">What people say</p><div class="mt-10"><div class="grid gap-6 md:grid-cols-3"><blockquote class="rounded-2xl bg-surface p-7"><p class="text-sm leading-relaxed text-muted-foreground">&quot;<!-- -->Noah brings a great deal of experience that was extremely valuable when we evaluated our mobile app for Musicbed. As we rebuilt from the ground up, his input was invaluable. He is detailed, specific, and always has insight for how we can use the best technologies, lightest weight solutions, and most well-supported frameworks.<!-- -->&quot;</p><footer class="mt-5 flex items-center gap-3 font-display text-sm text-foreground"><img alt="Tanner Hearne" loading="lazy" decoding="async" fetchPriority="low" class="h-9 w-9 rounded-full object-cover" width="36" height="36"/><noscript><img src="/assets/t-Tanner_Hearne-CiT-xYmL.jpg" alt="Tanner Hearne" loading="lazy" decoding="async" class="h-9 w-9 rounded-full object-cover"/></noscript>Tanner Hearne</footer></blockquote><blockquote class="rounded-2xl bg-surface p-7"><p class="text-sm leading-relaxed text-muted-foreground">&quot;<!-- -->Noah and his team have been a great partner to me on a number of mobile projects for clients. So easy to work with, and attention to excellence. I highly recommend Noah for any mobile project you may have.<!-- -->&quot;</p><footer class="mt-5 flex items-center gap-3 font-display text-sm text-foreground"><img alt="Travis Gates" loading="lazy" decoding="async" fetchPriority="low" class="h-9 w-9 rounded-full object-cover" width="36" height="36"/><noscript><img src="/assets/t-Travis_Gates-JlxyzsSW.jpg" alt="Travis Gates" loading="lazy" decoding="async" class="h-9 w-9 rounded-full object-cover"/></noscript>Travis Gates</footer></blockquote><blockquote class="rounded-2xl bg-surface p-7"><p class="text-sm leading-relaxed text-muted-foreground">&quot;<!-- -->Noah is a great developer and a delightful person. I was consistently impressed with his ability to develop and refine new features within our app on time and within budget. We were unable to present him with a challenge that he wasn&#x27;t able to overcome.<!-- -->&quot;</p><footer class="mt-5 flex items-center gap-3 font-display text-sm text-foreground"><img alt="Chris Winn" loading="lazy" decoding="async" fetchPriority="low" class="h-9 w-9 rounded-full object-cover" width="36" height="36"/><noscript><img src="/assets/t-Chris_Winn-BLhEKmIr.jpg" alt="Chris Winn" loading="lazy" decoding="async" class="h-9 w-9 rounded-full object-cover"/>
185</noscript>Chris Winn</footer></blockquote></div><div class="mt-8"><a href="/testimonials" class="text-sm text-primary hover:underline">More praise →</a></div></div></section>
185<script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script>
185<!--/$--></main><footer class="border-t border-border/60 bg-surface"><div class="mx-auto flex max-w-6xl flex-col gap-4 px-6 py-10 text-sm text-muted-foreground md:flex-row md:items-center md:justify-between"><p class="max-w-md italic">&quot;For the Spirit God gave us does not make us timid, but gives us power, love and self-discipline.&quot; — 2 Timothy 1:7</p><div class="flex flex-wrap gap-5"><a class="transition-colors hover:text-primary" href="https://codestory.co/" target="_blank" rel="noreferrer">Code Story</a><a class="transition-colors hover:text-primary" href="https://indiehackers.com/nlabhart/" target="_blank" rel="noreferrer">Indie Hackers</a><a class="transition-colors hover:text-primary" href="https://www.linkedin.com/in/noahlabhart" target="_blank" rel="noreferrer">LinkedIn</a></div></div></footer></div>
185<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-CIhN9yUf.js","/assets/jsx-runtime-DGeXAQPT.js","/assets/link-DfXvwZHU.js","/assets/react-vt4WmSOl.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-CIhN9yUf.js"}}]},"/":$R[8]={preloads:$R[9]=["/assets/routes-gsXDvKL_.js","/assets/LazyImage-BTCDXO_6.js","/assets/Section-uqbsMFz3.js"]}}},matches:$R[10]=[$R[11]={i:"__root__�",u:1791091441302,s:"success",ssr:!0},$R[12]={i:"��",u:1791091441302,s:"success",ssr:!0}],lastMatchId:"��"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
185<script type="module" async="" src="/assets/index-CIhN9yUf.js"></script>
185
186<aside
187	id="lovable-badge"
188	role="complementary"
189	dir="ltr"
190	lang="en"
191	aria-label="Edit with Lovable">
192	<a
193		id="lovable-badge-cta" 
194		target="_blank" 
195		href="https://lovable.dev/projects/lovp_3q2dkymkjw86grq6mya4n7rqg8?utm_source=lovable-badge"
196		rel="noopener nofollow"
197		aria-label="Edit with Lovable">
198		<span id="lovable-badge-text">Edit with</span>
199		<span id="lovable-badge-logo"><svg xmlns="http://www.w3.org/2000/svg" width="52" height="16" fill="none" viewBox="0 0 52 16">
200  <path fill="#FCFBF8" fill-rule="evenodd" d="M20.318 5.25c.643 0 1.206.14 1.69.418a2.81 2.81 0 0 1 1.118 1.191c.266.513.4 1.115.4 1.807s-.134 1.296-.4 1.812a2.81 2.81 0 0 1-1.118 1.193c-.484.278-1.047.418-1.69.418s-1.208-.14-1.695-.418a2.85 2.85 0 0 1-1.125-1.193c-.262-.516-.393-1.12-.393-1.812s.131-1.294.393-1.807a2.848 2.848 0 0 1 1.125-1.191c.487-.279 1.052-.418 1.695-.418Zm0 1.425c-.27 0-.504.076-.7.228-.193.147-.34.37-.443.67-.102.295-.153.66-.153 1.093 0 .435.05.801.153 1.1.102.3.25.524.443.676.196.147.43.22.7.22.27 0 .502-.073.694-.22.193-.152.341-.375.443-.67.103-.299.153-.667.153-1.106 0-.65-.112-1.145-.337-1.481a1.08 1.08 0 0 0-.953-.51ZM32.7 5.25c.61 0 1.127.1 1.549.3.422.197.74.48.953.849.217.368.325.809.325 1.32v2.704c0 .29.02.562.062.812.044.245.108.4.19.466V12h-1.935a5.895 5.895 0 0 1-.105-.684 7.745 7.745 0 0 1-.02-.228 2.293 2.293 0 0 1-.151.203c-.205.242-.47.437-.793.584-.32.143-.685.215-1.094.215-.406 0-.77-.08-1.094-.24a1.845 1.845 0 0 1-.756-.682 1.984 1.984 0 0 1-.27-1.045c0-.606.178-1.069.535-1.388.356-.324.87-.534 1.542-.633l1.125-.16c.225-.032.403-.074.534-.123a.622.622 0 0 0 .288-.196.549.549 0 0 0 .093-.327.65.65 0 0 0-.11-.367.702.702 0 0 0-.32-.27c-.14-.07-.31-.105-.51-.105-.32 0-.576.083-.768.251-.193.164-.298.39-.314.676h-1.923c.016-.434.147-.82.393-1.155.25-.34.596-.604 1.039-.792.442-.189.954-.283 1.535-.283Zm.99 3.498a.98.98 0 0 1-.215.14 2.49 2.49 0 0 1-.584.178l-.473.092c-.315.061-.553.156-.713.283-.155.127-.233.305-.233.534 0 .23.084.412.252.547.168.135.383.203.645.203s.494-.058.694-.173c.201-.118.355-.282.461-.49.11-.21.166-.448.166-.714v-.6Zm4.526-2.375c.065-.125.138-.243.221-.349.197-.25.437-.44.719-.571.282-.135.6-.203.952-.203.528 0 .988.138 1.377.412.389.275.688.67.896 1.186.21.512.314 1.12.314 1.824 0 .7-.107 1.309-.32 1.825-.213.512-.518.906-.915 1.18-.393.275-.854.412-1.383.412-.352 0-.667-.062-.946-.184a1.832 1.832 0 0 1-.7-.554 2.2 2.2 0 0 1-.234-.383V12h-1.843V3h1.862v3.373Zm1.284.296c-.274 0-.51.085-.707.253-.192.163-.338.397-.436.7a3.376 3.376 0 0 0-.148 1.05c0 .406.05.759.148 1.058.098.299.243.53.436.694.197.164.433.246.707.246.279 0 .512-.082.7-.246.193-.164.336-.395.43-.694.099-.3.148-.652.148-1.058 0-.405-.05-.757-.147-1.056-.095-.299-.238-.53-.43-.694a1.015 1.015 0 0 0-.7-.253Zm9.416-1.419c.602 0 1.136.131 1.604.393.466.262.829.643 1.086 1.143.263.5.394 1.097.394 1.794 0 .25-.002.449-.006.596H47.51c.018.288.071.538.164.75a1.3 1.3 0 0 0 .491.596c.214.13.465.196.757.196.319 0 .583-.082.792-.246.209-.167.34-.403.393-.706h1.862a2.48 2.48 0 0 1-.485 1.235 2.54 2.54 0 0 1-1.051.805c-.439.188-.949.283-1.53.283-.655 0-1.225-.125-1.708-.375a2.672 2.672 0 0 1-1.13-1.143c-.267-.508-.4-1.137-.4-1.887 0-.712.14-1.327.418-1.843a2.86 2.86 0 0 1 1.155-1.186c.491-.27 1.051-.405 1.678-.405Zm-.044 1.345c-.274 0-.516.068-.725.203a1.29 1.29 0 0 0-.479.59 2.045 2.045 0 0 0-.132.498h2.562a1.873 1.873 0 0 0-.138-.602 1.061 1.061 0 0 0-.418-.516 1.243 1.243 0 0 0-.67-.173Z" clip-rule="evenodd"/>
201  <path fill="#FCFBF8" d="m26.605 9.995 1.342-4.566h1.924L27.628 12h-2.07l-2.33-6.57h1.98l1.397 4.565Zm-13.013.143h2.256c1.632 0 1.421 1.837 1.418 1.861h-5.603V3h1.93v7.138Zm31.516 1.861h-1.862V3h1.862v8.999Z"/>
202  <path fill="url(#a)" fill-rule="evenodd" d="M2.7 3c1.492 0 2.7 1.192 2.7 2.663v1.012h.9c1.49 0 2.7 1.192 2.7 2.662S7.791 12 6.3 12H0V5.663C0 4.193 1.209 3 2.7 3Z" clip-rule="evenodd"/>
203  <defs>
204    <radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="matrix(-1.54236 7.07838 -10.231 -2.15602 4.627 5.022)" gradientUnits="userSpaceOnUse">
205      <stop offset=".106" stop-color="#FE7B02"/>
206      <stop offset=".394" stop-color="#FE3F21"/>
207      <stop offset=".608" stop-color="#F858BC"/>
208      <stop offset=".929" stop-color="#575ECF"/>
209    </radialGradient>
210  </defs>
211</svg>
212
213</span>
214	</a>
215	
216	<span id="lovable-badge-divider" aria-hidden="true"></span>
217	
218	<button 
219		id="lovable-badge-close"
220		aria-label="Dismiss"
221		title="Dismiss"
222		type="button">
223		<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" aria-hidden="true">
224			<path d="M10.646 4.646a.5.5 0 1 1 .707.708L8.707 8l2.646 2.646a.5.5 0 1 1-.707.707L8 8.707l-2.646 2.646a.5.5 0 1 1-.708-.707L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708L8 7.293l2.646-2.647Z"/>
225		</svg>
226	</button>
227</aside>
228<script>
229	(() => {
230		if (window.self !== window.top || navigator.userAgent.includes('puppeteer')) {
231			const badge = document.querySelector('#lovable-badge');
232			if (badge) {
233				badge.style.display = 'none';
234			}
235			return;
236		}
237
238		const closeButton = document.querySelector('#lovable-badge-close');
239		if (closeButton) {
240			closeButton.addEventListener('click', function(event) {
241				event.preventDefault();
242				event.stopPropagation();
243				const badge = document.querySelector('#lovable-badge');
244				if (badge) {
245					badge.classList.add('closing');
246					setTimeout(function() {
247						if (badge) {
248							badge.style.display = 'none';
249						}
250					}, 240);
251				}
252			});
253		}
254	})();
255</script>
255
256</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.