1:"$Sreact.fragment" 2:I[878,["619","static/chunks/619-f09bc47e24909021.js","625","static/chunks/625-8a10369c10f5b167.js","278","static/chunks/278-2facacf06d9c0828.js","177","static/chunks/app/layout-609d47ae5c824ca5.js"],"TabAwayTitle"] 3:I[956,["619","static/chunks/619-f09bc47e24909021.js","625","static/chunks/625-8a10369c10f5b167.js","278","static/chunks/278-2facacf06d9c0828.js","177","static/chunks/app/layout-609d47ae5c824ca5.js"],"CursorGlow"] 4:I[8297,["619","static/chunks/619-f09bc47e24909021.js","625","static/chunks/625-8a10369c10f5b167.js","278","static/chunks/278-2facacf06d9c0828.js","177","static/chunks/app/layout-609d47ae5c824ca5.js"],"Nav"] 5:I[9766,[],""] 6:I[8924,[],""] 7:I[2619,["619","static/chunks/619-f09bc47e24909021.js","274","static/chunks/app/engineering-notes/%5Bslug%5D/page-a814044d591dac40.js"],""] 8:I[5989,["619","static/chunks/619-f09bc47e24909021.js","625","static/chunks/625-8a10369c10f5b167.js","278","static/chunks/278-2facacf06d9c0828.js","177","static/chunks/app/layout-609d47ae5c824ca5.js"],"FloatingAssistant"] e:I[7150,[],""] :HL["/_next/static/css/2ab64e17c806edc5.css","style"] 9:T655,{"@context":"https://schema.org","@type":"Person","name":"Samuel Ekunyan","url":"https://ekunyansamuel.dev","image":"https://ekunyansamuel.dev/brand/se-logo-master.png","jobTitle":"Backend Developer, Bot Builder & Automation Engineer","description":"Samuel Ekunyan is a backend developer who builds Node.js APIs, automation bots for any platform, workflow automation systems, and Laravel-powered business platforms. He also manages tech projects and mentors developers.","email":"Samuel@ekunyansamuel.dev","sameAs":["https://x.com/samuel_ekunyan","https://www.linkedin.com/in/samuel-ekunyan/","https://github.com/easamuel","https://www.instagram.com/ekunyan_samuel/","https://blog.ekunyansamuel.dev"],"knowsAbout":["Node.js Backend Development","Bot Development","Automation Engineering","Web Automation","Telegram Bot Development","WhatsApp Bot Development","Slack Bot Development","Discord Bot Development","REST API Development","Webhook Integration","Laravel Development","WordPress Development","Vue.js","MySQL Database Design","Tech Project Management","Software Consulting","Developer Mentorship","Workflow Automation","Business Process Automation","Fullstack Development"],"hasOccupation":[{"@type":"Occupation","name":"Backend Developer","description":"Builds Node.js APIs, automation systems, and server-side logic"},{"@type":"Occupation","name":"Bot Developer","description":"Builds automation bots for web, Telegram, WhatsApp, Slack, Discord and any platform"},{"@type":"Occupation","name":"Tech Project Manager","description":"Manages engineering teams and tech delivery for digital agencies and startups"}]}0:{"P":null,"b":"_4Tix7t0cV1Vo5Sp5uWrg","p":"","c":["","engineering-notes","database-indexes-are-product-decisions"],"i":false,"f":[[["",{"children":["engineering-notes",{"children":[["slug","database-indexes-are-product-decisions","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/2ab64e17c806edc5.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_0a80b4 __variable_dd5b2f __variable_9ef920 h-full antialiased","children":[["$","head",null,{"children":[["$","link",null,{"rel":"icon","href":"https://ekunyansamuel.dev/whatsapp-icon.png","sizes":"512x512","type":"image/png"}],["$","link",null,{"rel":"shortcut icon","href":"https://ekunyansamuel.dev/whatsapp-icon.png","type":"image/png"}],["$","link",null,{"rel":"apple-touch-icon","href":"https://ekunyansamuel.dev/apple-touch-icon.png","sizes":"180x180"}],["$","link",null,{"rel":"apple-touch-icon","href":"https://ekunyansamuel.dev/icon-192.png","sizes":"192x192"}],["$","link",null,{"rel":"apple-touch-icon-precomposed","href":"https://ekunyansamuel.dev/apple-touch-icon.png"}],["$","link",null,{"rel":"image_src","href":"https://ekunyansamuel.dev/whatsapp-icon.png"}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"try{var t=localStorage.getItem('theme');document.documentElement.dataset.theme=t==='light'?'light':'dark'}catch(e){document.documentElement.dataset.theme='dark'}"}}]]}],["$","body",null,{"className":"min-h-full bg-background text-foreground","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","main",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","section",null,{"className":"flex min-h-[70vh] flex-col items-center justify-center px-6 py-24","children":[["$","p",null,{"className":"font-mono text-[11px] uppercase tracking-[0.28em] text-accent","children":"404"}],["$","h1",null,{"className":"mt-4 max-w-lg text-center font-serif text-4xl font-light tracking-[-0.04em] text-foreground md:text-5xl","children":"This page is not here."}],["$","p",null,{"className":"mt-6 max-w-md text-center text-sm leading-7 text-foreground/60","children":"The link may be old or mistyped. Head back to the home page and use the navigation or footer links."}],["$","$L7",null,{"href":"/","className":"mt-10 inline-flex bg-accent px-8 py-3 font-mono text-[10px] uppercase tracking-[0.22em] text-background transition hover:opacity-95","children":"Back home"}]]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L8",null,{}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"$9"}}]]}]]}]]}],{"children":["engineering-notes","$La",{"children":[["slug","database-indexes-are-product-decisions","d"],"$Lb",{"children":["__PAGE__","$Lc",{},null,false]},null,false]},null,false]},null,false],"$Ld",false]],"m":"$undefined","G":["$e",[]],"s":false,"S":true} 10:I[4431,[],"OutletBoundary"] 12:I[5278,[],"AsyncMetadataOutlet"] 14:I[4431,[],"ViewportBoundary"] 16:I[4431,[],"MetadataBoundary"] 17:"$Sreact.suspense" a:["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}] b:["$","$1","c",{"children":[null,["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}] c:["$","$1","c",{"children":["$Lf",null,["$","$L10",null,{"children":["$L11",["$","$L12",null,{"promise":"$@13"}]]}]]}] d:["$","$1","h",{"children":[null,[["$","$L14",null,{"children":"$L15"}],null],["$","$L16",null,{"children":["$","div",null,{"hidden":true,"children":["$","$17",null,{"fallback":null,"children":"$L18"}]}]}]]}] 15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#07070e"}],["$","meta","3",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#f7f1e6"}]] 11:null 19:I[3098,["619","static/chunks/619-f09bc47e24909021.js","274","static/chunks/app/engineering-notes/%5Bslug%5D/page-a814044d591dac40.js"],"NewsletterForm"] f:[["$","article",null,{"className":"px-6 pb-24 pt-32","children":["$","div",null,{"className":"mx-auto max-w-3xl","children":[["$","p",null,{"className":"font-mono text-[11px] uppercase tracking-[0.28em] text-accent","children":"#003"}],["$","h1",null,{"className":"mt-5 font-serif text-5xl font-light leading-none text-foreground md:text-7xl","children":"Database Indexes Are Product Decisions"}],["$","p",null,{"className":"mt-6 text-lg leading-8 text-foreground/62","children":"Indexes reveal the questions your product needs to answer quickly. Design them from real workflows."}],["$","div",null,{"className":"mt-10 border-y border-white/[0.08] py-8","children":["$","div",null,{"className":"space-y-6 text-lg leading-9 text-foreground/72","children":[["$","p","An index is not just a database trick. It is a statement about what the product needs to find, filter, sort, or enforce quickly.",{"children":"An index is not just a database trick. It is a statement about what the product needs to find, filter, sort, or enforce quickly."}],["$","p","Start with user journeys: search orders by status, list invoices by customer, find messages by conversation, show recent activity. Those are product needs. Then design indexes around the read paths and constraints that keep those needs reliable.",{"children":"Start with user journeys: search orders by status, list invoices by customer, find messages by conversation, show recent activity. Those are product needs. Then design indexes around the read paths and constraints that keep those needs reliable."}],["$","p","Good indexing keeps your system calm as data grows. Bad indexing hides until the business gets traction, then turns normal screens into waiting rooms.",{"children":"Good indexing keeps your system calm as data grows. Bad indexing hides until the business gets traction, then turns normal screens into waiting rooms."}]]}]}],["$","div",null,{"className":"mt-10 border border-white/[0.08] bg-white/[0.025] p-6","children":[["$","p",null,{"className":"font-mono text-[10px] uppercase tracking-[0.22em] text-accent","children":"Keep learning"}],["$","p",null,{"className":"mt-3 text-sm leading-7 text-foreground/60","children":"Subscribe for backend engineering notes, and hire Samuel for architecture reviews, backend builds, and production consulting."}],["$","div",null,{"className":"mt-5","children":["$","$L19",null,{"source":"note-database-indexes-are-product-decisions"}]}],["$","$L7",null,{"href":"/hire","className":"mt-5 inline-flex font-mono text-[10px] uppercase tracking-[0.22em] text-accent","children":"Hire Samuel for backend engineering consulting"}]]}],["$","div",null,{"className":"mt-10","children":[["$","p",null,{"className":"font-mono text-[10px] uppercase tracking-[0.22em] text-foreground/40","children":"Related notes"}],["$","div",null,{"className":"mt-4 grid gap-3","children":[["$","$L7","authentication-boundary-before-feature",{"href":"/engineering-notes/authentication-boundary-before-feature","className":"border border-white/[0.08] p-4 text-foreground transition hover:border-accent/45","children":["#004"," · ","Build the Authentication Boundary Before the Feature"]}],["$","$L7","queues-are-how-backends-breathe",{"href":"/engineering-notes/queues-are-how-backends-breathe","className":"border border-white/[0.08] p-4 text-foreground transition hover:border-accent/45","children":["#002"," · ","Queues Are How Backends Breathe"]}]]}]]}]]}]}],["$","footer",null,{"className":"border-t border-white/[0.06] px-6 py-10","children":["$","div",null,{"className":"mx-auto grid max-w-7xl gap-8 md:grid-cols-[1fr_1fr] md:items-start","children":[["$","div",null,{"children":[["$","p",null,{"className":"font-mono text-[10px] uppercase tracking-[0.24em] text-accent","children":"Newsletter"}],"$L1a","$L1b"]}],"$L1c"]}]}]] 1f:I[622,[],"IconMark"] 1a:["$","p",null,{"className":"mt-3 max-w-md text-sm leading-7 text-foreground/55","children":"Backend notes on APIs, authentication, databases, architecture, and practical product engineering."}] 1b:["$","div",null,{"className":"mt-5","children":["$","$L19",null,{"source":"footer"}]}] 1c:["$","div",null,{"className":"flex flex-col gap-5 md:items-end","children":[["$","div",null,{"className":"flex flex-wrap gap-4 font-mono text-[10px] uppercase tracking-[0.2em] text-foreground/35","children":[["$","$L7",null,{"href":"/engineering-notes","className":"transition hover:text-accent","children":"Notes"}],["$","$L7",null,{"href":"/blog","className":"transition hover:text-accent","children":"Blog"}],["$","$L7",null,{"href":"/services","className":"transition hover:text-accent","children":"Services"}],["$","$L7",null,{"href":"/services/whatsapp-automation","className":"transition hover:text-accent","children":"WhatsApp Automation"}],["$","$L7",null,{"href":"/hire","className":"transition hover:text-accent","children":"Hire"}],["$","$L7",null,{"href":"/privacy","className":"transition hover:text-accent","children":"Privacy"}]]}],["$","div",null,{"className":"flex gap-4","children":[["$","a","Twitter/X",{"href":"https://x.com/samuel_ekunyan","target":"_blank","rel":"noopener noreferrer","aria-label":"Twitter/X","className":"text-foreground/40 transition hover:scale-110 hover:text-accent","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":22,"height":22,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-twitter","aria-hidden":"true","children":[["$","path","pff0z6",{"d":"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"}],"$undefined"]}]}],["$","a","Instagram",{"href":"https://www.instagram.com/ekunyan_samuel/","target":"_blank","rel":"noopener noreferrer","aria-label":"Instagram","className":"text-foreground/40 transition hover:scale-110 hover:text-accent","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":22,"height":22,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-instagram","aria-hidden":"true","children":[["$","rect","2e1cvw",{"width":"20","height":"20","x":"2","y":"2","rx":"5","ry":"5"}],["$","path","9exkf1",{"d":"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"}],["$","line","r4j83e",{"x1":"17.5","x2":"17.51","y1":"6.5","y2":"6.5"}],"$undefined"]}]}],["$","a","LinkedIn",{"href":"https://www.linkedin.com/in/samuel-ekunyan/","target":"_blank","rel":"noopener noreferrer","aria-label":"LinkedIn","className":"text-foreground/40 transition hover:scale-110 hover:text-accent","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":22,"height":22,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-linkedin","aria-hidden":"true","children":[["$","path","c2jq9f",{"d":"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"}],["$","rect","mk3on5",{"width":"4","height":"12","x":"2","y":"9"}],["$","circle","bt5ra8",{"cx":"4","cy":"4","r":"2"}],"$undefined"]}]}],["$","a","GitHub",{"href":"https://github.com/easamuel","target":"_blank","rel":"noopener noreferrer","aria-label":"GitHub","className":"text-foreground/40 transition hover:scale-110 hover:text-accent","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":22,"height":22,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}]}],["$","a","WhatsApp",{"href":"https://api.whatsapp.com/send?phone=2348036375292","target":"_blank","rel":"noopener noreferrer","aria-label":"WhatsApp","className":"text-foreground/40 transition hover:scale-110 hover:text-accent","children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":22,"height":22,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-message-circle","aria-hidden":"true","children":["$L1d","$undefined"]}]}]]}],"$L1e"]}] 13:{"metadata":[["$","title","0",{"children":"Database Indexes Are Product Decisions"}],["$","meta","1",{"name":"description","content":"A practical note on database indexing, product workflows, and backend performance."}],["$","link","2",{"rel":"author","href":"https://ekunyansamuel.dev"}],["$","meta","3",{"name":"author","content":"Samuel Ekunyan"}],["$","link","4",{"rel":"manifest","href":"/site.webmanifest","crossOrigin":"$undefined"}],["$","meta","5",{"name":"creator","content":"Samuel Ekunyan"}],["$","meta","6",{"name":"robots","content":"index, follow"}],["$","meta","7",{"name":"googlebot","content":"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"}],["$","link","8",{"rel":"canonical","href":"https://ekunyansamuel.dev/engineering-notes/database-indexes-are-product-decisions"}],["$","meta","9",{"property":"og:title","content":"Database Indexes Are Product Decisions"}],["$","meta","10",{"property":"og:description","content":"A practical note on database indexing, product workflows, and backend performance."}],["$","meta","11",{"property":"og:image","content":"https://ekunyansamuel.dev/og-image.png"}],["$","meta","12",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","13",{"name":"twitter:title","content":"Database Indexes Are Product Decisions"}],["$","meta","14",{"name":"twitter:description","content":"A practical note on database indexing, product workflows, and backend performance."}],["$","meta","15",{"name":"twitter:image","content":"https://ekunyansamuel.dev/og-image.png"}],["$","link","16",{"rel":"shortcut icon","href":"https://ekunyansamuel.dev/whatsapp-icon.png"}],["$","link","17",{"rel":"icon","href":"https://ekunyansamuel.dev/whatsapp-icon.png","sizes":"512x512","type":"image/png"}],["$","link","18",{"rel":"icon","href":"https://ekunyansamuel.dev/icon-192.png","sizes":"192x192","type":"image/png"}],["$","link","19",{"rel":"icon","href":"https://ekunyansamuel.dev/favicon-32.png","sizes":"32x32","type":"image/png"}],["$","link","20",{"rel":"icon","href":"https://ekunyansamuel.dev/icon.png","sizes":"512x512","type":"image/png"}],["$","link","21",{"rel":"apple-touch-icon","href":"https://ekunyansamuel.dev/apple-touch-icon.png","sizes":"180x180","type":"image/png"}],["$","link","22",{"rel":"apple-touch-icon","href":"https://ekunyansamuel.dev/icon-192.png","sizes":"192x192","type":"image/png"}],["$","link","23",{"rel":"apple-touch-icon","href":"https://ekunyansamuel.dev/whatsapp-icon.png","sizes":"512x512","type":"image/png"}],["$","$L1f","24",{}]],"error":null,"digest":"$undefined"} 18:"$13:metadata" 1d:["$","path","1sd12s",{"d":"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"}] 1e:["$","p",null,{"className":"font-mono text-[10px] uppercase tracking-[0.18em] text-foreground/30","children":"© 2026 Samuel Ekunyan · Backend Engineer · Technical Educator"}]