1<!DOCTYPE html><!--5JSAN4Z35JCuTAL_Oe0ui--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/03bda585a99c6450-s.p.ad37b9d9.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/5c285b27cdda1fe8-s.p.a62025f2.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=640&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 640w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=750&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 750w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=828&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 828w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=1080&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1080w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=1200&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1200w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=1920&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1920w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=2048&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2048w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=3840&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 3840w" imageSizes="100vw"/><link rel="stylesheet" href="/_next/static/chunks/581a7fa04ff5cc95.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/fef57aef382e795f.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/e8e73d744880f147.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/45e38a7f2e90b090.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/>
1<script src="/_next/static/chunks/c53daf6773307d24.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/ac95975c4ea35c09.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/ce1005ea75312329.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/95f319ed42c1f21a.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/turbopack-2ee6edada4697eda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<script src="/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" async=""></script>
1<link rel="preload" href="/views/js/script.exclusions.outbound-links.js" as="script"/><meta name="next-size-adjust" content=""/><title>Why I Built ElkDesk - ElkDesk Blog</title><meta name="description" content="The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers."/><link rel="manifest" href="/manifest.webmanifest"/><meta name="apple-itunes-app" content="app-id=6761682586"/><link rel="canonical" href="https://elkdesk.com/blog/2026-01-why-i-built-elkdesk"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="ElkDesk"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="Why I Built ElkDesk"/><meta property="og:description" content="The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers."/><meta property="og:image" content="https://elkdesk.com/blog/images/why-i-built-elkdesk/hero.jpg"/><meta property="og:type" content="article"/><meta property="article:published_time" content="2026-01-15"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Why I Built ElkDesk"/><meta name="twitter:description" content="The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers."/><meta name="twitter:image" content="https://elkdesk.com/blog/images/why-i-built-elkdesk/hero.jpg"/><link rel="icon" href="/favicon.ico?favicon.dfec2fa7.ico" sizes="32x32" type="image/x-icon"/><link rel="icon" href="/icon.png?icon.8ffe4494.png" sizes="48x48" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.f3df84f4.png" sizes="180x180" type="image/png"/>
1<script>(({protect:a})=>{function b(a){return new Promise((b,c)=>{if(document.querySelector(`script[src="${a}"]`))return void b();let d=document.createElement("script");d.src=a,d.async=!0,d.onload=()=>b(),d.onerror=a=>{console.error("Error loading script",a),c(a)},document.head.appendChild(d)})}var c=class a{#a;#b;#c=0;constructor(){let{promise:b,resolve:c}=a.#d();this.#a=b,this.#b=c,this.#e(),window.addEventListener("online",this.#f),window.addEventListener("visibilitychange",this.#f)}getChallenge=async()=>(await this.#g(),await this.#a.then(a=>"function"==typeof a?a():a));#f=()=>{if(document.hidden)return;let{promise:b,resolve:c}=a.#d();this.#a=b,this.#b=c,window.V_C=[],window.V_C.push=c;let d=document.querySelector('script[src*="c.js"]');d&&d.remove(),this.#c+=1};#e=()=>{if(window.V_C){let a=window.V_C.pop();a&&this.#b(a)}else window.V_C=[],window.V_C.push=this.#b};#g=()=>{let a=new URL("/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/a-4-a/c.js",window.location.origin);return a.searchParams.set("i",String(this.#c)),a.searchParams.set("v",String(3)),a.searchParams.set("h",window.location.host),b(a.pathname+a.search)};#h=()=>{window.V_C=void 0};static #d(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}},d=class a{#a=!1;#b;constructor(a){this.#b=a}get loaded(){return this.#a}load=async()=>{this.#a||await this.#f()};#c=()=>{if(typeof globalThis.window>"u")throw Error("KPSDK is not available in the server");if(!window.KPSDK)throw Error("KPSDK is not loaded");let b=this.#b.map(b=>{let c=a.#e(b.path);return{domain:c.host,path:c.pathname,method:b.method}});try{window.KPSDK.configure(b)}catch(a){console.error("Error configuring KPSDK...",a)}};#f=async()=>{let a=this;return new Promise((c,d)=>{let e=()=>{document.removeEventListener("kpsdk-load",e),this.#c()},f=()=>{document.removeEventListener("kpsdk-ready",f),a.#a=!0,c()};document.addEventListener("kpsdk-load",e,{once:!0}),document.addEventListener("kpsdk-ready",f,{once:!0}),b("/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/p.js").catch(a=>{document.removeEventListener("kpsdk-load",e),document.removeEventListener("kpsdk-ready",f),d(a)})})};static #e(a){let b;try{b=new URL(a)}catch{b=new URL(a,location.origin)}return b}},e=a=>{let b=a.replace(/[.?+^$[\]\\(){}|-]/g,"\\$&").split("*").join(".*");return RegExp(`^${b}$`)},f=({path:a,pattern:b})=>-1!==a.search(b);async function g(a,b,c){let d=XMLHttpRequest.prototype.open,g=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(a,b,c,e,f){return this._requestUrl=b.toString(),this._requestMethod=a,d.call(this,a,b,c??!0,e,f)},XMLHttpRequest.prototype.send=async function(d){let h=this._requestUrl;if(!h||this._isReexecution)return g.call(this,d);let i=new URL(h,location.href),j=this._requestMethod??"GET",k=c.find(a=>{let b=f({path:i.pathname,pattern:e(a.path)}),c=a.method===j||"*"===a.method;return b&&c});if(!k)return g.call(this,d);let l=await a.getChallenge();if(this.setRequestHeader("x-is-human",JSON.stringify(l)),this.setRequestHeader("x-path",i.pathname),this.setRequestHeader("x-method",j),0!==l.b||b.loaded||((1===l.d||k?.advancedOptions?.checkLevel==="deepAnalysis")&&await b.load(),!b.loaded))return g.call(this,d);this.setRequestHeader("x-is-human",JSON.stringify(l)),this.setRequestHeader("x-path",i.pathname),this.setRequestHeader("x-method",j);let m=new XMLHttpRequest;return m._isReexecution=!0,m.open(j,h,!0),m.setRequestHeader("x-is-human",JSON.stringify(l)),m.setRequestHeader("x-path",i.pathname),m.setRequestHeader("x-method",j),this.timeout&&(m.timeout=this.timeout),this.responseType&&(m.responseType=this.responseType),this.withCredentials&&(m.withCredentials=this.withCredentials),m.onreadystatechange=()=>{Object.defineProperty(this,"readyState",{value:m.readyState,writable:!0,configurable:!0}),m.readyState===XMLHttpRequest.DONE&&(Object.defineProperty(this,"status",{value:m.status,writable:!0,configurable:!0}),Object.defineProperty(this,"statusText",{value:m.statusText,writable:!0,configurable:!0}),Object.defineProperty(this,"response",{value:m.response,writable:!0,configurable:!0}),Object.defineProperty(this,"responseText",{value:m.responseText,writable:!0,configurable:!0}),Object.defineProperty(this,"responseXML",{value:m.responseXML,writable:!0,configurable:!0}),this.getAllResponseHeaders=()=>m.getAllResponseHeaders(),this.getResponseHeader=a=>m.getResponseHeader(a)),this.onreadystatechange&&this.onreadystatechange.call(this,new Event("readystatechange"))},m.onload=a=>{this.onload&&this.onload.call(this,a)},m.onerror=a=>{this.onerror&&this.onerror.call(this,a)},m.onabort=a=>{this.onabort&&this.onabort.call(this,a)},m.ontimeout=a=>{this.ontimeout&&this.ontimeout.call(this,a)},m.onloadstart=a=>{this.onloadstart&&this.onloadstart.call(this,a)},m.onloadend=a=>{this.onloadend&&this.onloadend.call(this,a)},m.onprogress=a=>{this.onprogress&&this.onprogress.call(this,a)},m.send(d)}}!function({protect:a=[]}){let b;for(let b of a)if(b.advancedOptions?.checkLevel!==void 0&&"deepAnalysis"!==b.advancedOptions.checkLevel&&"basic"!==b.advancedOptions.checkLevel)throw Error(`Invalid checkLevel "${b.advancedOptions.checkLevel}" for route "${b.path}". Must be one of: deepAnalysis, basic`);let h=new c,i=new d(a);g(h,i,a).catch(a=>{console.error("Error patching XMLHttpRequest:",a)}),b=window.fetch,window.fetch=async(c,d)=>{let g=new URL(c instanceof Request?c.url:c,location.href),j=g.origin===location.origin,k=d?.method??(c instanceof Request?c.method:"GET"),l=a.find(a=>{let b=f({path:g.pathname,pattern:e(a.path)}),c=a.method.toLowerCase()===k.toLowerCase()||"*"===a.method;return b&&c});if(null==l||!j)return b(c,d);
1let m=await h.getChallenge(),n=new Headers(d?.headers||(c instanceof Request?c.headers:void 0));n.set("x-is-human",JSON.stringify(m)),n.set("x-path",g.pathname),n.set("x-method",k);let o={...d,headers:n};return i.loaded||0!==m.b?b(c,o):1===m.d||l?.advancedOptions?.checkLevel==="deepAnalysis"?(await i.load(),window.fetch(c,o)):b(c,o)}}({protect:a})})({ protect: [{"path":"/api/auth/email-otp/send-verification-otp","method":"POST"},{"path":"/api/auth/sign-up/email","method":"POST"},{"path":"/api/auth/sign-in/email","method":"POST"},{"path":"/api/auth/forget-password/*","method":"POST"},{"path":"/api/tools/generate","method":"POST"},{"path":"/api/auth/join","method":"POST"}] });</script>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" noModule=""></script>
1</head><body class="dm_sans_30bb056a-module__cBMZpq__variable fraunces_880d6f75-module__pmAiua__variable font-body antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen flex flex-col bg-forest-950"><nav class="relative z-10 w-full max-w-7xl mx-auto px-6 py-4"><div class="flex items-center justify-between"><a class="flex items-center gap-3" href="/"><img alt="ElkDesk" loading="lazy" width="40" height="40" decoding="async" data-nimg="1" class="w-10 h-10" style="color:transparent" srcSet="/_next/image?url=%2Flogo-light.png&w=48&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1x, /_next/image?url=%2Flogo-light.png&w=96&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2x" src="/_next/image?url=%2Flogo-light.png&w=96&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/><span class="font-display text-xl font-semibold text-white">ElkDesk</span></a><div class="hidden md:flex items-center gap-8"><a class="text-sm text-forest-300 hover:text-white transition-colors" href="/#how-it-works">How It Works</a><a class="text-sm text-forest-300 hover:text-white transition-colors" href="/#pricing">Pricing</a><a class="text-sm text-forest-300 hover:text-white transition-colors" href="/#faq">FAQ</a><a class="text-sm text-forest-300 hover:text-white transition-colors" href="/blog">Blog</a><a class="text-sm text-forest-300 hover:text-white transition-colors" href="/login">Sign In</a><a data-slot="button" data-variant="default" data-size="default" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive text-primary-foreground h-9 px-4 py-2 has-[>svg]:px-3 bg-forest-600 hover:bg-forest-700" href="/signup">Get Started</a></div><button data-slot="button" data-variant="ghost" data-size="default" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:text-accent-foreground dark:hover:bg-accent/50 h-9 px-4 py-2 has-[>svg]:px-3 md:hidden text-white hover:bg-forest-800"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></nav>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"Why I Built ElkDesk","description":"The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.","image":"https://elkdesk.com/blog/images/why-i-built-elkdesk/hero.jpg","datePublished":"2026-01-15","dateModified":"2026-01-16","author":{"@type":"Person","name":"Julian Peters"},"publisher":{"@type":"Organization","name":"ElkDesk","logo":{"@type":"ImageObject","url":"https://elkdesk.com/logo.png"}}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://elkdesk.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://elkdesk.com/blog"},{"@type":"ListItem","position":3,"name":"Build in Public","item":"https://elkdesk.com/blog/category/build-in-public"},{"@type":"ListItem","position":4,"name":"Why I Built ElkDesk","item":"https://elkdesk.com/blog/2026-01-why-i-built-elkdesk"}]}</script>
1<div class="fixed top-0 left-0 right-0 z-50 h-1 bg-forest-950/10"><div class="h-full bg-gradient-to-r from-amber-500 to-amber-600 transition-all duration-150 ease-out shadow-lg shadow-amber-500/50" style="width:0%"></div></div><div class="min-h-screen bg-white"><header class="relative mb-20 overflow-hidden"><div class="absolute inset-0 w-full h-full"><div class="relative w-full h-full"><img alt="Simple support desk illustration" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=640&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 640w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=750&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 750w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=828&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 828w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=1080&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1080w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=1200&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1200w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=1920&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1920w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=2048&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2048w, /_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=3840&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 3840w" src="/_next/image?url=%2Fblog%2Fimages%2Fwhy-i-built-elkdesk%2Fhero.jpg&w=3840&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/><div class="absolute inset-0 bg-gradient-to-b from-white via-white/95 to-white/90"></div><div class="absolute inset-0 bg-gradient-to-br from-transparent via-transparent to-stone-900/5"></div></div></div><div class="relative z-10"><div class="max-w-3xl mx-auto px-6 pt-6 pb-12 md:pt-12 md:pb-32"><div class="mb-6 md:mb-10"><nav aria-label="Breadcrumb"><ol class="flex items-center gap-2 text-sm"><li class="flex items-center gap-2"><a class="cursor-pointer text-stone-600 hover:text-forest-700 transition-colors font-medium" href="/">Home</a></li><li class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right w-4 h-4 text-stone-400" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><a class="cursor-pointer text-stone-600 hover:text-forest-700 transition-colors font-medium" href="/blog">Blog</a></li><li class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right w-4 h-4 text-stone-400" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><a class="cursor-pointer text-stone-600 hover:text-forest-700 transition-colors font-medium" href="/blog/category/build-in-public">Build in Public</a></li><li class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right w-4 h-4 text-stone-400" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="text-stone-500 font-medium">Why I Built ElkDesk</span></li></ol></nav></div><div class="w-16 h-1 bg-gradient-to-r from-amber-500 to-amber-400 mb-6 md:mb-8 rounded-full"></div><h1 class="font-display text-5xl md:text-6xl lg:text-7xl font-bold text-stone-900 mb-6 md:mb-8 leading-[1.1] tracking-tight max-w-3xl">Why I Built ElkDesk</h1><p class="text-xl md:text-2xl text-stone-600 leading-relaxed mb-8 md:mb-12 max-w-2xl font-light">The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.</p><div class="flex flex-wrap items-center gap-6"><div class="flex items-center gap-3"><img alt="Julian Peters" loading="lazy" width="52" height="52" decoding="async" data-nimg="1" class="rounded-full ring-2 ring-stone-100" style="color:transparent" srcSet="/_next/image?url=%2Fauthors%2Fjulian-
1peters.jpg&w=64&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1x, /_next/image?url=%2Fauthors%2Fjulian-peters.jpg&w=128&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2x" src="/_next/image?url=%2Fauthors%2Fjulian-peters.jpg&w=128&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/><div><div class="font-semibold text-stone-900 text-sm">Julian Peters</div><div class="text-xs text-stone-500">Founder</div></div></div><div class="hidden sm:block w-px h-12 bg-stone-200"></div><div class="flex items-center gap-5 text-sm text-stone-600"><time dateTime="2026-01-15" class="flex items-center gap-2"><svg class="w-4 h-4 text-stone-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2"></rect><path d="M16 2v4M8 2v4M3 10h18"></path></svg>January 15, 2026</time><span class="text-stone-300">â¢</span><div class="flex items-center gap-2"><svg class="w-4 h-4 text-stone-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 6v6l4 2"></path></svg><span>8<!-- --> min read</span></div></div></div></div></div><div class="absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-white to-transparent z-[5]"></div></header><div class="max-w-7xl mx-auto px-6"><div class="flex gap-16"><div class="flex-1 min-w-0 max-w-3xl"><article><div class="prose prose-lg prose-stone [&>p:first-of-type]:first-letter:text-6xl [&>p:first-of-type]:first-letter:font-display [&>p:first-of-type]:first-letter:font-bold [&>p:first-of-type]:first-letter:float-left [&>p:first-of-type]:first-letter:mr-3 [&>p:first-of-type]:first-letter:leading-[0.8] [&>p:first-of-type]:first-letter:text-forest-700"><p class="text-lg text-stone-600 leading-relaxed mb-6">Five products. Forty emails a day. Zero time to actually build.</p> 2<p class="text-lg text-stone-600 leading-relaxed mb-6">I was drowning in Gmail, hunting for buried support threads instead of shipping features. If you're an indie hacker facing the same choiceâstick with Gmail chaos or pay $100+/month for bloated enterprise softwareâthis is why I built something simpler.</p> 3<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="the-gmail-years">The Gmail Years</h2> 4<p class="text-lg text-stone-600 leading-relaxed mb-6">For years, I ran a blogging platform. Support emails came in, I replied through Gmail, everything worked. A few emails a day, manageable threads, happy customers.</p> 5<p class="text-lg text-stone-600 leading-relaxed mb-6">Then I launched a few new apps. They grew. Fast.</p> 6<p class="text-lg text-stone-600 leading-relaxed mb-6">Suddenly I was drowning. Support emails scattered across Gmail for five different products. Threads buried, follow-ups missed, customers waiting. The "priority inbox" decided a newsletter was more important than a bug report about payment failing.</p> 7<p class="text-lg text-stone-600 leading-relaxed mb-6">I calculated it once: 40 emails à 5 minutes each = 3+ hours daily just on support. That's 15 hours a week. An entire dev day, gone.</p> 8<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="the-band-aid-solutions">The Band-Aid Solutions</h2> 9<p class="text-lg text-stone-600 leading-relaxed mb-6">I built a help center. "This will reduce support volume," I thought.</p> 10<p class="text-lg text-stone-600 leading-relaxed mb-6">It didn't. Users still emailed the same five questions, even though the answers were <em class="italic text-stone-700">right there</em> in the docs. Nobody reads documentation before emailing.</p> 11<p class="text-lg text-stone-600 leading-relaxed mb-6">Then Gmail added AI reply suggestions. "Finally," I thought, "AI that helps."</p> 12<p class="text-lg text-stone-600 leading-relaxed mb-6">It was useless. Generic responses that had no idea what my products did. "
12Thank you for contacting us. We'll look into this." Great. Super helpful.</p> 13<p class="text-lg text-stone-600 leading-relaxed mb-6">I needed AI that actually <em class="italic text-stone-700">knew</em> my products. That learned from how <em class="italic text-stone-700">I</em> answered questions. That got smarter with every reply I sent.</p> 14<p class="text-lg text-stone-600 leading-relaxed mb-6">Gmail couldn't do that.</p> 15<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="the-zendesk-experience">The Zendesk Experience</h2> 16<p class="text-lg text-stone-600 leading-relaxed mb-6">"Okay," I thought, "time for a real solution."</p> 17<p class="text-lg text-stone-600 leading-relaxed mb-6">I signed up for Zendeskâthe "simple helpdesk alternative" everyone recommends. The pricing page said "$25/month." Reasonable.</p> 18<p class="text-lg text-stone-600 leading-relaxed mb-6">Two hours later, I was still in the admin panel configuring triggers and views. Hadn't even connected my email yet.</p> 19<p class="text-lg text-stone-600 leading-relaxed mb-6">The interface had fifteen sections: Triggers, Automations, Macros, Views, SLAs, Schedules, Skills-Based Routing. I just wanted to reply to emails, not build NASA mission control.</p> 20<h3 class="text-2xl font-display font-semibold text-stone-700 mt-8 mb-3 scroll-mt-24" id="features-i-didnt-need">Features I Didn't Need</h3> 21<ul class="mb-6 space-y-2 list-disc list-outside ml-6"> 22<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">SLA management</strong>: I'm one person. No contractual service agreements needed.</li> 23<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Workforce scheduling</strong>: There's no workforce. It's me.</li> 24<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Skills-based routing</strong>: I'm routing tickets to myself.</li> 25<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Customer satisfaction surveys with NPS tracking</strong>: Overkill for 20 emails/day.</li> 26<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Talk, Chat, Guide, Explore, Gather, Sell</strong>: What even are these?</li> 27</ul> 28<p class="text-lg text-stone-600 leading-relaxed mb-6">Then I realized: the $25 plan is just basic email ticketing. Want AI suggestions? That jumps to $69/month for features that should be included.</p> 29<p class="text-lg text-stone-600 leading-relaxed mb-6">And I had multiple projects. Managing up to 5 separate products? That's $149/seat. Most are just me, but one has a co-founder who handles support. Wanted to give him access? Double it. Now I'm at $298/month for two people.</p> 30<p class="text-lg text-stone-600 leading-relaxed mb-6">The complexity was the real killer though. After two hours of configuring triggers and views, I still hadn't replied to a single email. The tool designed for "customer support" needed its own support team to operate.</p> 31<p class="text-lg text-stone-600 leading-relaxed mb-6">Every tool I tried followed the same pattern: start simple, chase enterprise customers, get bloated, get expensive. Solo operators like me subsidize features I'll never use.</p> 32<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="the-screw-it-im-building-this-moment">The "Screw It, I'm Building This" Moment</h2> 33<p class="text-lg text-stone-600 leading-relaxed mb-6">I was comparing pricing pages for the fifth tool in two days. Each had massive feature comparison tables - 50 rows of checkmarks. I only cared about 8 of those rows.</p> 34<p class="text-lg text-stone-600 leading-relaxed mb-6">I sketched the simplest possible support tool on paper in 10 minutes:</p> 35<ul class="mb-6 space-y-2 list-disc list-outside ml-6"> 36<li class="text-lg text-stone-600 leading-relaxed pl-2">Ticket list on the left</li> 37<li class="text-lg text-stone-600 leading-relaxed pl-2">Conversation on the right</li> 38<li class="text-lg text-stone-600 leading-relaxed pl-2">Fast, clean, done</li> 39</ul> 40<p class="text-lg text-stone-600 leading-relaxed mb-6">That'
40s when I knew: the problem isn't that building a support tool is hard. The problem is years of accumulated enterprise feature requests.</p> 41<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="why-elkdesk">Why "ElkDesk"?</h2> 42<p class="text-lg text-stone-600 leading-relaxed mb-6">Honestly? The domain was available. And ElkDesk sounds like HelpDesk.</p> 43<p class="text-lg text-stone-600 leading-relaxed mb-6">But the more I built it, the more it fit.</p> 44<p class="text-lg text-stone-600 leading-relaxed mb-6">Elk aren't apex predators trying to dominate the forest. They're grounded. Strong enough to handle harsh winters, but not complicated about it. They're just... <em class="italic text-stone-700">there</em>. Doing their thing. Part of the natural landscape.</p> 45<p class="text-lg text-stone-600 leading-relaxed mb-6">That's what support software should be.</p> 46<p class="text-lg text-stone-600 leading-relaxed mb-6">Not some aggressive enterprise beast that takes over your entire workflow. Just capable, reliable, grounded. Handles the job without making it complicated.</p> 47<p class="text-lg text-stone-600 leading-relaxed mb-6">Elk don't overcomplicate survival. ElkDesk doesn't overcomplicate support.</p> 48<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="what-i-wanted-different">What I Wanted Different</h2> 49<ol class="mb-6 space-y-2 list-decimal list-outside ml-6"> 50<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Setup in 5 minutes</strong> - not 10 hours</li> 51<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Fast UI</strong> - loads instantly, not in 3-4 seconds</li> 52<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Honest pricing</strong> - seats included, no hidden per-user fees. One of my apps has a co-founder who handles support, but the rest I built solo. I needed him to access just his product's inbox without sharing my login or paying for an extra seat</li> 53<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">AI that learns your product</strong> - knowledge base that grows automatically as you reply</li> 54<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Clean multi-product support</strong> - separate inboxes, no routing rules</li> 55</ol> 56<h3 class="text-2xl font-display font-semibold text-stone-700 mt-8 mb-3 scroll-mt-24" id="the-knowledge-base-that-writes-itself">The Knowledge Base That Writes Itself</h3> 57<p class="text-lg text-stone-600 leading-relaxed mb-6">This became the feature I'm most proud of.</p> 58<p class="text-lg text-stone-600 leading-relaxed mb-6">When you send a reply in ElkDesk, the AI analyzes it. If it detects something new - a question you haven't answered before, a product detail worth saving - <em class="italic text-stone-700">then</em> it asks: "Should this go in the knowledge base?"</p> 59<p class="text-lg text-stone-600 leading-relaxed mb-6">One click, and it extracts the answer, categorizes it, and adds it to your product's knowledge. It doesn't ask every time. Just when it matters.</p> 60<p class="text-lg text-stone-600 leading-relaxed mb-6">Next time a customer asks the same question, the AI <em class="italic text-stone-700">already knows the answer</em>. It suggests a reply based on how <em class="italic text-stone-700">you</em> answered it before - in your voice, with your product details.</p> 61<p class="text-lg text-stone-600 leading-relaxed mb-6">The knowledge base is just a markdown file. Want to kickstart it? I use Claude Code to analyze my project and populate the initial knowledge. Then it grows automatically from real support conversations.</p> 62<p class="text-lg text-stone-600 leading-relaxed mb-6">After two weeks of using ElkDesk, I had 47 answers in my knowledge base. I wrote maybe 10 initially. The rest came from just doing support.</p> 63<p class="text-lg text-stone-600 leading-relaxed mb-6">That's the difference between AI that <em class="italic text-stone-700">helps</em> and AI that <em class="italic text-stone-700">knows</em>.</p> 64<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="the-core-philosophy">The Core Philosophy</h2> 65<p class="text-lg text-stone-600 leading-relaxed mb-6"><strong class="font-semibold text-stone-800">Support is a feature, not a department.</strong></p> 66<p class="text-lg text-stone-600 leading-relaxed mb-6">
66For indie hackers and small teams, support should take 30 minutes of your day - not become a full-time job managing a support <em class="italic text-stone-700">system</em>.</p> 67<h3 class="text-2xl font-display font-semibold text-stone-700 mt-8 mb-3 scroll-mt-24" id="features-i-intentionally-left-out">Features I Intentionally Left Out</h3> 68<ul class="mb-6 space-y-2 list-disc list-outside ml-6"> 69<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">SLAs</strong>: If you need contractual SLAs, you need a different tool</li> 70<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Complex ticket forms</strong>: An email is fine</li> 71<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Workforce management</strong>: No workforce to manage</li> 72<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Phone/chat integration</strong>: Email first (maybe chat later, if it stays simple)</li> 73<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Community forums</strong>: That's a different product</li> 74<li class="text-lg text-stone-600 leading-relaxed pl-2"><strong class="font-semibold text-stone-800">Detailed analytics dashboards</strong>: See patterns in your inbox, no charts needed</li> 75</ul> 76<p class="text-lg text-stone-600 leading-relaxed mb-6">The goal isn't to be "Zendesk for small teams." It's to be the <strong class="font-semibold text-stone-800">anti-Zendesk</strong>. Do five things well instead of fifty things adequately.</p> 77<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="elkdesk-is-live-right-now">ElkDesk Is Live Right Now</h2> 78<p class="text-lg text-stone-600 leading-relaxed mb-6">I'm not asking you to take this on faith. ElkDesk is handling support for my own products as you read this. Five apps, hundreds of emails a month, real customers with real problems.</p> 79<p class="text-lg text-stone-600 leading-relaxed mb-6">If it breaks, my customers wait. If the AI suggests bad replies, I'm wasting time instead of saving it. I'm using ElkDesk for my own revenueâreal customers, real stakes. That's the only accountability that matters.</p> 80<h2 class="text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24" id="the-promise">The Promise</h2> 81<p class="text-lg text-stone-600 leading-relaxed mb-6">I built this because I was frustrated. I'm keeping it simple because the moment it gets complicated, I'll be frustrated using my own product.</p> 82<p class="text-lg text-stone-600 leading-relaxed mb-6">Will ElkDesk work for a 500-person support team? No. And I'm fine with that.</p> 83<p class="text-lg text-stone-600 leading-relaxed mb-6">Trying to serve enterprise is exactly how every other tool became unusable for people like us.</p> 84<div class="my-12 space-y-6 border-t-2 border-forest-200 pt-8"><h2 class="text-2xl font-display font-semibold text-stone-800 mb-6 flex items-center gap-3"><svg class="w-6 h-6 text-amber-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>Frequently Asked Questions</h2><div class="space-y-6"><h3 class="text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2"><span class="text-amber-500 flex-shrink-0">Q:</span><span>Who is ElkDesk for?</span></h3><div class="mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm"><div class="text-stone-600 leading-relaxed"><p class="text-lg text-stone-600 leading-relaxed mb-6">Indie hackers, solo founders, and small teams (1-10 people) who need simple, fast email support without enterprise bloat. If you're spending more time managing your support tool than helping customers, ElkDesk is for you.</p></div></div><h3 class="text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2"><span class="text-amber-500 flex-shrink-0">Q:</span><span>Why not just use Gmail?</span></h3><div class="mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm"><div class="text-stone-600 leading-relaxed"><p class="text-lg text-stone-600 leading-relaxed mb-6">Gmail works until around 10+ emails/day across multiple products. Then threads get lost, follow-ups are missed, and context is scattered. ElkDesk gives you project separation, open/closed status, AI summaries, and priority detection - without the complexity of enterprise tools.</p></div></div><h3 class="text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2"><span class="text-amber-500 flex-shrink-0">Q:</span><span>What makes ElkDesk different from Zendesk or Help Scout?</span></h3><div class="mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm"><div class="text-stone-600 leading-relaxed"><p class="text-lg text-stone-600 leading-relaxed mb-6">ElkDesk is intentionally simple. No SLAs, no workforce management, no conditional routing. Just fast, AI-powered email support with honest pricing. Setup takes 5 minutes, not 10 hours. You pay for what you use, no seat minimums.</p></div></div><h3 class="text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2"><span class="text-amber-500 flex-shrink-0">Q:</span><span>Will you add [enterprise feature X]?</span></h3><div class="mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm"><div class="text-stone-600 leading-relaxed"><p class="text-lg text-stone-600 leading-relaxed mb-6">Probably not. Every feature request is evaluated against one question: "
84Does this help solo founders reply to customers faster, or does it add complexity?" If it's the latter, I say no. Staying focused is how I stay fast and simple.</p></div></div></div></div></div></article></div><aside class="hidden xl:block w-72 flex-shrink-0"></aside></div></div><div class="max-w-3xl mx-auto px-6 py-16"><div class="relative overflow-hidden bg-gradient-to-br from-forest-50/50 via-white to-amber-50/30 border-t-4 border-amber-500 rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.08),0_2px_8px_rgb(0,0,0,0.04)]"><div class="absolute -top-4 -left-2 text-[140px] leading-none font-serif text-amber-500/[0.08] select-none pointer-events-none">â</div><div class="relative p-10"><div class="text-xs font-semibold tracking-widest uppercase text-forest-600 mb-6 flex items-center gap-2"><div class="w-8 h-px bg-gradient-to-r from-amber-500 to-transparent"></div>About the Author</div><div class="flex flex-col md:flex-row gap-8 items-start"><div class="relative flex-shrink-0"><div class="absolute -inset-2 rounded-full bg-gradient-to-r from-amber-500/20 via-forest-500/20 to-amber-500/20 blur-xl"></div><div class="absolute -inset-1 rounded-full bg-gradient-to-br from-amber-400/30 to-forest-500/30 blur-md"></div><img alt="Julian Peters" loading="lazy" width="96" height="96" decoding="async" data-nimg="1" class="relative rounded-full ring-4 ring-white shadow-xl" style="color:transparent" srcSet="/_next/image?url=%2Fauthors%2Fjulian-peters.jpg&w=96&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1x, /_next/image?url=%2Fauthors%2Fjulian-peters.jpg&w=256&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2x" src="/_next/image?url=%2Fauthors%2Fjulian-peters.jpg&w=256&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/></div><div class="flex-1 space-y-4"><div><h3 class="font-display text-3xl font-bold text-stone-900 mb-2 leading-tight">Julian Peters</h3><div class="inline-block px-3 py-1 bg-forest-100 text-forest-700 text-sm font-medium rounded-full">Founder</div></div><p class="text-base text-stone-700 leading-relaxed max-w-2xl">Indie hacker running multiple profitable products. Building ElkDesk because I got tired of paying enterprise prices for support tools I barely use. Dogfooding it on my own products.</p><div class="flex gap-3 pt-2"><a target="_blank" rel="noopener noreferrer" class="group cursor-pointer relative inline-flex items-center justify-center w-11 h-11 bg-white border-2 border-stone-200 hover:border-amber-500 text-stone-700 rounded-full transition-all duration-300 hover:shadow-lg hover:scale-110 overflow-hidden" aria-label="Twitter" href="https://twitter.com/BuiltByJulian"><div class="absolute inset-0 bg-gradient-to-br from-amber-500 to-forest-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div><svg class="w-5 h-5 relative z-10 group-hover:text-white transition-colors duration-300" fill="currentColor" viewBox="0 0 24 24"><path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84"></path></svg></a><a target="_blank" rel="noopener noreferrer" class="group cursor-pointer relative inline-flex items-center justify-center w-11 h-11 bg-white border-2 border-stone-200 hover:border-amber-500 text-stone-700 rounded-full transition-all duration-300 hover:shadow-lg hover:scale-110 overflow-hidden" aria-label="GitHub" href="https://github.com/tiotdev"><div class="absolute inset-0 bg-gradient-to-br from-amber-500 to-forest-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div><svg class="w-5 h-5 relative z-10 group-hover:text-white transition-colors duration-300" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158
84-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></a></div></div><div class="md:self-start mt-4 md:mt-0"><button class="cursor-pointer inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-forest-600 hover:text-forest-700 border border-forest-300 hover:border-forest-400 rounded-lg transition-all hover:scale-105"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-share2 lucide-share-2 w-4 h-4" aria-hidden="true"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" x2="15.42" y1="13.51" y2="17.49"></line><line x1="15.41" x2="8.59" y1="6.51" y2="10.49"></line></svg><span>Share</span></button></div></div></div></div></div></div><!--$--><!--/$--><footer class="bg-forest-950 text-forest-300 py-16"><div class="max-w-7xl mx-auto px-6"><div class="grid grid-cols-2 md:grid-cols-5 gap-8 mb-12"><div class="col-span-2 md:col-span-1"><div class="flex items-center gap-3 mb-4"><img alt="ElkDesk" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" class="w-8 h-8" style="color:transparent" srcSet="/_next/image?url=%2Flogo-light.png&w=32&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1x, /_next/image?url=%2Flogo-light.png&w=64&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2x" src="/_next/image?url=%2Flogo-light.png&w=64&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/><span class="font-display text-lg font-semibold text-white">ElkDesk</span></div><p class="text-sm text-forest-400">AI-powered customer support for indie hackers and small teams.</p><div class="flex flex-col gap-2 mt-4"><a target="_blank" rel="noopener noreferrer" aria-label="Download on the App Store" href="https://apps.apple.com/us/app/helpdesk-ai-email-support-elk/id6761682586"><img alt="Download on the App Store" loading="lazy" width="120" height="40" decoding="async" data-nimg="1" class="h-10 w-auto" style="color:transparent" src="/img/app-store/white.svg?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/></a><a target="_blank" rel="noopener noreferrer" aria-label="Get it on Google Play" href="https://play.google.com/store/apps/details?id=com.elkdesk.helpdesk"><img alt="Get it on Google Play" loading="lazy" width="135" height="40" decoding="async" data-nimg="1" class="h-10 w-auto" style="color:transparent" srcSet="/_next/image?url=%2Fimg%2Fplay-store.png&w=256&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 1x, /_next/image?url=%2Fimg%2Fplay-store.png&w=384&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc 2x" src="/_next/image?url=%2Fimg%2Fplay-store.png&w=384&q=75&dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc"/></a></div></div><div><h3 class="font-semibold text-white mb-4">Product</h3><ul class="space-y-2 text-sm"><li><a class="hover:text-white transition-colors" href="/features">Features</a></li><li><a class="hover:text-white transition-colors" href="/features/ai-replies">AI Replies</a></li><li><a class="hover:text-white transition-colors" href="/tools">Free Tools</a></li><li><a class="hover:text-white transition-colors" href="/#pricing">Pricing</a></li></ul></div><div><h3 class="font-semibold text-white mb-4">Compare</h3><ul class="space-y-2 text-sm"><li><a class="hover:text-white transition-colors" href="/compare/zendesk">vs Zendesk</a></li><li><a class="hover:text-white transition-colors" href="/compare/help-scout">vs Help Scout</a></li><li><a class="hover:text-white transition-colors" href="/compare">All Comparisons</a></li></ul></div><div><h3 class="font-semibold text-white mb-4">Use Cases</h3><ul class="space-y-2 text-sm"><li><a class="hover:text-white transition-colors" href="/for/indie-hackers">For Indie Hackers</a></li><li><a class="hover:text-white transition-colors" href="/for/saas-founders">For SaaS Founders</a></li><li><a class="hover:text-white transition-colors" href="/for/small-business">For Small Business</a></li><li><a class="hover:text-white transition-colors" href="/use-cases">All Use Cases</a></li></ul></div><div><h3 class="font-semibold text-white mb-4">Company</h3><ul class="space-y-2 text-sm"><li><a class="hover:text-white transition-colors" href="/blog">Blog</a></li><li><a class="hover:text-white transition-colors" href="/terms">Terms</a></li><li><a class="hover:text-white transition-colors" href="/privacy">Privacy</a></li></ul></div></div><div class="pt-8 border-t border-forest-800 text-sm text-forest-500 text-center space-y-2"><p>© <!-- -->2026<!-- --> CurlyCorn LLC. All rights reserved.</p><p class="text-xs text-forest-600">App Store® and iPhone® are trademarks of Apple Inc. Google Play and the Google Play logo are trademarks of Google LLC.</p></div></div></footer></div>
84<section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section>
84<script src="/_next/static/chunks/45e38a7f2e90b090.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc" id="_R_" async=""></script>
84<script>(self.__next_f=self.__next_f||[]).push([0])</script>
84<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n8:I[552576,[],\"default\"]\n:HL[\"/_next/static/chunks/581a7fa04ff5cc95.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"style\"]\n:HL[\"/_next/static/chunks/fef57aef382e795f.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"style\"]\n:HL[\"/_next/static/media/03bda585a99c6450-s.p.ad37b9d9.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/5c285b27cdda1fe8-s.p.a62025f2.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/chunks/e8e73d744880f147.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"style\"]\n2:T18e4,"])</script>
84<script>self.__next_f.push([1,"(({protect:a})=\u003e{function b(a){return new Promise((b,c)=\u003e{if(document.querySelector(`script[src=\"${a}\"]`))return void b();let d=document.createElement(\"script\");d.src=a,d.async=!0,d.onload=()=\u003eb(),d.onerror=a=\u003e{console.error(\"Error loading script\",a),c(a)},document.head.appendChild(d)})}var c=class a{#a;#b;#c=0;constructor(){let{promise:b,resolve:c}=a.#d();this.#a=b,this.#b=c,this.#e(),window.addEventListener(\"online\",this.#f),window.addEventListener(\"visibilitychange\",this.#f)}getChallenge=async()=\u003e(await this.#g(),await this.#a.then(a=\u003e\"function\"==typeof a?a():a));#f=()=\u003e{if(document.hidden)return;let{promise:b,resolve:c}=a.#d();this.#a=b,this.#b=c,window.V_C=[],window.V_C.push=c;let d=document.querySelector('script[src*=\"c.js\"]');d\u0026\u0026d.remove(),this.#c+=1};#e=()=\u003e{if(window.V_C){let a=window.V_C.pop();a\u0026\u0026this.#b(a)}else window.V_C=[],window.V_C.push=this.#b};#g=()=\u003e{let a=new URL(\"/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/a-4-a/c.js\",window.location.origin);return a.searchParams.set(\"i\",String(this.#c)),a.searchParams.set(\"v\",String(3)),a.searchParams.set(\"h\",window.location.host),b(a.pathname+a.search)};#h=()=\u003e{window.V_C=void 0};static #d(){let a,b;return{promise:new Promise((c,d)=\u003e{a=c,b=d}),resolve:a,reject:b}}},d=class a{#a=!1;#b;constructor(a){this.#b=a}get loaded(){return this.#a}load=async()=\u003e{this.#a||await this.#f()};#c=()=\u003e{if(typeof globalThis.window\u003e\"u\")throw Error(\"KPSDK is not available in the server\");if(!window.KPSDK)throw Error(\"KPSDK is not loaded\");let b=this.#b.map(b=\u003e{let c=a.#e(b.path);return{domain:c.host,path:c.pathname,method:b.method}});try{window.KPSDK.configure(b)}catch(a){console.error(\"Error configuring KPSDK...\",a)}};#f=async()=\u003e{let a=this;return new Promise((c,d)=\u003e{let e=()=\u003e{document.removeEventListener(\"kpsdk-load\",e),this.#c()},f=()=\u003e{document.removeEventListener(\"kpsdk-ready\",f),a.#a=!0,c()};document.addEventListener(\"kpsdk-load\",e,{once:!0}),document.addEventListener(\"kpsdk-ready\",f,{once:!0}),b(\"/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/p.js\").catch(a=\u003e{document.removeEventListener(\"kpsdk-load\",e),document.removeEventListener(\"kpsdk-ready\",f),d(a)})})};static #e(a){let b;try{b=new URL(a)}catch{b=new URL(a,location.origin)}return b}},e=a=\u003e{let b=a.replace(/[.?+^$[\\]\\\\(){}|-]/g,\"\\\\$\u0026\").split(\"*\").join(\".*\");return RegExp(`^${b}$`)},f=({path:a,pattern:b})=\u003e-1!==a.search(b);async function g(a,b,c){let d=XMLHttpRequest.prototype.open,g=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(a,b,c,e,f){return this._requestUrl=b.toString(),this._requestMethod=a,d.call(this,a,b,c??!0,e,f)},XMLHttpRequest.prototype.send=async function(d){let h=this._requestUrl;if(!h||this._isReexecution)return g.call(this,d);let i=new URL(h,location.href),j=this._requestMethod??\"GET\",k=c.find(a=\u003e{let b=f({path:i.pathname,pattern:e(a.path)}),c=a.method===j||\"*\"===a.method;return b\u0026\u0026c});if(!k)return g.call(this,d);let l=await a.getChallenge();if(this.setRequestHeader(\"x-is-human\",JSON.stringify(l)),this.setRequestHeader(\"x-path\",i.pathname),this.setRequestHeader(\"x-method\",j),0!==l.b||b.loaded||((1===l.d||k?.advancedOptions?.checkLevel===\"deepAnalysis\")\u0026\u0026await b.load(),!b.loaded))return g.call(this,d);this.setRequestHeader(\"x-is-human\",JSON.stringify(l)),this.setRequestHeader(\"x-path\",i.pathname),this.setRequestHeader(\"x-method\",j);let m=new XMLHttpRequest;return m._isReexecution=!0,m.open(j,h,!0),m.setRequestHeader(\"x-is-human\",JSON.stringify(l)),m.setRequestHeader(\"x-path\",i.pathname),m.setRequestHeader(\"x-method\",j),this.timeout\u0026\u0026(m.timeout=this.timeout),this.responseType\u0026\u0026(m.responseType=this.responseType),this.withCredentials\u0026\u0026(m.withCredentials=this.withCredentials),m.onreadystatechange=()=\u003e{Object.defineProperty(this,\"readyState\",{value:m.readyState,writable:!0,configurable:!0}),m.readyState===XMLHttpRequest.DONE\u0026\u0026(Object.defineProperty(this,\"status\",{value:m.status,writable:!0,configurable:!0}),Object.defineProperty(this,\"statusText\",{value:m.statusText,writable:!0,configurable:!0}),Object.defineProperty(this,\"response\",{value:m.response,writable:!0,configurable:!0}),Object.defineProperty(this,\"responseText\",{value:m.responseText,writable:!0,configurable:!0}),Object.defineProperty(this,\"responseXML\",{value:m.responseXML,writable:!0,configurable:!0}),this.getAllResponseHeaders=()=\u003em.getAllResponseHeaders(),this.getResponseHeader=a=\u003em.getResponseHeader(a)),this.onreadystatechange\u0026\u0026this.onreadystatechange.call(this,new Event(\"readystatechange\"))},m.onload=a=\u003e{this.onload\u0026\u0026this.onload.call(this,a)},m.onerror=a=\u003e{this.onerror\u0026\u0026this.onerror.call(this,a)},m.onabort=a=\u003e{this.onabort\u0026\u0026this.onabort.call(this,a)},m.ontimeout=a=\u003e{this.ontimeout\u0026\u0026this.ontimeout.call(this,a)},m.onloadstart=a=\u003e{this.onloadstart\u0026\u0026this.onloadstart.call(this,a)},m.onloadend=a=\u003e{this.onloadend\u0026\u0026this.onloadend.call(this,a)},m.onprogress=a=\u003e{this.onprogress\u0026\u0026this.onprogress.call(this,a)},m.send(d)}}!function({protect:a=[]}){let b;for(let b of a)if(b.advancedOptions?.checkLevel!==void 0\u0026\u0026\"deepAnalysis\"!==b.advancedOptions.checkLevel\u0026\u0026\"basic\"!==b.advancedOptions.checkLevel)throw Error(`Invalid checkLevel \"${b.advancedOptions.checkLevel}\" for route \"${b.path}\". Must be one of: deepAnalysis, basic`);let h=new c,i=new d(a);g(h,i,a).catch(a=\u003e{console.error(\"Error patching XMLHttpRequest:\",a)}),b=window.fetch,window.fetch=async(c,d)=\u003e{let g=new URL(c instanceof Request?c.url:c,location.href),j=g.origin===location.origin,k=d?.method??(c instanceof Request?c.method:\"GET\"),l=a.find(a=\u003e{let b=f({path:g.pathname,pattern:e(a.path)}),c=a.method.toLowerCase()===k.toLowerCase()||\"*\"===a.method;return b\u0026\u0026c});if(null==l||!j)return b(c,d);
84let m=await h.getChallenge(),n=new Headers(d?.headers||(c instanceof Request?c.headers:void 0));n.set(\"x-is-human\",JSON.stringify(m)),n.set(\"x-path\",g.pathname),n.set(\"x-method\",k);let o={...d,headers:n};return i.loaded||0!==m.b?b(c,o):1===m.d||l?.advancedOptions?.checkLevel===\"deepAnalysis\"?(await i.load(),window.fetch(c,o)):b(c,o)}}({protect:a})})({ protect: [{\"path\":\"/api/auth/email-otp/send-verification-otp\",\"method\":\"POST\"},{\"path\":\"/api/auth/sign-up/email\",\"method\":\"POST\"},{\"path\":\"/api/auth/sign-in/email\",\"method\":\"POST\"},{\"path\":\"/api/auth/forget-password/*\",\"method\":\"POST\"},{\"path\":\"/api/tools/generate\",\"method\":\"POST\"},{\"path\":\"/api/auth/join\",\"method\":\"POST\"}] });"])</script>
84<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"5JSAN4Z35JCuTAL-Oe0ui\",\"c\":[\"\",\"blog\",\"2026-01-why-i-built-elkdesk\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[[\"slug\",\"2026-01-why-i-built-elkdesk\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/581a7fa04ff5cc95.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/fef57aef382e795f.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],\"$L3\"]}]]}],{\"children\":[\"$L4\",{\"children\":[\"$L5\",{\"children\":[\"$L6\",{},null,false,false]},null,false,false]},null,false,false]},null,false,false],\"$L7\",false]],\"m\":\"$undefined\",\"G\":[\"$8\",[]],\"S\":true}\n"])</script>
84<script>self.__next_f.push([1,"9:I[738030,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"\"]\na:I[421584,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"Providers\"]\nb:I[488287,[\"/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"default\"]\nc:I[174895,[\"/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"default\"]\nd:I[283798,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"Toaster\"]\ne:I[351260,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"PWAInstallPrompt\"]\nf:I[632983,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"MarketingHeader\"]\n10:I[169537,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"Image\"]\n11:I[504561,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"\"]\n16:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"OutletBoundary\"]\n17:\"$Sreact.suspense\"\n19:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"ViewportBoundary\"]\n1b:I[151858,[\"/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"MetadataBoundary\"]\n"])</script>
84<script>self.__next_f.push([1,"3:[\"$\",\"body\",null,{\"className\":\"dm_sans_30bb056a-module__cBMZpq__variable fraunces_880d6f75-module__pmAiua__variable font-body antialiased\",\"children\":[[[\"$\",\"$L9\",null,{\"async\":true,\"defer\":true,\"data-api\":\"/views/api/event\",\"data-domain\":\"elkdesk.com\",\"data-exclude\":\"/inbox/*,/settings/*,/onboarding/*,/projects/*,/invite/*\",\"src\":\"/views/js/script.exclusions.outbound-links.js\",\"integrity\":\"$undefined\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"$L9\",null,{\"id\":\"next-plausible-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }\"},\"nonce\":\"$undefined\"}],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]],[\"$\",\"$Ld\",null,{}],[\"$\",\"$Le\",null,{}]]}]\n"])</script>
84<script>self.__next_f.push([1,"4:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"min-h-screen flex flex-col bg-forest-950\",\"children\":[[\"$\",\"$Lf\",null,{}],[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"footer\",null,{\"className\":\"bg-forest-950 text-forest-300 py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto px-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 md:grid-cols-5 gap-8 mb-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-2 md:col-span-1\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3 mb-4\",\"children\":[[\"$\",\"$L10\",null,{\"src\":\"/logo-light.png\",\"alt\":\"ElkDesk\",\"width\":32,\"height\":32,\"className\":\"w-8 h-8\"}],[\"$\",\"span\",null,{\"className\":\"font-display text-lg font-semibold text-white\",\"children\":\"ElkDesk\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-forest-400\",\"children\":\"AI-powered customer support for indie hackers and small teams.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2 mt-4\",\"children\":[[\"$\",\"$L11\",null,{\"href\":\"https://apps.apple.com/us/app/helpdesk-ai-email-support-elk/id6761682586\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"Download on the App Store\",\"children\":[\"$\",\"$L10\",null,{\"src\":\"/img/app-store/white.svg\",\"alt\":\"Download on the App Store\",\"width\":120,\"height\":40,\"className\":\"h-10 w-auto\"}]}],[\"$\",\"$L11\",null,{\"href\":\"https://play.google.com/store/apps/details?id=com.elkdesk.helpdesk\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"Get it on Google Play\",\"children\":[\"$\",\"$L10\",null,{\"src\":\"/img/play-store.png\",\"alt\":\"Get it on Google Play\",\"width\":135,\"height\":40,\"className\":\"h-10 w-auto\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-white mb-4\",\"children\":\"Product\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",\"/features\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/features\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Features\"}]}],[\"$\",\"li\",\"/features/ai-replies\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/features/ai-replies\",\"className\":\"hover:text-white transition-colors\",\"children\":\"AI Replies\"}]}],[\"$\",\"li\",\"/tools\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Free Tools\"}]}],[\"$\",\"li\",\"/#pricing\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/#pricing\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Pricing\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-white mb-4\",\"children\":\"Compare\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",\"/compare/zendesk\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/compare/zendesk\",\"className\":\"hover:text-white transition-colors\",\"children\":\"vs Zendesk\"}]}],[\"$\",\"li\",\"/compare/help-scout\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/compare/help-scout\",\"className\":\"hover:text-white transition-colors\",\"children\":\"vs Help Scout\"}]}],[\"$\",\"li\",\"/compare\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/compare\",\"className\":\"hover:text-white transition-colors\",\"children\":\"All Comparisons\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-white mb-4\",\"children\":\"Use Cases\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",\"/for/indie-hackers\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/for/indie-hackers\",\"className\":\"hover:text-white transition-colors\",\"children\":\"For Indie Hackers\"}]}],[\"$\",\"li\",\"/for/saas-founders\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/for/saas-founders\",\"className\":\"hover:text-white transition-colors\",\"children\":\"For SaaS Founders\"}]}],[\"$\",\"li\",\"/for/small-business\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/for/small-business\",\"className\":\"hover:text-white transition-colors\",\"children\":\"For Small Business\"}]}],[\"$\",\"li\",\"/use-cases\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/use-cases\",\"className\":\"hover:text-white transition-colors\",\"children\":\"All Use Cases\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-semibold text-white mb-4\",\"children\":\"Company\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",\"/blog\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/blog\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Blog\"}]}],[\"$\",\"li\",\"/terms\",{\"children\":\"$L12\"}],\"$L13\"]}]]}]]}],\"$L14\"]}]}]]}]]}]\n"])</script>
84<script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n6:[\"$\",\"$1\",\"c\",{\"children\":[\"$L15\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/e8e73d744880f147.css?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@18\"}]}]]}]\n7:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L19\",null,{\"children\":\"$L1a\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1c\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
84<script>self.__next_f.push([1,"12:[\"$\",\"$L11\",null,{\"href\":\"/terms\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Terms\"}]\n13:[\"$\",\"li\",\"/privacy\",{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/privacy\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Privacy\"}]}]\n14:[\"$\",\"div\",null,{\"className\":\"pt-8 border-t border-forest-800 text-sm text-forest-500 text-center space-y-2\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"© \",2026,\" CurlyCorn LLC. All rights reserved.\"]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-forest-600\",\"children\":\"App Store® and iPhone® are trademarks of Apple Inc. Google Play and the Google Play logo are trademarks of Google LLC.\"}]]}]\n"])</script>
84<script>self.__next_f.push([1,"1d:I[913988,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"ReadingProgress\"]\n"])</script>
84<script>self.__next_f.push([1,"15:[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BlogPosting\\\",\\\"headline\\\":\\\"Why I Built ElkDesk\\\",\\\"description\\\":\\\"The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.\\\",\\\"image\\\":\\\"https://elkdesk.com/blog/images/why-i-built-elkdesk/hero.jpg\\\",\\\"datePublished\\\":\\\"2026-01-15\\\",\\\"dateModified\\\":\\\"2026-01-16\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"Julian Peters\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"ElkDesk\\\",\\\"logo\\\":{\\\"@type\\\":\\\"ImageObject\\\",\\\"url\\\":\\\"https://elkdesk.com/logo.png\\\"}}}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://elkdesk.com/\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"Blog\\\",\\\"item\\\":\\\"https://elkdesk.com/blog\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"Build in Public\\\",\\\"item\\\":\\\"https://elkdesk.com/blog/category/build-in-public\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":4,\\\"name\\\":\\\"Why I Built ElkDesk\\\",\\\"item\\\":\\\"https://elkdesk.com/blog/2026-01-why-i-built-elkdesk\\\"}]}\"}}],[\"$\",\"$L1d\",null,{}],[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-white\",\"children\":[[\"$\",\"header\",null,{\"className\":\"relative mb-20 overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 w-full h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative w-full h-full\",\"children\":[[\"$\",\"$L10\",null,{\"src\":\"/blog/images/why-i-built-elkdesk/hero.jpg\",\"alt\":\"Simple support desk illustration\",\"fill\":true,\"priority\":true,\"quality\":90,\"className\":\"object-cover\"}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-gradient-to-b from-white via-white/95 to-white/90\"}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-gradient-to-br from-transparent via-transparent to-stone-900/5\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"relative z-10\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-3xl mx-auto px-6 pt-6 pb-12 md:pt-12 md:pb-32\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-6 md:mb-10\",\"children\":[\"$\",\"nav\",null,{\"aria-label\":\"Breadcrumb\",\"children\":[\"$\",\"ol\",null,{\"className\":\"flex items-center gap-2 text-sm\",\"children\":[[\"$\",\"li\",\"/\",{\"className\":\"flex items-center gap-2\",\"children\":[false,[\"$\",\"$L11\",null,{\"href\":\"/\",\"className\":\"cursor-pointer text-stone-600 hover:text-forest-700 transition-colors font-medium\",\"children\":\"Home\"}]]}],[\"$\",\"li\",\"/blog\",{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right w-4 h-4 text-stone-400\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}],[\"$\",\"$L11\",null,{\"href\":\"/blog\",\"className\":\"cursor-pointer text-stone-600 hover:text-forest-700 transition-colors font-medium\",\"children\":\"Blog\"}]]}],[\"$\",\"li\",\"/blog/category/build-in-public\",{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right w-4 h-4 text-stone-400\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}],[\"$\",\"$L11\",null,{\"href\":\"/blog/category/build-in-public\",\"className\":\"cursor-pointer text-stone-600 hover:text-forest-700 transition-colors font-medium\",\"children\":\"Build in Public\"}]]}],[\"$\",\"li\",\"/blog/2026-01-why-i-built-elkdesk\",{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
84:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right w-4 h-4 text-stone-400\",\"aria-hidden\":\"true\",\"children\":[\"$L1e\",\"$undefined\"]}],\"$L1f\"]}]]}]}]}],\"$L20\",\"$L21\",\"$L22\",\"$L23\"]}]}],\"$L24\"]}],\"$L25\",\"$L26\"]}]]\n"])</script>
84<script>self.__next_f.push([1,"1e:[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}]\n1f:[\"$\",\"span\",null,{\"className\":\"text-stone-500 font-medium\",\"children\":\"Why I Built ElkDesk\"}]\n20:[\"$\",\"div\",null,{\"className\":\"w-16 h-1 bg-gradient-to-r from-amber-500 to-amber-400 mb-6 md:mb-8 rounded-full\"}]\n21:[\"$\",\"h1\",null,{\"className\":\"font-display text-5xl md:text-6xl lg:text-7xl font-bold text-stone-900 mb-6 md:mb-8 leading-[1.1] tracking-tight max-w-3xl\",\"children\":\"Why I Built ElkDesk\"}]\n22:[\"$\",\"p\",null,{\"className\":\"text-xl md:text-2xl text-stone-600 leading-relaxed mb-8 md:mb-12 max-w-2xl font-light\",\"children\":\"The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.\"}]\n"])</script>
84<script>self.__next_f.push([1,"23:[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-3\",\"children\":[[\"$\",\"$L10\",null,{\"src\":\"/authors/julian-peters.jpg\",\"alt\":\"Julian Peters\",\"width\":52,\"height\":52,\"className\":\"rounded-full ring-2 ring-stone-100\"}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"font-semibold text-stone-900 text-sm\",\"children\":\"Julian Peters\"}],[\"$\",\"div\",null,{\"className\":\"text-xs text-stone-500\",\"children\":\"Founder\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"hidden sm:block w-px h-12 bg-stone-200\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-5 text-sm text-stone-600\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026-01-15\",\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"w-4 h-4 text-stone-400\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"children\":[[\"$\",\"rect\",null,{\"x\":\"3\",\"y\":\"4\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"$\",\"path\",null,{\"d\":\"M16 2v4M8 2v4M3 10h18\"}]]}],\"January 15, 2026\"]}],[\"$\",\"span\",null,{\"className\":\"text-stone-300\",\"children\":\"â¢\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"w-4 h-4 text-stone-400\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"children\":[[\"$\",\"circle\",null,{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",null,{\"d\":\"M12 6v6l4 2\"}]]}],[\"$\",\"span\",null,{\"children\":[8,\" min read\"]}]]}]]}]]}]\n"])</script>
84<script>self.__next_f.push([1,"24:[\"$\",\"div\",null,{\"className\":\"absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-white to-transparent z-[5]\"}]\n"])</script>
84<script>self.__next_f.push([1,"25:[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto px-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex gap-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-0 max-w-3xl\",\"children\":[\"$\",\"article\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"prose prose-lg prose-stone [\u0026\u003ep:first-of-type]:first-letter:text-6xl [\u0026\u003ep:first-of-type]:first-letter:font-display [\u0026\u003ep:first-of-type]:first-letter:font-bold [\u0026\u003ep:first-of-type]:first-letter:float-left [\u0026\u003ep:first-of-type]:first-letter:mr-3 [\u0026\u003ep:first-of-type]:first-letter:leading-[0.8] [\u0026\u003ep:first-of-type]:first-letter:text-forest-700\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Five products. Forty emails a day. Zero time to actually build.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I was drowning in Gmail, hunting for buried support threads instead of shipping features. If you're an indie hacker facing the same choiceâstick with Gmail chaos or pay $100+/month for bloated enterprise softwareâthis is why I built something simpler.\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"the-gmail-years\",\"children\":\"The Gmail Years\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"For years, I ran a blogging platform. Support emails came in, I replied through Gmail, everything worked. A few emails a day, manageable threads, happy customers.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Then I launched a few new apps. They grew. Fast.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Suddenly I was drowning. Support emails scattered across Gmail for five different products. Threads buried, follow-ups missed, customers waiting. The \\\"priority inbox\\\" decided a newsletter was more important than a bug report about payment failing.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I calculated it once: 40 emails à 5 minutes each = 3+ hours daily just on support. That's 15 hours a week. An entire dev day, gone.\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"the-band-aid-solutions\",\"children\":\"The Band-Aid Solutions\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I built a help center. \\\"This will reduce support volume,\\\" I thought.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"It didn't. Users still emailed the same five questions, even though the answers were \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"right there\"}],\" in the docs. Nobody reads documentation before emailing.\"]}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Then Gmail added AI reply suggestions. \\\"Finally,\\\" I thought, \\\"AI that helps.\\\"\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"It was useless. Generic responses that had no idea what my products did. \\\"Thank you for contacting us. We'll look into this.\\\" Great. Super helpful.\"}],\"\\n\",[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"I needed AI that actually \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"knew\"}],\" my products. That learned from how \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"I\"}],\" answered questions. That got smarter with every reply I sent.\"]}],\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\",\"\\n\",\"$L2a\",\"\\n\",\"$L2b\",\"\\n\",\"$L2c\",\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\",\"\\n\",\"$L31\",\"\\n\",\"$L32\",\"\\n\",\"$L33\",\"\\n\",\"$L34\",\"\\n\",\"$L35\",\"\\n\",\"$L36\",\"\\n\",\"$L37\",\"\\n\",\"$L38\",\"\\n\",\"$L39\",\"\\n\",\"$L3a\",\"\\n\",\"$L3b\",\"\\n\",\"$L3c\",\"\\n\",\"$L3d\",\"\\n\",\"$L3e\",\"\\n\",\"$L3f\",\"\\n\",\"$L40\",\"\\n\",\"$L41\",\"\\n\",\"$L42\",\"\\n\",\"$L43\",\"\\n\",\"$L44\",\"\\n\",\"$L45\",\"\\n\",\"$L46\",\"\\n\",\"$L47\",\"\\n\",\"$L48\",\"\\n\",\"$L49\",\"\\n\",\"$L4a\",\"\\n\",\"$L4b\",\"\\n\",\"$L4c\",\"\\n\",\"$L4d\",\"\\n\",\"$L4e\",\"\\n\",\"$L4f\",\"\\n\",\"$L50\",\"\\n\",\"$L51\",\"\\n\",\"$L52\",\"\\n\",\"$L53\",\"\\n\",\"$L54\",\"\\n\",\"$L55\",\"\\n\",\"$L56\"]}]}]}],\"$L57\"]}]}]\n"])</script>
84<script>self.__next_f.push([1,"26:[[\"$\",\"div\",null,{\"className\":\"max-w-3xl mx-auto px-6 py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative overflow-hidden bg-gradient-to-br from-forest-50/50 via-white to-amber-50/30 border-t-4 border-amber-500 rounded-2xl shadow-[0_8px_30px_rgb(0,0,0,0.08),0_2px_8px_rgb(0,0,0,0.04)]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute -top-4 -left-2 text-[140px] leading-none font-serif text-amber-500/[0.08] select-none pointer-events-none\",\"children\":\"â\"}],[\"$\",\"div\",null,{\"className\":\"relative p-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-xs font-semibold tracking-widest uppercase text-forest-600 mb-6 flex items-center gap-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"w-8 h-px bg-gradient-to-r from-amber-500 to-transparent\"}],\"About the Author\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col md:flex-row gap-8 items-start\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative flex-shrink-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute -inset-2 rounded-full bg-gradient-to-r from-amber-500/20 via-forest-500/20 to-amber-500/20 blur-xl\"}],[\"$\",\"div\",null,{\"className\":\"absolute -inset-1 rounded-full bg-gradient-to-br from-amber-400/30 to-forest-500/30 blur-md\"}],[\"$\",\"$L10\",null,{\"src\":\"/authors/julian-peters.jpg\",\"alt\":\"Julian Peters\",\"width\":96,\"height\":96,\"className\":\"relative rounded-full ring-4 ring-white shadow-xl\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex-1 space-y-4\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"font-display text-3xl font-bold text-stone-900 mb-2 leading-tight\",\"children\":\"Julian Peters\"}],[\"$\",\"div\",null,{\"className\":\"inline-block px-3 py-1 bg-forest-100 text-forest-700 text-sm font-medium rounded-full\",\"children\":\"Founder\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-base text-stone-700 leading-relaxed max-w-2xl\",\"children\":\"Indie hacker running multiple profitable products. Building ElkDesk because I got tired of paying enterprise prices for support tools I barely use. Dogfooding it on my own products.\"}],[\"$\",\"div\",null,{\"className\":\"flex gap-3 pt-2\",\"children\":[[\"$\",\"$L11\",null,{\"href\":\"https://twitter.com/BuiltByJulian\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"group cursor-pointer relative inline-flex items-center justify-center w-11 h-11 bg-white border-2 border-stone-200 hover:border-amber-500 text-stone-700 rounded-full transition-all duration-300 hover:shadow-lg hover:scale-110 overflow-hidden\",\"aria-label\":\"Twitter\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-gradient-to-br from-amber-500 to-forest-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300\"}],[\"$\",\"svg\",null,{\"className\":\"w-5 h-5 relative z-10 group-hover:text-white transition-colors duration-300\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$\",\"path\",null,{\"d\":\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"}]}]]}],[\"$\",\"$L11\",null,{\"href\":\"https://github.com/tiotdev\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"group cursor-pointer relative inline-flex items-center justify-center w-11 h-11 bg-white border-2 border-stone-200 hover:border-amber-500 text-stone-700 rounded-full transition-all duration-300 hover:shadow-lg hover:scale-110 overflow-hidden\",\"aria-label\":\"GitHub\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 bg-gradient-to-br from-amber-500 to-forest-600 opacity-0 group-hover:opacity-100 transition-opacity duration-300\"}],\"$L58\"]}],\"$undefined\"]}]]}],\"$L59\"]}]]}]]}]}],\"$L5a\"]\n"])</script>
84<script>self.__next_f.push([1,"5b:I[252512,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"TableOfContents\"]\n5c:I[57923,[\"/_next/static/chunks/77b484c1ca0ca798.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/51eacdc4db845e2c.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/3ee0ef8ac3d8edda.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/42e49f3bb1b5f64e.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"ShareButton\"]\n27:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Gmail couldn't do that.\"}]\n28:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"the-zendesk-experience\",\"children\":\"The Zendesk Experience\"}]\n29:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"\\\"Okay,\\\" I thought, \\\"time for a real solution.\\\"\"}]\n2a:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I signed up for Zendeskâthe \\\"simple helpdesk alternative\\\" everyone recommends. The pricing page said \\\"$25/month.\\\" Reasonable.\"}]\n2b:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Two hours later, I was still in the admin panel configuring triggers and views. Hadn't even connected my email yet.\"}]\n2c:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"The interface had fifteen sections: Triggers, Automations, Macros, Views, SLAs, Schedules, Skills-Based Routing. I just wanted to reply to emails, not build NASA mission control.\"}]\n2d:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-display font-semibold text-stone-700 mt-8 mb-3 scroll-mt-24\",\"id\":\"features-i-didnt-need\",\"children\":\"Features I Didn't Need\"}]\n2e:[\"$\",\"ul\",null,{\"className\":\"mb-6 space-y-2 list-disc list-outside ml-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"SLA management\"}],\": I'm one person. No contractual service agreements needed.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Workforce scheduling\"}],\": There's no workforce. It's me.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Skills-based routing\"}],\": I'm routing tickets to myself.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Customer satisfaction surveys with NPS tracking\"}],\": Overkill for 20 emails/day.\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Talk, Chat, Guide, Explore, Gather, Sell\"}],\": What even are these?\"]}],\"\\n\"]}]\n2f:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Then I realized: the $25 plan is just basic email ticketing. Want AI suggestions? That jumps to $69/month for features that should be included.\"}]\n30:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"And I had multiple projects. Managing up to 5 separate products? That's $149/seat. Most are just me, but one has a co-founder who handles support. Wanted to give him access? Double it. Now I'm at $298/month for two peo
84ple.\"}]\n31:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"The complexity was the real killer though. After two hours of configuring triggers and views, I still hadn't replied to a single "])</script>
84<script>self.__next_f.push([1,"email. The tool designed for \\\"customer support\\\" needed its own support team to operate.\"}]\n32:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Every tool I tried followed the same pattern: start simple, chase enterprise customers, get bloated, get expensive. Solo operators like me subsidize features I'll never use.\"}]\n33:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"the-screw-it-im-building-this-moment\",\"children\":\"The \\\"Screw It, I'm Building This\\\" Moment\"}]\n34:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I was comparing pricing pages for the fifth tool in two days. Each had massive feature comparison tables - 50 rows of checkmarks. I only cared about 8 of those rows.\"}]\n35:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I sketched the simplest possible support tool on paper in 10 minutes:\"}]\n36:[\"$\",\"ul\",null,{\"className\":\"mb-6 space-y-2 list-disc list-outside ml-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":\"Ticket list on the left\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":\"Conversation on the right\"}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":\"Fast, clean, done\"}],\"\\n\"]}]\n37:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"That's when I kne
84w: the problem isn't that building a support tool is hard. The problem is years of accumulated enterprise feature requests.\"}]\n38:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"why-elkdesk\",\"children\":\"Why \\\"ElkDesk\\\"?\"}]\n39:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Honestly? The domain was available. And ElkDesk sounds like HelpDesk.\"}]\n3a:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"But the more I built it, the more it fit.\"}]\n3b:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"Elk aren't apex predators trying to dominate the forest. They're grounded. Strong enough to handle harsh winters, but not complicated about it. They're just... \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"there\"}],\". Doing their thing. Part of the natural landscape.\"]}]\n3c:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"That's what support software should be.\"}]\n3d:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Not some aggressive enterprise beast that takes over your entire workflow. Just capable, reliable, grounded. Handles the job without making it complicated.\"}]\n3e:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Elk don't overcomplicate survival. ElkDesk doesn't overcomplicate support.\"}]\n3f:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"what-i-wanted-different\",\"children\":\"What I Wanted Different\"}]\n"])</script>
84<script>self.__next_f.push([1,"40:[\"$\",\"ol\",null,{\"className\":\"mb-6 space-y-2 list-decimal list-outside ml-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Setup in 5 minutes\"}],\" - not 10 hours\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Fast UI\"}],\" - loads instantly, not in 3-4 seconds\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Honest pricing\"}],\" - seats included, no hidden per-user fees. One of my apps has a co-founder who handles support, but the rest I built solo. I needed him to access just his product's inbox without sharing my login or paying for an extra seat\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"AI that learns your product\"}],\" - knowledge base that grows automatically as you reply\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Clean multi-product support\"}],\" - separate inboxes, no routing rules\"]}],\"\\n\"]}]\n"])</script>
84<script>self.__next_f.push([1,"41:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-display font-semibold text-stone-700 mt-8 mb-3 scroll-mt-24\",\"id\":\"the-knowledge-base-that-writes-itself\",\"children\":\"The Knowledge Base That Writes Itself\"}]\n42:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"This became the feature I'm most proud of.\"}]\n43:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"When you send a reply in ElkDesk, the AI analyzes it. If it detects something new - a question you haven't answered before, a product detail worth saving - \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"then\"}],\" it asks: \\\"Should this go in the knowledge base?\\\"\"]}]\n44:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"One click, and it extracts the answer, categorizes it, and adds it to your product's knowledge. It doesn't ask every time. Just when it matters.\"}]\n45:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"Next time a customer asks the same question, the AI \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"already knows the answer\"}],\". It suggests a reply based on how \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"you\"}],\" answered it before - in your voice, with your product details.\"]}]\n46:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"The knowledge base is just a markdown file. Want to kickstart it? I use Claude Code to analyze my project and populate the initial knowledge. Then it grows automatically from real support conversations.\"}]\n47:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"After two weeks of using ElkDesk, I had 47 answers in my knowledge base. I wrote maybe 10 initially. The rest came from just doing support.\"}]\n48:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"That's the difference between AI that \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"helps\"}],\" and AI that \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"knows\"}],\".\"]}]\n49:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"the-core-philosophy\",\"children\":\"The Core Philosophy\"}]\n4a:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Support is a feature, not a department.\"}]}]\n4b:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"For indie hackers and small teams, support should take 30 minutes of your day - not become a full-time job managing a support \",[\"$\",\"em\",null,{\"className\":\"italic text-stone-700\",\"children\":\"system\"}],\".\"]}]\n4c:[\"$\",\"h3\",null,{\"className\":\"text-2xl font-display font-semibold text-stone-700 mt-8 mb-3 scroll-mt-24\",\"id\":\"features-i-intentionally-left-out\",\"children\":\"Features I Intentionally Left Out\"}]\n"])</script>
84<script>self.__next_f.push([1,"4d:[\"$\",\"ul\",null,{\"className\":\"mb-6 space-y-2 list-disc list-outside ml-6\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"SLAs\"}],\": If you need contractual SLAs, you need a different tool\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Complex ticket forms\"}],\": An email is fine\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Workforce management\"}],\": No workforce to manage\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Phone/chat integration\"}],\": Email first (maybe chat later, if it stays simple)\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Community forums\"}],\": That's a different product\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed pl-2\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"Detailed analytics dashboards\"}],\": See patterns in your inbox, no charts needed\"]}],\"\\n\"]}]\n"])</script>
84<script>self.__next_f.push([1,"4e:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":[\"The goal isn't to be \\\"Zendesk for small teams.\\\" It's to be the \",[\"$\",\"strong\",null,{\"className\":\"font-semibold text-stone-800\",\"children\":\"anti-Zendesk\"}],\". Do five things well instead of fifty things adequately.\"]}]\n4f:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"elkdesk-is-live-right-now\",\"children\":\"ElkDesk Is Live Right Now\"}]\n50:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I'm not asking you to take this on faith. ElkDesk is handling support for my own products as you read this. Five apps, hundreds of emails a month, real customers with real problems.\"}]\n51:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"If it breaks, my customers wait. If the AI suggests bad replies, I'm wasting time instead of saving it. I'm using ElkDesk for my own revenueâreal customers, real stakes. That's the only accountability that matters.\"}]\n52:[\"$\",\"h2\",null,{\"className\":\"text-3xl font-display font-semibold text-stone-800 mt-12 mb-4 pb-3 border-b border-stone-200 scroll-mt-24\",\"id\":\"the-promise\",\"children\":\"The Promise\"}]\n53:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"I built this because I was frustrated. I'm keeping it simple because the moment it gets complicated, I'll be frustrated using my own product.\"}]\n54:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Will ElkDesk work for a 500-person support team? No. And I'm fine with that.\"}]\n55:[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Trying to serve enterprise is exactly how every other tool became unusable for people like us.\"}]\n"])</script>
84<script>self.__next_f.push([1,"56:[\"$\",\"div\",null,{\"className\":\"my-12 space-y-6 border-t-2 border-forest-200 pt-8\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-2xl font-display font-semibold text-stone-800 mb-6 flex items-center gap-3\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"w-6 h-6 text-amber-500\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":2,\"d\":\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}]}],\"Frequently Asked Questions\"]}],[\"$\",\"div\",null,{\"className\":\"space-y-6\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-amber-500 flex-shrink-0\",\"children\":\"Q:\"}],[\"$\",\"span\",null,{\"children\":\"Who is ElkDesk for?\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-stone-600 leading-relaxed\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Indie hackers, solo founders, and small teams (1-10 people) who need simple, fast email support without enterprise bloat. If you're spending more time managing your support tool than helping customers, ElkDesk is for you.\"}]}]}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-amber-500 flex-shrink-0\",\"children\":\"Q:\"}],[\"$\",\"span\",null,{\"children\":\"Why not just use Gmail?\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-stone-600 leading-relaxed\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Gmail works until around 10+ emails/day across multiple products. Then threads get lost, follow-ups are missed, and context is scattered. ElkDesk gives you project separation, open/closed status, AI summaries, and priority detection - without the complexity of enterprise tools.\"}]}]}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-amber-500 flex-shrink-0\",\"children\":\"Q:\"}],[\"$\",\"span\",null,{\"children\":\"What makes ElkDesk different from Zendesk or Help Scout?\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-stone-600 leading-relaxed\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"ElkDesk is intentionally simple. No SLAs, no workforce management, no conditional routing. Just fast, AI-powered email support with honest pricing. Setup takes 5 minutes, not 10 hours. You pay for what you use, no seat minimums.\"}]}]}],[\"$\",\"h3\",null,{\"className\":\"text-xl font-display font-semibold text-stone-800 mb-3 flex items-start gap-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-amber-500 flex-shrink-0\",\"children\":\"Q:\"}],[\"$\",\"span\",null,{\"children\":\"Will you add [enterprise feature X]?\"}]]}],[\"$\",\"div\",null,{\"className\":\"mb-6 pl-4 border-l-4 border-amber-500 bg-gradient-to-r from-forest-50 to-amber-50/30 p-6 rounded-r-xl shadow-sm\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-stone-600 leading-relaxed\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-lg text-stone-600 leading-relaxed mb-6\",\"children\":\"Probably not. Every feature request is evaluated against one question: \\\"Does this help solo foun
84ders reply to customers faster, or does it add complexity?\\\" If it's the latter, I say no. Staying focused is how I stay fast and simple.\"}]}]}]]}]]}]\n"])</script>
84<script>self.__next_f.push([1,"57:[\"$\",\"aside\",null,{\"className\":\"hidden xl:block w-72 flex-shrink-0\",\"children\":[\"$\",\"$L5b\",null,{\"showTOC\":true}]}]\n58:[\"$\",\"svg\",null,{\"className\":\"w-5 h-5 relative z-10 group-hover:text-white transition-colors duration-300\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"d\":\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\",\"clipRule\":\"evenodd\"}]}]\n59:[\"$\",\"div\",null,{\"className\":\"md:self-start mt-4 md:mt-0\",\"children\":[\"$\",\"$L5c\",null,{\"title\":\"Why I Built ElkDesk\",\"url\":\"https://elkdesk.com/blog/2026-01-why-i-built-elkdesk\"}]}]\n5a:null\n"])</script>
84<script>self.__next_f.push([1,"1a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
84<script>self.__next_f.push([1,"5d:I[349310,[\"/_next/static/chunks/9b5512fb633ef95d.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\",\"/_next/static/chunks/24862261bc9a2ced.js?dpl=dpl_3jTn2HinhdBqn3CUgokxrDvmp2Zc\"],\"IconMark\"]\n18:null\n"])</script>
84<script>self.__next_f.push([1,"1c:[[\"$\",\"title\",\"0\",{\"children\":\"Why I Built ElkDesk - ElkDesk Blog\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"apple-itunes-app\",\"content\":\"app-id=6761682586\"}],[\"$\",\"link\",\"4\",{\"rel\":\"canonical\",\"href\":\"https://elkdesk.com/blog/2026-01-why-i-built-elkdesk\"}],[\"$\",\"meta\",\"5\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"6\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"7\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"ElkDesk\"}],[\"$\",\"meta\",\"8\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:title\",\"content\":\"Why I Built ElkDesk\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:description\",\"content\":\"The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image\",\"content\":\"https://elkdesk.com/blog/images/why-i-built-elkdesk/hero.jpg\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"13\",{\"property\":\"article:published_time\",\"content\":\"2026-01-15\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:title\",\"content\":\"Why I Built ElkDesk\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:description\",\"content\":\"The story of how Gmail and Zendesk's complexity pushed me to build a support tool for indie hackers.\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image\",\"content\":\"https://elkdesk.com/blog/images/why-i-built-elkdesk/hero.jpg\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.dfec2fa7.ico\",\"sizes\":\"32x32\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.8ffe4494.png\",\"sizes\":\"48x48\",\"type\":\"image/png\"}],[\"$\",\"link\",\"20\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.f3df84f4.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L5d\",\"21\",{}]]\n"])</script>
84</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.