[{"data":1,"prerenderedAt":3275},["ShallowReactive",2],{"navigation":3,"personas-list":28},[4,8,12,16,20,24],{"title":5,"path":6,"stem":7},"Overview","\u002Foverview","1.overview",{"title":9,"path":10,"stem":11},"The ICP","\u002Ficp","2.icp",{"title":13,"path":14,"stem":15},"Pete","\u002Fpete-the-indie-hacker","3.pete-the-indie-hacker",{"title":17,"path":18,"stem":19},"Max","\u002Fmax-the-product-engineer","4.max-the-product-engineer",{"title":21,"path":22,"stem":23},"Laura","\u002Flaura-the-founding-cto","5.laura-the-founding-cto",{"title":25,"path":26,"stem":27},"Marcus","\u002Fmarcus-the-platform-engineer","6.marcus-the-platform-engineer",[29,400,576,1302,1945,2595],{"id":30,"title":5,"body":31,"cover":393,"description":394,"extension":395,"meta":396,"navigation":397,"path":6,"persona":393,"seo":398,"stem":7,"__hash__":399},"personas\u002F1.overview.md",{"type":32,"value":33,"toc":381},"minimark",[34,38,41,45,53,57,162,165,169,191,195,198,205,208,212,215,300,304,360,364],[35,36,37],"p",{},"Polylane is proactive agents for production: agents that read your code, watch your infrastructure, detect issues, investigate them, and fix them. The brand promise is \"Nobody should be on-call in 2026.\" The go-to-market is bottom-up and self-serve: developer tools are consumer tools, win developers one at a time, no enterprise motion at this stage.",[35,39,40],{},"These personas were derived from a deep analysis of the product itself: its positioning and messaging, pricing and plan structure, onboarding funnel, lifecycle emails, console features, and the depth of each integration. They are inferences, not interview data. Treat them as a strong starting hypothesis to validate against real signup answers, founder check-in replies, and churn feedback.",[42,43,9],"h2",{"id":44},"the-icp",[35,46,47,48,52],{},"One ICP sits above the personas: ",[49,50,51],"a",{"href":10},"AI-pilled software teams at any scale",". The qualifier is temperament, not stage or headcount: the team ships with AI-first tools and is comfortable letting an agent do real work. The personas below describe who inside those teams; the ICP page describes which teams qualify and why.",[42,54,56],{"id":55},"the-personas","The personas",[58,59,60,82],"table",{},[61,62,63],"thead",{},[64,65,66,70,73,76,79],"tr",{},[67,68,69],"th",{},"#",[67,71,72],{},"Persona",[67,74,75],{},"Archetype",[67,77,78],{},"Typical plan",[67,80,81],{},"One line",[83,84,85,105,124,143],"tbody",{},[64,86,87,91,96,99,102],{},[88,89,90],"td",{},"1",[88,92,93],{},[49,94,95],{"href":14},"Pete, the indie hacker",[88,97,98],{},"Indie hacker \u002F solo founder",[88,100,101],{},"Free → Starter ($80)",[88,103,104],{},"Solo builder on Cloudflare or Vercel who is their own on-call and finds out about outages from customers",[64,106,107,110,115,118,121],{},[88,108,109],{},"2",[88,111,112],{},[49,113,114],{"href":18},"Max, the product engineer",[88,116,117],{},"Software engineer",[88,119,120],{},"Max ($200) or a seat on Team",[88,122,123],{},"Full-stack engineer at a small startup, ships daily with a coding agent, dreads the pager",[64,125,126,129,134,137,140],{},[88,127,128],{},"3",[88,130,131],{},[49,132,133],{"href":22},"Laura, the founding CTO",[88,135,136],{},"Exec (CTO \u002F VP Engineering)",[88,138,139],{},"Team ($200)",[88,141,142],{},"Player-coach CTO of a 10-40 person startup buying leverage instead of an SRE hire",[64,144,145,148,153,156,159],{},[88,146,147],{},"4",[88,149,150],{},[49,151,152],{"href":26},"Marcus, the platform engineer",[88,154,155],{},"SRE \u002F DevOps \u002F platform",[88,157,158],{},"Team → Enterprise",[88,160,161],{},"Pragmatic platform engineer at an AWS\u002FKubernetes scale-up, evaluates cautiously, secondary persona today",[35,163,164],{},"Priority order matters. Pete and Max are the bullseye and match the beachhead strategy: developers on fast-growing cloud platforms (Cloudflare, Vercel, Supabase, Railway, Fly.io) who ship faster than anyone and have almost no native operations tooling. Laura converts individual adoption into a team account. Marcus is the expansion persona: several tools he considers table stakes (PagerDuty, Grafana, GitLab, Terraform-aware linking) are not live yet.",[42,166,168],{"id":167},"what-all-personas-share","What all personas share",[170,171,172,176,179,182,185,188],"ul",{},[173,174,175],"li",{},"They are developers or ex-developers. The product's docs and console assume fluency with cloud providers, metrics, logs, traces, Git and PR workflows, and MCP. Nothing is written for a non-technical buyer.",[173,177,178],{},"They already use an AI coding agent daily (Claude Code, Cursor, Codex, or similar). The fastest onboarding path is handing that agent one setup prompt.",[173,180,181],{},"They ship on modern platforms through GitHub. GitHub is the only live code host; the deepest cloud integrations are Cloudflare, AWS, Vercel, Render, Fly.io, Kubernetes, and PlanetScale, with Datadog, Honeycomb, Axiom, Sentry, and Slack alongside.",[173,183,184],{},"They are allergic to noise. Every persona has been burned by alert spam. The product's stance that silence is a feature, and that the default verdict is \"no anomaly\", is a prerequisite for trust with all four.",[173,186,187],{},"They carry on-call pain in some form, from \"my phone is the pager\" (Pete) to \"I own the rotation's quality\" (Marcus).",[173,189,190],{},"They respond to the same product taste: dense, fast, restrained, opinionated, closer to Linear than to a dashboard vendor.",[42,192,194],{"id":193},"the-shared-journey-skeleton","The shared journey skeleton",[35,196,197],{},"Every persona walks the same ladder; they differ only in how fast, how alone, and how skeptically.",[35,199,200],{},[201,202],"img",{"alt":203,"src":204},"The shared journey","\u002Fdiagrams\u002Fshared-journey.svg",[35,206,207],{},"The details that vary by persona: a work email produces a company-named workspace with optional domain auto-join, a personal email a solo one; disposable domains are rejected outright; reminder emails nudge each unconnected rung over the first two weeks, personalized by what the product finds in already-connected repos; and founder check-in emails arrive at signup and on churn signals.",[42,209,211],{"id":210},"how-plans-segment-the-personas","How plans segment the personas",[35,213,214],{},"Plans are grouped into Individual (Starter, Max) and Team (Team, Enterprise). The unit of value is credits: cost-weighted AI tokens, where heavier models burn more credits per response. Overage is metered in small increments with a default monthly spending cap. Upgrade pressure comes from the credit pool, the automatic-incident cap, and cloud-account limits.",[58,216,217,233],{},[61,218,219],{},[64,220,221,224,227,230],{},[67,222,223],{},"Plan",[67,225,226],{},"Price",[67,228,229],{},"Seats",[67,231,232],{},"Built for",[83,234,235,248,261,273,286],{},[64,236,237,240,243,245],{},[88,238,239],{},"Free",[88,241,242],{},"$0",[88,244,90],{},[88,246,247],{},"Pete trying it out: 2 clouds, 1 automatic incident per day",[64,249,250,253,256,258],{},[88,251,252],{},"Starter",[88,254,255],{},"$80\u002Fmo",[88,257,90],{},[88,259,260],{},"Pete in production: 10 clouds, unlimited incidents, pay-as-you-go overage",[64,262,263,265,268,270],{},[88,264,17],{},[88,266,267],{},"$200\u002Fmo",[88,269,90],{},[88,271,272],{},"Max as a power user: unlimited clouds, 4x Starter credits, priority routing on frontier models",[64,274,275,278,280,283],{},[88,276,277],{},"Team",[88,279,267],{},[88,281,282],{},"up to 50",[88,284,285],{},"Laura's team: shared credits, shared memories and skills",[64,287,288,291,294,297],{},[88,289,290],{},"Enterprise",[88,292,293],{},"custom",[88,295,296],{},"unlimited",[88,298,299],{},"Marcus's org later: volume credit pricing, bring-your-own LLM key and AI gateway, bring-your-own cloud, dedicated support",[42,301,303],{"id":302},"where-to-reach-whom-summary","Where to reach whom (summary)",[58,305,306,318],{},[61,307,308],{},[64,309,310,312,315],{},[67,311,72],{},[67,313,314],{},"Best channels",[67,316,317],{},"Worst channels",[83,319,320,330,340,350],{},[64,321,322,324,327],{},[88,323,13],{},[88,325,326],{},"Cloudflare\u002FVercel marketplaces, X build-in-public circles, Hacker News, Product Hunt, dev YouTube, the shareable topology map itself",[88,328,329],{},"Cold email, LinkedIn ads, gated content",[64,331,332,334,337],{},[88,333,17],{},[88,335,336],{},"The PR comment surface itself, coding-agent communities, framework Discords, GitHub, word of mouth in team Slack, dev newsletters",[88,338,339],{},"Webinars, anything requiring a sales call",[64,341,342,344,347],{},[88,343,21],{},[88,345,346],{},"Their own engineers (bottom-up), founder and CTO communities, The Pragmatic Engineer-style newsletters, warm intros, the forwarded weekly digest",[88,348,349],{},"Cold outbound, feature-checklist comparisons",[64,351,352,354,357],{},[88,353,25],{},[88,355,356],{},"Deep technical blog posts, SRE\u002FDevOps newsletters and podcasts, KubeCon\u002FSREcon\u002FMonitorama hallways, r\u002Fdevops and r\u002Fsre, transparent security documentation",[88,358,359],{},"AI-magic marketing, anything hiding the IAM policy",[42,361,363],{"id":362},"anti-personas","Anti-personas",[170,365,366,369,372,375,378],{},[173,367,368],{},"Procurement-led enterprise buyers. No sales team, no SSO\u002FRBAC depth, no compliance paperwork motion yet, by explicit choice.",[173,370,371],{},"Dashboard power users who want another observability dashboard to stare at and hand-write queries in. The agent does the querying; the product positions against observability without action.",[173,373,374],{},"Legacy VM and datacenter shops. The integration surface assumes serverless and PaaS with config-file-driven deploys.",[173,376,377],{},"Non-GitHub teams, for now.",[173,379,380],{},"Anyone who wants a fully hands-off replacement for engineering judgment. Every persona still reviews and merges the fix.",{"title":382,"searchDepth":383,"depth":384,"links":385},"",1,2,[386,387,388,389,390,391,392],{"id":44,"depth":384,"text":9},{"id":55,"depth":384,"text":56},{"id":167,"depth":384,"text":168},{"id":193,"depth":384,"text":194},{"id":210,"depth":384,"text":211},{"id":302,"depth":384,"text":303},{"id":362,"depth":384,"text":363},null,"How the persona set was derived, what every persona shares, the journey they follow, and how plans and channels segment them.","md",{},{"title":5},{"title":5,"description":394},"nO803E8s3_p4IZ7OTMYo626w1k2dC0TfugLwK12johM",{"id":401,"title":402,"body":403,"cover":570,"description":571,"extension":395,"meta":572,"navigation":573,"path":10,"persona":393,"seo":574,"stem":11,"__hash__":575},"personas\u002F2.icp.md","The ICP: AI-pilled software teams at any scale",{"type":32,"value":404,"toc":562},[405,408,414,418,432,436,450,454,504,510,514,521,525,533,555,559],[35,406,407],{},"One ICP sits above the four personas: AI-pilled software teams at any scale. What they ship does not matter. The framing follows PostHog's ICP definition, which we share.",[409,410,411],"blockquote",{},[35,412,413],{},"\"AI pilled doesn't mean building an AI product, it means the team is happy using AI first tools. Doesn't matter what they're building.\"",[42,415,417],{"id":416},"what-ai-pilled-means","What AI-pilled means",[170,419,420,423,426,429],{},[173,421,422],{},"The team ships with coding agents daily and does not consider that remarkable. Claude Code, Cursor, Codex, or similar is in the inner loop, not on trial.",[173,424,425],{},"They reach for AI-first tools by default and expect their vendors to be agent-native: MCP servers, agent-readable docs, a setup you can hand to the agent.",[173,427,428],{},"They have already crossed the trust threshold Polylane depends on: they are comfortable with an agent reading their code, querying their infrastructure, and opening pull requests, as long as they review and merge.",[173,430,431],{},"AI-pilled is not brainless tokenmaxxing. These teams hold judgment, review everything, and are ruthless about noise. The existing anti-persona still stands: anyone who wants a fully hands-off replacement for engineering judgment is out.",[42,433,435],{"id":434},"why-this-is-the-icp","Why this is the ICP",[170,437,438,441,444,447],{},[173,439,440],{},"These teams will outperform everyone else. They move faster, and betting on the winners compounds.",[173,442,443],{},"They have strong opinions about what they need, so they pull the product in the right direction instead of dragging it toward feature checklists.",[173,445,446],{},"They are the teams with the problem Polylane solves. Coding agents multiply code, deploys, and production surface per engineer without multiplying ops attention. The gap between what an AI-pilled team ships and what it can watch is the wedge.",[173,448,449],{},"The product only works for them. The whole loop, agents that read your code, watch your infrastructure, investigate, and fix, presumes a team willing to let an agent do real work. A team that is not AI-pilled stalls at the first rung of the connect ladder.",[42,451,453],{"id":452},"who-qualifies","Who qualifies",[58,455,456,465],{},[61,457,458],{},[64,459,460,462],{},[67,461,277],{},[67,463,464],{},"ICP?",[83,466,467,475,482,489,496],{},[64,468,469,472],{},[88,470,471],{},"Startup building an AI-first product, zero users",[88,473,474],{},"Yes",[64,476,477,480],{},[88,478,479],{},"Startup building a non-AI product using AI tools, zero users",[88,481,474],{},[64,483,484,487],{},[88,485,486],{},"High-growth startup using AI tools",[88,488,474],{},[64,490,491,494],{},[88,492,493],{},"Enterprise software team using AI tools",[88,495,474],{},[64,497,498,501],{},[88,499,500],{},"AI-pilled hobbyist, no intent to commercialize",[88,502,503],{},"No, but welcome to go nuts on the free tier",[35,505,506],{},[201,507],{"alt":508,"src":509},"Whether a team qualifies as the ICP","\u002Fdiagrams\u002Ficp-qualifies.svg",[42,511,513],{"id":512},"scale-is-not-the-qualifier","Scale is not the qualifier",[35,515,516,517,520],{},"The old instinct was to qualify on stage: high-growth startups. The qualifier is temperament, not headcount. A four-person seed team and a platform team inside an enterprise both qualify if they ship with agents and want agents watching production. What still disqualifies is unchanged in the ",[49,518,362],{"href":519},"\u002Foverview#anti-personas",": procurement-led buying, dashboard-staring, legacy datacenter estates, non-GitHub teams.",[42,522,524],{"id":523},"how-the-icp-maps-to-the-personas","How the ICP maps to the personas",[35,526,527,528,532],{},"The ICP describes which teams; the personas describe who inside them. All four personas already share the trait (",[49,529,531],{"href":530},"\u002Foverview#what-all-personas-share","what all personas share","): they use an AI coding agent daily. AI-pilledness is the cut across every persona, at every scale:",[170,534,535,540,545,550],{},[173,536,537,539],{},[49,538,13],{"href":14}," is an AI-pilled team of one with intent to commercialize. The hobbyist version of Pete, building for fun with no commercial intent, is the free-tier \"no\" row above.",[173,541,542,544],{},[49,543,17],{"href":18}," is the AI-pilled team's heaviest user and its informal tooling gatekeeper.",[173,546,547,549],{},[49,548,21],{"href":22}," is the buyer who made her team AI-pilled on purpose and buys leverage instead of headcount.",[173,551,552,554],{},[49,553,25],{"href":26}," is the proof that \"any scale\" reaches into the enterprise: an AI-pilled platform team inside a large org qualifies even though the procurement-led version of the same org does not.",[42,556,558],{"id":557},"what-this-changes","What this changes",[35,560,561],{},"Nothing about the motion: bottom-up, self-serve, win developers one at a time. What it sharpens is qualification and messaging. Lead with the agent-native surface (MCP, the one-prompt setup, autofix through the coding agent the team already uses), spend in the channels where AI-pilled teams already are (coding-agent communities, MCP directories, build-in-public circles), and stop qualifying on growth stage or company size.",{"title":382,"searchDepth":383,"depth":384,"links":563},[564,565,566,567,568,569],{"id":416,"depth":384,"text":417},{"id":434,"depth":384,"text":435},{"id":452,"depth":384,"text":453},{"id":512,"depth":384,"text":513},{"id":523,"depth":384,"text":524},{"id":557,"depth":384,"text":558},"icp","The ideal customer is a software team that is happy using AI-first tools, at any scale. Not teams building AI products; teams that build with AI.",{},{"title":9},{"title":402,"description":571},"HCvek0g5EYnT97SMcoTFw_2sH-xOVG10FGFRCYegs8k",{"id":577,"title":95,"body":578,"cover":393,"description":1275,"extension":395,"meta":1276,"navigation":1277,"path":14,"persona":1278,"seo":1300,"stem":15,"__hash__":1301},"personas\u002F3.pete-the-indie-hacker.md",{"type":32,"value":579,"toc":1260},[580,584,646,650,653,659,663,878,882,896,900,1058,1061,1065,1127,1130,1134,1151,1154,1158,1172,1176,1179,1185,1188,1192,1209,1215,1219,1230,1234,1242,1246],[42,581,583],{"id":582},"snapshot","Snapshot",[58,585,586,596],{},[61,587,588],{},[64,589,590,593],{},[67,591,592],{},"Fact",[67,594,595],{},"Detail",[83,597,598,606,614,622,630,638],{},[64,599,600,603],{},[88,601,602],{},"Age",[88,604,605],{},"16-38",[64,607,608,611],{},[88,609,610],{},"Team size",[88,612,613],{},"Solo: product, support, billing, and infrastructure are one person",[64,615,616,619],{},[88,617,618],{},"Company",[88,620,621],{},"One to three products in production, at least one making money",[64,623,624,627],{},[88,625,626],{},"Revenue",[88,628,629],{},"$0-$30k MRR; every subscription re-justified monthly",[64,631,632,635],{},[88,633,634],{},"Location",[88,636,637],{},"Anywhere: Lisbon, Austin, Bali, Berlin, Lagos; often nomadic",[64,639,640,643],{},[88,641,642],{},"Tell",[88,644,645],{},"Signs up with a personal email; the workspace is \"Pete's Workspace\"",[42,647,649],{"id":648},"a-day-in-their-life","A day in their life",[35,651,652],{},"Wakes up, checks Stripe before coffee. Scrolls X, replies to a customer, ships a feature their coding agent mostly wrote, deploys straight to production at 11pm because there is no one to ask. There is no staging environment worth the name, no runbook, and no monitoring beyond the platform dashboard they forget to open. When something breaks, the discovery mechanism is a customer email, a refund request, or a dip on the revenue graph. The worst incidents are the quiet ones: a cron job that stopped three weeks ago, a queue silently retrying forever.",[35,654,655],{},[201,656],{"alt":657,"src":658},"Pete's desk at 4am: laptop glow, cold coffee, city lights","\u002Fart\u002Fpete-scene.jpg",[42,660,662],{"id":661},"stack-and-tools","Stack and tools",[58,664,665,675],{},[61,666,667],{},[64,668,669,672],{},[67,670,671],{},"Tool",[67,673,674],{},"The job it does",[83,676,677,688,699,710,726,737,753,764,775,791,802,813,824,835,851,862],{},[64,678,679,685],{},[88,680,681,683],{},[201,682],{"alt":683,"src":684},"TypeScript","\u002Flogos\u002Ftypescript.svg",[88,686,687],{},"The whole product in one language, end to end",[64,689,690,696],{},[88,691,692,694],{},[201,693],{"alt":694,"src":695},"Cloudflare","\u002Flogos\u002Fcloudflare.svg",[88,697,698],{},"Workers, Pages, D1, R2, KV, Queues: often the entire product",[64,700,701,707],{},[88,702,703,705],{},[201,704],{"alt":705,"src":706},"Vercel","\u002Flogos\u002Fvercel.svg",[88,708,709],{},"The other common home; deploys straight from the repo",[64,711,712,723],{},[88,713,714,718,719,721],{},[201,715],{"alt":716,"src":717},"Fly.io","\u002Flogos\u002Ffly.svg","Fly.io \u002F ",[201,720],{"alt":721,"src":722},"Render","\u002Flogos\u002Frender.svg",[88,724,725],{},"A container or a cron when something will not fit a Worker",[64,727,728,734],{},[88,729,730,732],{},[201,731],{"alt":732,"src":733},"Supabase","\u002Flogos\u002Fsupabase.svg",[88,735,736],{},"Postgres, auth, and storage in one signup",[64,738,739,750],{},[88,740,741,745,746,748],{},[201,742],{"alt":743,"src":744},"PlanetScale","\u002Flogos\u002Fplanetscale.svg","PlanetScale \u002F ",[201,747],{"alt":748,"src":749},"Turso","\u002Flogos\u002Fturso.svg",[88,751,752],{},"The database once it needs to be serious, or SQLite at the edge",[64,754,755,761],{},[88,756,757,759],{},[201,758],{"alt":759,"src":760},"Upstash","\u002Flogos\u002Fupstash.svg",[88,762,763],{},"Redis and queues, paid by the request",[64,765,766,772],{},[88,767,768,770],{},[201,769],{"alt":770,"src":771},"GitHub","\u002Flogos\u002Fgithub.svg",[88,773,774],{},"Everything; deploy config lives next to the code",[64,776,777,788],{},[88,778,779,783,784,786],{},[201,780],{"alt":781,"src":782},"Claude","\u002Flogos\u002Fclaude.svg","Claude Code \u002F ",[201,785],{"alt":786,"src":787},"Cursor","\u002Flogos\u002Fcursor.svg",[88,789,790],{},"Writes most of the code; they review less of it than they admit",[64,792,793,799],{},[88,794,795,797],{},[201,796],{"alt":797,"src":798},"OpenAI","\u002Flogos\u002Fopenai.svg",[88,800,801],{},"The API behind whatever the product's AI feature is this month",[64,803,804,810],{},[88,805,806,808],{},[201,807],{"alt":808,"src":809},"Stripe","\u002Flogos\u002Fstripe.svg",[88,811,812],{},"Revenue, checked before coffee",[64,814,815,821],{},[88,816,817,819],{},[201,818],{"alt":819,"src":820},"Resend","\u002Flogos\u002Fresend.svg",[88,822,823],{},"Transactional email in ten minutes",[64,825,826,832],{},[88,827,828,830],{},[201,829],{"alt":830,"src":831},"Clerk","\u002Flogos\u002Fclerk.svg",[88,833,834],{},"Auth they refuse to build themselves",[64,836,837,848],{},[88,838,839,843,844,846],{},[201,840],{"alt":841,"src":842},"PostHog","\u002Flogos\u002Fposthog.svg","PostHog \u002F ",[201,845],{"alt":846,"src":847},"Plausible","\u002Flogos\u002Fplausible.svg",[88,849,850],{},"Just enough analytics to see the graph dip",[64,852,853,859],{},[88,854,855,857],{},[201,856],{"alt":857,"src":858},"Notion","\u002Flogos\u002Fnotion.svg",[88,860,861],{},"The doc that functions as the company",[64,863,864,875],{},[88,865,866,870,871,873],{},[201,867],{"alt":868,"src":869},"Axiom","\u002Flogos\u002Faxiom.svg","Axiom \u002F ",[201,872],{"alt":873,"src":874},"Better Stack","\u002Flogos\u002Fbetterstack.svg",[88,876,877],{},"Free-tier logs and an uptime check; anything heavier is enterprise prices for enterprise problems",[42,879,881],{"id":880},"goals-and-motivations","Goals and motivations",[170,883,884,887,890,893],{},[173,885,886],{},"Keep the products alive and the revenue graph up with minimum operational attention.",[173,888,889],{},"Wake up to resolved problems, not alerts. They do not want a monitoring practice; they want the outcome of one.",[173,891,892],{},"Look more professional than a one-person shop: fast incident response makes a solo product feel like a company.",[173,894,895],{},"Stay in flow. Anything that demands configuration, threshold tuning, or dashboard-watching is a tax on shipping.",[42,897,899],{"id":898},"where-they-hang-out","Where they hang out",[58,901,902,912],{},[61,903,904],{},[64,905,906,909],{},[67,907,908],{},"Where",[67,910,911],{},"What it is to them",[83,913,914,927,939,967,979,996,1019,1040],{},[64,915,916,924],{},[88,917,918],{},[49,919,923],{"href":920,"rel":921},"https:\u002F\u002Fx.com",[922],"nofollow","X\u002FTwitter",[88,925,926],{},"The build-in-public scene, revenue screenshots, launch threads. Their primary social and professional graph",[64,928,929,936],{},[88,930,931],{},[49,932,935],{"href":933,"rel":934},"https:\u002F\u002Fnews.ycombinator.com",[922],"Hacker News",[88,937,938],{},"Lurks daily, comments occasionally, launches with a Show HN",[64,940,941,964],{},[88,942,943,948,949,948,954,948,959],{},[49,944,947],{"href":945,"rel":946},"https:\u002F\u002Fwww.indiehackers.com",[922],"Indie Hackers",", ",[49,950,953],{"href":951,"rel":952},"https:\u002F\u002Fwip.co",[922],"WIP.co",[49,955,958],{"href":956,"rel":957},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FSaaS\u002F",[922],"r\u002FSaaS",[49,960,963],{"href":961,"rel":962},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FSideProject\u002F",[922],"r\u002FSideProject",[88,965,966],{},"Peer group and accountability",[64,968,969,976],{},[88,970,971],{},[49,972,975],{"href":973,"rel":974},"https:\u002F\u002Fwww.producthunt.com",[922],"Product Hunt",[88,977,978],{},"Launch days, theirs and others'",[64,980,981,993],{},[88,982,983,948,988],{},[49,984,987],{"href":985,"rel":986},"https:\u002F\u002Fdiscord.cloudflare.com",[922],"Cloudflare Developers Discord",[49,989,992],{"href":990,"rel":991},"https:\u002F\u002Fcommunity.vercel.com",[922],"Vercel community",[88,994,995],{},"Platform communities for whatever they build with",[64,997,998,1001],{},[88,999,1000],{},"YouTube",[88,1002,1003,948,1008,948,1013,1018],{},[49,1004,1007],{"href":1005,"rel":1006},"https:\u002F\u002Fwww.youtube.com\u002F@t3dotgg",[922],"Theo (t3.gg)",[49,1009,1012],{"href":1010,"rel":1011},"https:\u002F\u002Fwww.youtube.com\u002F@Fireship",[922],"Fireship",[49,1014,1017],{"href":1015,"rel":1016},"https:\u002F\u002Fwww.youtube.com\u002F@ThePrimeagen",[922],"ThePrimeagen"," clips",[64,1020,1021,1024],{},[88,1022,1023],{},"Podcasts",[88,1025,1026,948,1030,948,1035],{},[49,1027,947],{"href":1028,"rel":1029},"https:\u002F\u002Fwww.indiehackers.com\u002Fpodcast",[922],[49,1031,1034],{"href":1032,"rel":1033},"https:\u002F\u002Fwww.mfmpod.com",[922],"My First Million",[49,1036,1039],{"href":1037,"rel":1038},"https:\u002F\u002Fsyntax.fm",[922],"Syntax",[64,1041,1042,1045],{},[88,1043,1044],{},"Newsletters",[88,1046,1047,948,1052,1057],{},[49,1048,1051],{"href":1049,"rel":1050},"https:\u002F\u002Ftldr.tech",[922],"TLDR",[49,1053,1056],{"href":1054,"rel":1055},"https:\u002F\u002Fbytes.dev",[922],"Bytes",", platform changelogs",[35,1059,1060],{},"They follow individual builders and founding engineers, not brands; founder-posted content outperforms company accounts with them by a wide margin. In person, rarely: a local indie hacker meetup, maybe MicroConf once. The internet is the venue.",[42,1062,1064],{"id":1063},"how-to-reach-them","How to reach them",[58,1066,1067,1077],{},[61,1068,1069],{},[64,1070,1071,1074],{},[67,1072,1073],{},"What works",[67,1075,1076],{},"Why it lands",[83,1078,1079,1087,1095,1103,1111,1119],{},[64,1080,1081,1084],{},[88,1082,1083],{},"Marketplace listings on Cloudflare and Vercel",[88,1085,1086],{},"Discovered at the exact moment they are wiring up infrastructure",[64,1088,1089,1092],{},[88,1090,1091],{},"Founder-led content on X and HN",[88,1093,1094],{},"War stories, real incident writeups, product progress. They buy from people, not brands",[64,1096,1097,1100],{},[88,1098,1099],{},"The shareable topology map",[88,1101,1102],{},"\"Here is what an agent can see in my Cloudflare account\" is exactly the artifact they screenshot and share",[64,1104,1105,1108],{},[88,1106,1107],{},"Show HN and Product Hunt launches",[88,1109,1110],{},"A genuinely free tier and no credit card removes every excuse",[64,1112,1113,1116],{},[88,1114,1115],{},"SEO for the 1am searches",[88,1117,1118],{},"\"cloudflare workers monitoring\", \"vercel cron failed silently\"",[64,1120,1121,1124],{},[88,1122,1123],{},"Host-read sponsorships",[88,1125,1126],{},"The YouTube\u002Fpodcast circuit above, read by the host, not a pre-roll",[35,1128,1129],{},"What fails: cold email and LinkedIn anything (they live on X), gated whitepapers and \"book a demo\" (a demo request is a bounce), and enterprise social proof (they want a solo founder's testimonial, not a bank's).",[42,1131,1133],{"id":1132},"what-they-resonate-with","What they resonate with",[170,1135,1136,1139,1142,1145,1148],{},[173,1137,1138],{},"\"Nobody should be on-call in 2026\" lands perfectly, because for them on-call is not a rotation, it is a life sentence.",[173,1140,1141],{},"Small, sharp tools made by small, opinionated teams. Linear, Raycast, Fly.io, Plausible aesthetics: dense, fast, no fluff.",[173,1143,1144],{},"Pay-for-value pricing with a real free tier. Flat price plus usage they can see. They deeply distrust per-seat and per-host pricing.",[173,1146,1147],{},"Underdog and craftsmanship narratives. A founder who ships in public and answers their email personally.",[173,1149,1150],{},"Radical transparency: public roadmaps, honest postmortems, changelogs with personality.",[35,1152,1153],{},"What turns them off: AI hype language without evidence, \"contact sales\", per-seat pricing for a team of one, tools that need a week of setup, anything that emails too much.",[42,1155,1157],{"id":1156},"hobbies-and-personality","Hobbies and personality",[170,1159,1160,1163,1166,1169],{},[173,1161,1162],{},"Their side projects are the hobby; building is what they do to relax, which is also the problem.",[173,1164,1165],{},"Typical off-screen interests: cycling or bouldering, specialty coffee, mechanical keyboards, gaming (factory and strategy games disproportionately), home automation and a modest self-hosting habit.",[173,1167,1168],{},"Personality: optimistic, scrappy, impatient, allergic to process. High agency, low tolerance for friction. Makes buying decisions in minutes, alone, usually at night.",[173,1170,1171],{},"Financially self-reliant and proud of it; the flip side is cost anxiety about every recurring charge.",[42,1173,1175],{"id":1174},"journey-through-the-product","Journey through the product",[35,1177,1178],{},"The whole journey happens in one sitting, alone, usually at night. The first detected issue is the fork in the road: it either gets screenshotted or the tab gets closed.",[35,1180,1181],{},[201,1182],{"alt":1183,"src":1184},"Pete's journey through the product","\u002Fdiagrams\u002Fpete-journey.svg",[35,1186,1187],{},"They live mostly outside the console afterward: the weekly digest, an issue-detected email, autofix pull requests appearing in GitHub, the occasional production question asked from the editor over MCP. The upgrade is never a decision meeting; it is the morning after the free tier held back a second real incident, or a bad week drained the credit pool while things were on fire.",[42,1189,1191],{"id":1190},"feature-affinities","Feature affinities",[170,1193,1194,1197,1200,1203,1206],{},[173,1195,1196],{},"The topology map and the first detected issue: first value, and the thing they show others.",[173,1198,1199],{},"Autofix pull requests: a fix waiting for review, mergeable from a phone.",[173,1201,1202],{},"Autonomous rollback on their deployment platform, once trust is earned; it is the closest thing to \"the site heals itself\".",[173,1204,1205],{},"The weekly digest as their entire operations review.",[173,1207,1208],{},"Setup through the coding agent they already use; zero new tools to learn.",[35,1210,1211],{},[201,1212],{"alt":1213,"src":1214},"While Pete sleeps, something small and diligent fixes production","\u002Fcartoons\u002Fpete-cartoon.jpg",[42,1216,1218],{"id":1217},"objections-and-friction","Objections and friction",[170,1220,1221,1224,1227],{},[173,1222,1223],{},"Cloud token permissions feel scary: they are being asked to hand over keys to their livelihood. Read-only by default, minimal scopes, and plain-English explanations of every permission are what get them through the connect screen.",[173,1225,1226],{},"Cost anxiety: credits are abstract until the usage page makes them concrete. The $80 step needs a story like \"this caught the thing that would have cost me a weekend\".",[173,1228,1229],{},"Zero noise tolerance: one false alarm is forgiven, two and the emails get filtered, three and they churn silently.",[42,1231,1233],{"id":1232},"what-success-looks-like","What success looks like",[170,1235,1236,1239],{},[173,1237,1238],{},"A problem was detected, investigated, and a correct fix PR was waiting before they knew anything was wrong. They tweet about it, which is also the growth loop.",[173,1240,1241],{},"The weekly digest becomes the only operations ritual they have, and it is enough.",[42,1243,1245],{"id":1244},"in-their-own-words","In their own words",[170,1247,1248,1251,1254,1257],{},[173,1249,1250],{},"\"I don't want observability. I want to not think about this.\"",[173,1252,1253],{},"\"If connecting takes more than ten minutes, I'm out.\"",[173,1255,1256],{},"\"Show me the permissions you're asking for and why, in English.\"",[173,1258,1259],{},"\"$80 is a lot until the night it isn't.\"",{"title":382,"searchDepth":383,"depth":384,"links":1261},[1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274],{"id":582,"depth":384,"text":583},{"id":648,"depth":384,"text":649},{"id":661,"depth":384,"text":662},{"id":880,"depth":384,"text":881},{"id":898,"depth":384,"text":899},{"id":1063,"depth":384,"text":1064},{"id":1132,"depth":384,"text":1133},{"id":1156,"depth":384,"text":1157},{"id":1174,"depth":384,"text":1175},{"id":1190,"depth":384,"text":1191},{"id":1217,"depth":384,"text":1218},{"id":1232,"depth":384,"text":1233},{"id":1244,"depth":384,"text":1245},"Solo builder on Cloudflare or Vercel who is their own on-call and finds out about outages from customers.",{},{"title":13},{"name":13,"photo":1279,"archetype":98,"pronouns":1280,"plan":101,"role":1281,"quote":1282,"accent":1283,"order":383,"pains":1284,"aha":1294},"\u002Fportraits\u002Fpete.jpg","they\u002Fthem","Core","I found out the checkout was broken because a customer DMed me on X. It had been down for nine hours.","amber",[1285,1288,1291],{"title":1286,"detail":1287},"Downtime is discovered by customers","There is no pager. Outages arrive as refund requests and DMs on X, hours late.",{"title":1289,"detail":1290},"AI-written code breaks in production","Bugs surface live, in code they never read line by line, and are harder to debug for it.",{"title":1292,"detail":1293},"Things fail silently","Crons and queues just stop. Modern PaaS has no native ops tooling to notice, and neither do they.",{"moment":1295,"anticipation":1296},"They wake up to a problem that fixed itself: detected overnight, investigated, and waiting as a pull request they can merge from their phone.",[1297,1298,1299],"\"Fix production before you wake up\" is the whole pitch: repeat it at signup, on the topology map, and in the first digest.","Treat the first detected issue as a preview of that morning: here is what the agent can already see; connect GitHub and next time it will fix, not just find.","Frame every connect nudge as a countdown: each rung removes one reason the fix could not have shipped by itself.",{"title":95,"description":1275},"tQE_qvlPEZUaKZwT25hNo0Y7OJupJk6hrYS9GEKBMkM",{"id":1303,"title":114,"body":1304,"cover":393,"description":1918,"extension":395,"meta":1919,"navigation":1920,"path":18,"persona":1921,"seo":1943,"stem":19,"__hash__":1944},"personas\u002F4.max-the-product-engineer.md",{"type":32,"value":1305,"toc":1902},[1306,1308,1371,1375,1378,1384,1386,1565,1567,1581,1585,1710,1713,1717,1769,1772,1776,1793,1796,1798,1812,1814,1817,1823,1826,1828,1845,1851,1853,1864,1868,1876,1878,1886,1888],[42,1307,583],{"id":582},[58,1309,1310,1318],{},[61,1311,1312],{},[64,1313,1314,1316],{},[67,1315,592],{},[67,1317,595],{},[83,1319,1320,1327,1335,1342,1349,1357,1364],{},[64,1321,1322,1324],{},[88,1323,602],{},[88,1325,1326],{},"20-34",[64,1328,1329,1332],{},[88,1330,1331],{},"Role",[88,1333,1334],{},"Junior to senior full-stack engineer, shipping across the whole stack",[64,1336,1337,1339],{},[88,1338,618],{},[88,1340,1341],{},"5-15 person startup, seed to Series A",[64,1343,1344,1346],{},[88,1345,610],{},[88,1347,1348],{},"3-8 engineers, no dedicated ops; production is everyone's job",[64,1350,1351,1354],{},[88,1352,1353],{},"On-call",[88,1355,1356],{},"Informal: whoever saw the alert first, and it is always Max",[64,1358,1359,1361],{},[88,1360,634],{},[88,1362,1363],{},"Hybrid or remote from a hub city: SF, London, Berlin, Toronto, Bangalore",[64,1365,1366,1368],{},[88,1367,642],{},[88,1369,1370],{},"Rarely the first adopter, heaviest user within a month; the agent wrote half of every PR",[42,1372,1374],{"id":1373},"a-day-in-his-life","A day in his life",[35,1376,1377],{},"Standup, then headphones on. Ships a PR before lunch, reviews two more, unblocks a teammate in Slack. The interruptions are the story: a Sentry spike that turns out to be nothing, a customer report that turns out to be something, twenty minutes reconstructing what changed on the day the latency graph bent. Evenings are usually his unless it is his unofficial week, in which case his phone sits face-up on the dinner table. His private metric is uninterrupted hours, and he counts them.",[35,1379,1380],{},[201,1381],{"alt":1382,"src":1383},"Max's desk at dusk: two monitors of diffs, headphones down","\u002Fart\u002Fmax-scene.jpg",[42,1385,662],{"id":661},[58,1387,1388,1396],{},[61,1389,1390],{},[64,1391,1392,1394],{},[67,1393,671],{},[67,1395,674],{},[83,1397,1398,1412,1421,1430,1439,1450,1459,1468,1479,1492,1503,1514,1525,1534,1545,1556],{},[64,1399,1400,1409],{},[88,1401,1402,1404,1405,1407],{},[201,1403],{"alt":683,"src":684},"TypeScript \u002F ",[201,1406],{"alt":1407,"src":1408},"Python","\u002Flogos\u002Fpython.svg",[88,1410,1411],{},"TypeScript across the stack; Python wherever data or AI lives",[64,1413,1414,1418],{},[88,1415,1416,770],{},[201,1417],{"alt":770,"src":771},[88,1419,1420],{},"Code, reviews, and the CI he mostly trusts",[64,1422,1423,1427],{},[88,1424,1425,705],{},[201,1426],{"alt":705,"src":706},[88,1428,1429],{},"The frontend",[64,1431,1432,1436],{},[88,1433,1434,694],{},[201,1435],{"alt":694,"src":695},[88,1437,1438],{},"Workers behind the APIs",[64,1440,1441,1447],{},[88,1442,1443,718,1445,721],{},[201,1444],{"alt":716,"src":717},[201,1446],{"alt":721,"src":722},[88,1448,1449],{},"The one service that needed a real box",[64,1451,1452,1456],{},[88,1453,1454,743],{},[201,1455],{"alt":743,"src":744},[88,1457,1458],{},"Or Postgres, depending on who set it up",[64,1460,1461,1465],{},[88,1462,1463,759],{},[201,1464],{"alt":759,"src":760},[88,1466,1467],{},"Redis, somewhere, doing something important",[64,1469,1470,1476],{},[88,1471,1472,1474],{},[201,1473],{"alt":1474,"src":1475},"Sentry","\u002Flogos\u002Fsentry.svg",[88,1477,1478],{},"Errors: the first tab of every incident",[64,1480,1481,1489],{},[88,1482,1483,870,1485,1487],{},[201,1484],{"alt":868,"src":869},[201,1486],{"alt":1487,"src":1488},"Honeycomb","\u002Flogos\u002Fhoneycomb.svg",[88,1490,1491],{},"The log vendor only two people can query well, and he is not one of them",[64,1493,1494,1500],{},[88,1495,1496,1498],{},[201,1497],{"alt":1498,"src":1499},"Datadog","\u002Flogos\u002Fdatadog.svg",[88,1501,1502],{},"At the last job; he still has opinions",[64,1504,1505,1511],{},[88,1506,1507,1509],{},[201,1508],{"alt":1509,"src":1510},"Slack","\u002Flogos\u002Fslack.svg",[88,1512,1513],{},"The operating system of the company; incidents happen in a channel, not in a tool",[64,1515,1516,1522],{},[88,1517,1518,783,1520,786],{},[201,1519],{"alt":781,"src":782},[201,1521],{"alt":786,"src":787},[88,1523,1524],{},"In the editor all day",[64,1526,1527,1531],{},[88,1528,1529,797],{},[201,1530],{"alt":797,"src":798},[88,1532,1533],{},"The features he ships are increasingly built on it",[64,1535,1536,1542],{},[88,1537,1538,1540],{},[201,1539],{"alt":1540,"src":1541},"Linear","\u002Flogos\u002Flinear.svg",[88,1543,1544],{},"Tickets",[64,1546,1547,1553],{},[88,1548,1549,1551],{},[201,1550],{"alt":1551,"src":1552},"Figma","\u002Flogos\u002Ffigma.svg",[88,1554,1555],{},"Tabs he did not choose",[64,1557,1558,1562],{},[88,1559,1560,857],{},[201,1561],{"alt":857,"src":858},[88,1563,1564],{},"The wiki everyone means to update",[42,1566,881],{"id":880},[170,1568,1569,1572,1575,1578],{},[173,1570,1571],{},"Protect his maker time. Every tool is judged by interruptions removed minus interruptions added.",[173,1573,1574],{},"Know the production impact of a change before merge, not after.",[173,1576,1577],{},"Get answers about production without leaving the editor or learning another query language.",[173,1579,1580],{},"Be seen as the engineer who ships fast and does not break things, without becoming the de facto ops person.",[42,1582,1584],{"id":1583},"where-he-hangs-out","Where he hangs out",[58,1586,1587,1595],{},[61,1588,1589],{},[64,1590,1591,1593],{},[67,1592,908],{},[67,1594,911],{},[83,1596,1597,1608,1622,1645,1657,1665,1683],{},[64,1598,1599,1605],{},[88,1600,1601],{},[49,1602,770],{"href":1603,"rel":1604},"https:\u002F\u002Fgithub.com",[922],[88,1606,1607],{},"Source, issues, and PRs of dependencies: his actual social network",[64,1609,1610,1619],{},[88,1611,1612,1615,1616],{},[49,1613,923],{"href":920,"rel":1614},[922]," and ",[49,1617,935],{"href":933,"rel":1618},[922],[88,1620,1621],{},"Dev circles, more reader than poster; almost never comments",[64,1623,1624,1627],{},[88,1625,1626],{},"Framework and tool Discords",[88,1628,1629,948,1634,948,1639,1644],{},[49,1630,1633],{"href":1631,"rel":1632},"https:\u002F\u002Fnextjs.org\u002Fdiscord",[922],"Next.js",[49,1635,1638],{"href":1636,"rel":1637},"https:\u002F\u002Fforum.cursor.com",[922],"Cursor forum",[49,1640,1643],{"href":1641,"rel":1642},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\u002Fdiscussions",[922],"Claude Code discussions",", whatever the stack demands this quarter",[64,1646,1647,1654],{},[88,1648,1649],{},[49,1650,1653],{"href":1651,"rel":1652},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FExperiencedDevs\u002F",[922],"r\u002FExperiencedDevs",[88,1655,1656],{},"Mostly to confirm everyone else's standup is also broken",[64,1658,1659,1662],{},[88,1660,1661],{},"Team Slack",[88,1663,1664],{},"Where he actually discovers tools: someone pastes a link and says \"this is good\"",[64,1666,1667,1669],{},[88,1668,1044],{},[88,1670,1671,948,1674,948,1677,1682],{},[49,1672,1051],{"href":1049,"rel":1673},[922],[49,1675,1056],{"href":1054,"rel":1676},[922],[49,1678,1681],{"href":1679,"rel":1680},"https:\u002F\u002Fwww.pointer.io",[922],"Pointer",", one framework newsletter",[64,1684,1685,1688],{},[88,1686,1687],{},"YouTube and podcasts",[88,1689,1690,948,1694,948,1697,1700,1701,1615,1704,1709],{},[49,1691,1693],{"href":1005,"rel":1692},[922],"Theo",[49,1695,1017],{"href":1015,"rel":1696},[922],[49,1698,1012],{"href":1010,"rel":1699},[922],", conference talks at 1.5x; ",[49,1702,1039],{"href":1037,"rel":1703},[922],[49,1705,1708],{"href":1706,"rel":1707},"https:\u002F\u002Fchangelog.com\u002Fjsparty",[922],"JS Party"," on the commute",[35,1711,1712],{},"He reads the changelogs of tools he likes for fun, which he knows is a personality trait. In person: a local meetup a few times a year, one conference if the company pays, hallway track over talks.",[42,1714,1716],{"id":1715},"how-to-reach-him","How to reach him",[58,1718,1719,1727],{},[61,1720,1721],{},[64,1722,1723,1725],{},[67,1724,1073],{},[67,1726,1076],{},[83,1728,1729,1737,1745,1753,1761],{},[64,1730,1731,1734],{},[88,1732,1733],{},"The product inside his workflow",[88,1735,1736],{},"The PR comment and check run are the ad; one correct \"this will break production\" verdict converts him better than any campaign",[64,1738,1739,1742],{},[88,1740,1741],{},"Word of mouth in team Slack",[88,1743,1744],{},"The highest-trust channel that exists for him",[64,1746,1747,1750],{},[88,1748,1749],{},"Coding-agent ecosystems",[88,1751,1752],{},"MCP directories, editor-integration showcases, \"works with the agent you already use\" framing",[64,1754,1755,1758],{},[88,1756,1757],{},"Demo-driven dev content",[88,1759,1760],{},"Newsletters and the YouTube circuit, showing the editor-to-production loop",[64,1762,1763,1766],{},[88,1764,1765],{},"Excellent docs",[88,1767,1768],{},"He reads docs before landing pages, and judges the product by them",[35,1770,1771],{},"What fails: webinars, gated content, and sales calls (he has never booked a demo in his life), LinkedIn outreach (checked twice a year), and feature-checklist comparisons against Datadog (he does not own that budget and does not care).",[42,1773,1775],{"id":1774},"what-he-resonates-with","What he resonates with",[170,1777,1778,1781,1784,1787,1790],{},[173,1779,1780],{},"Craft and developer experience: keyboard-first, fast, dense. Linear is the reference product; he will forgive missing features before he forgives slowness.",[173,1782,1783],{},"Tools that do the work instead of giving him another place to look. \"The agent queries the logs so you don't learn another query language\" is precisely his wish.",[173,1785,1786],{},"Respect for his attention: one comment per PR that updates in place beats ten comments; silence when there is nothing to say.",[173,1788,1789],{},"Evidence over claims: show the investigation trail, the hypotheses, the log lines. He trusts receipts, not confidence.",[173,1791,1792],{},"Craftsmanship in copy: precise, unhyped, a little dry.",[35,1794,1795],{},"What turns him off: bots that spam PRs, AI sparkle-branding, dashboards with forty widgets, anything that adds a mandatory process step, tools that message him more than his teammates do.",[42,1797,1157],{"id":1156},[170,1799,1800,1803,1806,1809],{},[173,1801,1802],{},"Bouldering or running; the climbing-gym-to-engineer pipeline is real in his office.",[173,1804,1805],{},"Cooking seriously on weekends, gaming (roguelikes and co-op with old friends), live music, a mechanical keyboard he over-researched.",[173,1807,1808],{},"Side project in a permanently 80%-done state, which he is at peace with.",[173,1810,1811],{},"Personality: pragmatic, quietly opinionated, high standards, low drama. Skeptical of new tools for a week, then either uninstalls or evangelizes. The team's informal tooling gatekeeper: if Max adopts it, the team follows.",[42,1813,1175],{"id":1174},[35,1815,1816],{},"He never chooses the product; it shows up on his pull request. Everything depends on that first verdict being right.",[35,1818,1819],{},[201,1820],{"alt":1821,"src":1822},"Max's journey through the product","\u002Fdiagrams\u002Fmax-journey.svg",[35,1824,1825],{},"The details matter to him at every step: docs-only PRs pass instantly (he notices), the comment updates in place instead of stacking, and incident threads arrive with the hypotheses that were tested and ruled out. He takes the diagnosis and fixes it himself, or hands it to autofix and reviews the PR.",[42,1827,1191],{"id":1190},[170,1829,1830,1833,1836,1839,1842],{},[173,1831,1832],{},"PR change intelligence: the verdict on every pull request, in the tool he already lives in.",[173,1834,1835],{},"MCP in the editor, read scope first; he enables writes only after seeing the confirmation gate work.",[173,1837,1838],{},"@Polylane in Slack, and spinning an investigation off any message in the incident channel.",[173,1840,1841],{},"Incident threads with the evidence trail: hypotheses tested, confidence, what was ruled out.",[173,1843,1844],{},"Autofix with the team's existing coding agent as the executor.",[35,1846,1847],{},[201,1848],{"alt":1849,"src":1850},"A small robot catches the deploy before it catches fire","\u002Fcartoons\u002Fmax-cartoon.jpg",[42,1852,1218],{"id":1217},[170,1854,1855,1858,1861],{},[173,1856,1857],{},"\"Another bot on my PRs\": tolerance is one useful comment. The first wrong or noisy verdict and he disables reviews for the repo, and tells the team.",[173,1859,1860],{},"Write access skepticism: reads-by-default with explicit per-action confirmation is what wins him over, and he will test the gate deliberately.",[173,1862,1863],{},"He will not learn another dashboard, another query language, or another place to check. The product has to come to his surfaces: GitHub, Slack, the editor.",[42,1865,1867],{"id":1866},"money-and-plan-behavior","Money and plan behavior",[170,1869,1870,1873],{},[173,1871,1872],{},"Rides a seat on the company's Team plan; he influences the purchase but does not make it. His demo to the CTO is a screenshot of a PR verdict that was right.",[173,1874,1875],{},"On side projects he is the Max buyer profile: single seat, high usage, wants the priority frontier-model routing.",[42,1877,1233],{"id":1232},[170,1879,1880,1883],{},[173,1881,1882],{},"A PR he was about to merge gets a fail verdict citing the exact production resource it would have broken, with reasoning one click away. He screenshots it into Slack.",[173,1884,1885],{},"His uninterrupted-hours count goes up, and the same two people stop being the ones who always see the alert first.",[42,1887,1245],{"id":1244},[170,1889,1890,1893,1896,1899],{},[173,1891,1892],{},"\"I don't want another dashboard. I want the answer where I already am.\"",[173,1894,1895],{},"\"If it comments on my PR it had better be right.\"",[173,1897,1898],{},"\"Show me what you checked, not just what you concluded.\"",[173,1900,1901],{},"\"The 3am me will forgive a lot. The 10am me will not forgive noise.\"",{"title":382,"searchDepth":383,"depth":384,"links":1903},[1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917],{"id":582,"depth":384,"text":583},{"id":1373,"depth":384,"text":1374},{"id":661,"depth":384,"text":662},{"id":880,"depth":384,"text":881},{"id":1583,"depth":384,"text":1584},{"id":1715,"depth":384,"text":1716},{"id":1774,"depth":384,"text":1775},{"id":1156,"depth":384,"text":1157},{"id":1174,"depth":384,"text":1175},{"id":1190,"depth":384,"text":1191},{"id":1217,"depth":384,"text":1218},{"id":1866,"depth":384,"text":1867},{"id":1232,"depth":384,"text":1233},{"id":1244,"depth":384,"text":1245},"Full-stack engineer at a small startup, ships daily with a coding agent, dreads the pager.",{},{"title":17},{"name":17,"photo":1922,"archetype":1923,"pronouns":1924,"plan":120,"role":1281,"quote":1925,"accent":1926,"order":384,"pains":1927,"aha":1937},"\u002Fportraits\u002Fmax.jpg","Software engineer at a small startup","he\u002Fhim","I merged at 5pm, Sentry lit up at 6, and I spent the evening tab-hopping between five dashboards trying to work out which of the three deploys did it.","blue",[1928,1931,1934],{"title":1929,"detail":1930},"Most of his time is not building","Investigation, context reconstruction, and interruptions eat the week, and it is getting worse.",{"title":1932,"detail":1933},"Five tabs per incident","Errors, logs, deploys, the diff, and Slack, and none of them can see each other.",{"title":1935,"detail":1936},"Merge anxiety","He learns a change hurt production an hour after merging, from Sentry, not at review time.",{"moment":1938,"anticipation":1939},"A PR comment that says \"this will break production\", and is right, on his own code, inside his own workflow.",[1940,1941,1942],"Show the PR comment surface in every demo and screenshot; to him, it is the product.","Lead docs and launch content with the question he already asks: what will this branch do to production?","On first connect, route him to open a pull request within minutes, so the first verdict arrives while the tab is still open.",{"title":114,"description":1918},"tkOZqBt4wCogpyq1DjbKcT5hS-X5HQxA5yjjKMS0yyQ",{"id":1946,"title":133,"body":1947,"cover":393,"description":2566,"extension":395,"meta":2567,"navigation":2568,"path":22,"persona":2569,"seo":2593,"stem":23,"__hash__":2594},"personas\u002F5.laura-the-founding-cto.md",{"type":32,"value":1948,"toc":2551},[1949,1951,2006,2010,2013,2019,2023,2203,2206,2217,2219,2236,2240,2362,2365,2369,2421,2424,2428,2445,2448,2450,2467,2469,2472,2478,2481,2483,2500,2506,2508,2522,2524,2535,2537],[42,1950,583],{"id":582},[58,1952,1953,1961],{},[61,1954,1955],{},[64,1956,1957,1959],{},[67,1958,592],{},[67,1960,595],{},[83,1962,1963,1970,1977,1984,1991,1999],{},[64,1964,1965,1967],{},[88,1966,602],{},[88,1968,1969],{},"32-45",[64,1971,1972,1974],{},[88,1973,1331],{},[88,1975,1976],{},"Founding CTO or first VP Engineering; still writes code weekly, the calendar disagrees",[64,1978,1979,1981],{},[88,1980,618],{},[88,1982,1983],{},"10-40 person startup, Series A or approaching it",[64,1985,1986,1988],{},[88,1987,610],{},[88,1989,1990],{},"5-20 engineers, no SRE among them",[64,1992,1993,1996],{},[88,1994,1995],{},"Owns",[88,1997,1998],{},"Reliability, security posture, cloud spend, hiring, the tooling budget",[64,2000,2001,2003],{},[88,2002,642],{},[88,2004,2005],{},"The escalation point: when nobody knows what is wrong, they call Laura",[42,2007,2009],{"id":2008},"a-day-in-her-life","A day in her life",[35,2011,2012],{},"Back-to-back until 3pm: hiring pipeline, a board-prep doc, a vendor renewal, one architecture review she refuses to give up. Keeps a terminal open all day as an act of identity. Slack is triaged in the gaps; the #incidents channel has its own notification sound and her stomach knows it. Evenings alternate between family time and the deep work she could not get to, and an incident does not respect either. Twice a quarter she does the math on hiring an SRE, and twice a quarter the roadmap wins.",[35,2014,2015],{},[201,2016],{"alt":2017,"src":2018},"Laura's office at dusk: whiteboard sketches and the skyline","\u002Fart\u002Flaura-scene.jpg",[42,2020,2022],{"id":2021},"stack-and-situation","Stack and situation",[58,2024,2025,2034],{},[61,2026,2027],{},[64,2028,2029,2031],{},[67,2030,671],{},[67,2032,2033],{},"Why it is there",[83,2035,2036,2052,2061,2070,2079,2090,2101,2112,2121,2130,2139,2147,2160,2169,2181,2192],{},[64,2037,2038,2049],{},[88,2039,2040,1404,2042,2044,2045,2047],{},[201,2041],{"alt":683,"src":684},[201,2043],{"alt":1407,"src":1408},"Python \u002F ",[201,2046],{"alt":2047,"src":2048},"Go","\u002Flogos\u002Fgo.svg",[88,2050,2051],{},"The languages the team ships, in that order",[64,2053,2054,2058],{},[88,2055,2056,770],{},[201,2057],{"alt":770,"src":771},[88,2059,2060],{},"Source of truth; like everything else, whatever the team shipped fastest on",[64,2062,2063,2067],{},[88,2064,2065,705],{},[201,2066],{"alt":705,"src":706},[88,2068,2069],{},"The frontend surface",[64,2071,2072,2076],{},[88,2073,2074,694],{},[201,2075],{"alt":694,"src":695},[88,2077,2078],{},"Edge pieces adopted one product team at a time",[64,2080,2081,2087],{},[88,2082,2083,2085],{},[201,2084],{"alt":2085,"src":2086},"AWS","\u002Flogos\u002Faws.svg",[88,2088,2089],{},"The parts that predate taste",[64,2091,2092,2098],{},[88,2093,2094,2096],{},[201,2095],{"alt":2096,"src":2097},"Kubernetes","\u002Flogos\u002Fkubernetes.svg",[88,2099,2100],{},"A small managed cluster nobody loves",[64,2102,2103,2109],{},[88,2104,2105,2107],{},[201,2106],{"alt":2107,"src":2108},"Terraform","\u002Flogos\u002Fterraform.svg",[88,2110,2111],{},"For the AWS half, half-heartedly",[64,2113,2114,2118],{},[88,2115,2116,1474],{},[201,2117],{"alt":1474,"src":1475},[88,2119,2120],{},"Errors",[64,2122,2123,2127],{},[88,2124,2125,1498],{},[201,2126],{"alt":1498,"src":1499},[88,2128,2129],{},"The bill she renegotiates every year",[64,2131,2132,2136],{},[88,2133,2134,1509],{},[201,2135],{"alt":1509,"src":1510},[88,2137,2138],{},"Where the company happens, incidents included",[64,2140,2141,2145],{},[88,2142,2143,808],{},[201,2144],{"alt":808,"src":809},[88,2146,626],{},[64,2148,2149,2158],{},[88,2150,2151,2153,2154,2156],{},[201,2152],{"alt":1540,"src":1541},"Linear \u002F ",[201,2155],{"alt":2156,"src":2157},"Jira","\u002Flogos\u002Fjira.svg",[88,2159,1544],{},[64,2161,2162,2166],{},[88,2163,2164,857],{},[201,2165],{"alt":857,"src":858},[88,2167,2168],{},"Docs, runbooks, and the stale wiki",[64,2170,2171,2178],{},[88,2172,2173,2175,2176,797],{},[201,2174],{"alt":781,"src":782},"Claude \u002F ",[201,2177],{"alt":797,"src":798},[88,2179,2180],{},"The team's agents and the product's features",[64,2182,2183,2189],{},[88,2184,2185,2187],{},[201,2186],{"alt":2187,"src":2188},"1Password","\u002Flogos\u002F1password.svg",[88,2190,2191],{},"Secrets, shared the responsible way",[64,2193,2194,2200],{},[88,2195,2196,2198],{},[201,2197],{"alt":2198,"src":2199},"PagerDuty","\u002Flogos\u002Fpagerduty.svg",[88,2201,2202],{},"The rotation they keep meaning to set up properly",[35,2204,2205],{},"The rest of the situation, in three lines:",[170,2207,2208,2211,2214],{},[173,2209,2210],{},"Institutional knowledge lives in three heads and a stale Notion page; the person who understands the queue architecture is on holiday in August.",[173,2212,2213],{},"There is no SRE and no plan to hire one this year; reliability is a tax paid by the two or three senior engineers, one of whom is her.",[173,2215,2216],{},"Alerting either screams or stays silent; nobody trusts it, so everything escalates upward.",[42,2218,881],{"id":880},[170,2220,2221,2224,2227,2230,2233],{},[173,2222,2223],{},"Buy leverage, not headcount: something that does the first hour of every investigation before a human is interrupted.",[173,2225,2226],{},"Get the team out of her DMs: fewer \"is this normal?\" pings to her, more questions answered by a system with the context.",[173,2228,2229],{},"Turn institutional knowledge into an asset that survives departures: runbooks and tribal knowledge captured where they get applied automatically.",[173,2231,2232],{},"A defensible reliability story for the board and for enterprise customers' security questionnaires, without building a compliance program yet.",[173,2234,2235],{},"Predictable spend: flat price, visible usage, a hard cap on overage.",[42,2237,2239],{"id":2238},"where-she-hangs-out","Where she hangs out",[58,2241,2242,2250],{},[61,2243,2244],{},[64,2245,2246,2248],{},[67,2247,908],{},[67,2249,911],{},[83,2251,2252,2268,2291,2299,2309,2331,2338],{},[64,2253,2254,2265],{},[88,2255,2256,1615,2261],{},[49,2257,2260],{"href":2258,"rel":2259},"https:\u002F\u002Fwww.linkedin.com",[922],"LinkedIn",[49,2262,2264],{"href":920,"rel":2263},[922],"X",[88,2266,2267],{},"LinkedIn for the professional graph and hiring, X for the technical and founder conversation; reads daily, posts occasionally",[64,2269,2270,2273],{},[88,2271,2272],{},"Private leadership communities",[88,2274,2275,948,2280,948,2285,2290],{},[49,2276,2279],{"href":2277,"rel":2278},"https:\u002F\u002Frandsinrepose.com\u002Fwelcome-to-rands-leadership-slack\u002F",[922],"Rands Leadership",[49,2281,2284],{"href":2282,"rel":2283},"https:\u002F\u002Fctocraft.com",[922],"CTO Craft",[49,2286,2289],{"href":2287,"rel":2288},"https:\u002F\u002Fleaddev.com",[922],"LeadDev",", her accelerator's founder groups",[64,2292,2293,2296],{},[88,2294,2295],{},"A WhatsApp group of five CTO friends",[88,2297,2298],{},"Outperforms every community above",[64,2300,2301,2306],{},[88,2302,2303],{},[49,2304,935],{"href":933,"rel":2305},[922],[88,2307,2308],{},"Read with breakfast, comment drafted and deleted",[64,2310,2311,2313],{},[88,2312,1044],{},[88,2314,2315,2320,2321,2326,2327,2330],{},[49,2316,2319],{"href":2317,"rel":2318},"https:\u002F\u002Fnewsletter.pragmaticengineer.com",[922],"The Pragmatic Engineer"," as the anchor; ",[49,2322,2325],{"href":2323,"rel":2324},"https:\u002F\u002Fwww.lennysnewsletter.com",[922],"Lenny's"," for the product half of her brain; ",[49,2328,1051],{"href":1049,"rel":2329},[922],"; AI newsletters skimmed defensively",[64,2332,2333,2335],{},[88,2334,1023],{},[88,2336,2337],{},"Engineering-leadership and founder shows on the commute or run",[64,2339,2340,2343],{},[88,2341,2342],{},"Engineering blogs",[88,2344,2345,948,2349,948,2353,948,2357,2361],{},[49,2346,808],{"href":2347,"rel":2348},"https:\u002F\u002Fstripe.com\u002Fblog\u002Fengineering",[922],[49,2350,694],{"href":2351,"rel":2352},"https:\u002F\u002Fblog.cloudflare.com",[922],[49,2354,716],{"href":2355,"rel":2356},"https:\u002F\u002Ffly.io\u002Fblog\u002F",[922],[49,2358,1540],{"href":2359,"rel":2360},"https:\u002F\u002Flinear.app\u002Fblog",[922]," postmortems, forwarded to the team when good",[35,2363,2364],{},"In person: LeadDev once a year, local CTO dinners attended selectively (she knows exactly what the vendor-hosted ones are), her investors' portfolio events.",[42,2366,2368],{"id":2367},"how-to-reach-her","How to reach her",[58,2370,2371,2379],{},[61,2372,2373],{},[64,2374,2375,2377],{},[67,2376,1073],{},[67,2378,1076],{},[83,2380,2381,2389,2397,2405,2413],{},[64,2382,2383,2386],{},[88,2384,2385],{},"Bottom-up through her engineers",[88,2387,2388],{},"Max showing her a PR verdict that was right, plus a usage page that explains itself; she approves what the team already loves",[64,2390,2391,2394],{},[88,2392,2393],{},"Founder-to-founder trust",[88,2395,2396],{},"An authentic narrative, honest technical writing, a visible human; she replies to the check-in email when it reads like a person wrote it",[64,2398,2399,2402],{},[88,2400,2401],{},"The weekly digest as a forwardable artifact",[88,2403,2404],{},"If it reads like a status report she can send her cofounder, it sells itself upward",[64,2406,2407,2410],{},[88,2408,2409],{},"Warm intros",[88,2411,2412],{},"Investor and CTO networks; case studies from companies one stage ahead of hers",[64,2414,2415,2418],{},[88,2416,2417],{},"Security documentation she can skim in ten minutes",[88,2419,2420],{},"Then forward to the one engineer who will actually read it",[35,2422,2423],{},"What fails: cold outbound of any kind (she gets forty a week and has a filter for the word \"streamline\"), ROI calculators and feature matrices (she trusts her engineers' judgment over any comparison page), and enterprise theater (badges, analyst quadrants, walls of logos she has never met).",[42,2425,2427],{"id":2426},"what-she-resonates-with","What she resonates with",[170,2429,2430,2433,2436,2439,2442],{},[173,2431,2432],{},"Leverage narratives: small teams that punch above their weight because their tools do real work. The idea of agents doing the first hour of investigation is exactly the hire she cannot make.",[173,2434,2435],{},"\"Engineer attention is the scarcest resource\" framing; she has said versions of this sentence in board meetings.",[173,2437,2438],{},"Opinionated, restrained products in the Linear mold. She reads product taste as a proxy for engineering quality.",[173,2440,2441],{},"Guardrails as first-class features: read-only by default, writes gated, code changes only ever as pull requests through CI and review. Autonomy she can dial, not autonomy she has to trust blindly.",[173,2443,2444],{},"Honest pricing: flat monthly, usage visible, overage capped. She has been burned by observability bills before.",[35,2446,2447],{},"What turns her off: black-box AI claims, per-seat pricing that punishes growing the team, tools that require a services engagement to adopt, anything that positions itself as replacing her engineers rather than multiplying them.",[42,2449,1157],{"id":1156},[170,2451,2452,2455,2458,2461,2464],{},[173,2453,2454],{},"Running or cycling with the discipline of someone who calendars it; a half-marathon or a century ride once a year as proof of control over something.",[173,2456,2457],{},"Reading split between management books she is skeptical of and science fiction she is not. Chess or crosswords on the phone in queues.",[173,2459,2460],{},"Family logistics consume most non-work hours; the hobby she misses most is the side project she has not touched in two years.",[173,2462,2463],{},"Dabbles in angel investing or advising one or two startups, mostly for the deal flow of ideas.",[173,2465,2466],{},"Personality: decisive, warm but time-boxed, allergic to hype, protective of the team. Buys fast when trust is established and churns quietly but permanently when it is broken.",[42,2468,1175],{"id":1174},[35,2470,2471],{},"Adoption precedes purchase, always. The decisive moment is not a demo; it is the evening she spends configuring guardrails and deciding whether the product respects her.",[35,2473,2474],{},[201,2475],{"alt":2476,"src":2477},"Laura's journey through the product","\u002Fdiagrams\u002Flaura-journey.svg",[35,2479,2480],{},"Her recurring surfaces after the purchase: the weekly digest, the feed as an audit trail, the usage page when the 70% credit warning lands, and the incident threads she reads after the fact to judge the quality of what she bought.",[42,2482,1191],{"id":1190},[170,2484,2485,2488,2491,2494,2497],{},[173,2486,2487],{},"The weekly digest as the reliability status report she forwards to her cofounder.",[173,2489,2490],{},"Memories and skills as durable institutional knowledge: the queue architecture explanation finally lives somewhere that gets applied, not just stored.",[173,2492,2493],{},"Incident caps and investigation-depth settings: the dial between coverage and credit burn is a budget instrument to her.",[173,2495,2496],{},"Member roles and granular permissions; domain auto-join for zero-friction team growth.",[173,2498,2499],{},"Thread watches for the recurring toil: watch this migration, summarize deploys to Slack, babysit the infrastructure change over the weekend.",[35,2501,2502],{},[201,2503],{"alt":2504,"src":2505},"The leverage Laura is buying, marching past her door","\u002Fcartoons\u002Flaura-cartoon.jpg",[42,2507,1218],{"id":1217},[170,2509,2510,2513,2516,2519],{},[173,2511,2512],{},"The security review, even informal: what exactly can this write, where does telemetry live, what happens when it is wrong. Read-only defaults, gated writes, and PR-only code changes are the answers she needs to find within ten minutes.",[173,2514,2515],{},"Credit legibility: she will ask what a credit is and whether the finance model survives contact with her spreadsheet. Cost-weighted tokens with a capped overage does survive it, but only if explained plainly.",[173,2517,2518],{},"The quiet-month problem: if no incidents happened and the digest is thin, she wonders what she is paying for. Advisories, change analysis, and risk findings between incidents are what keep the renewal safe.",[173,2520,2521],{},"Vendor-dependence worry: she asks what happens if she disconnects, and respects products that answer honestly.",[42,2523,1233],{"id":1232},[170,2525,2526,2529,2532],{},[173,2527,2528],{},"Incidents arrive at her team pre-investigated; the timeline shows the first hour was already done. Her senior engineers get interrupted half as often.",[173,2530,2531],{},"The team asks Polylane in Slack instead of DMing her. This is the metric she feels personally.",[173,2533,2534],{},"The digest becomes a standing section in her weekly leadership update, and the board stops asking whether reliability is under control because the answer is visibly yes.",[42,2536,1245],{"id":1244},[170,2538,2539,2542,2545,2548],{},[173,2540,2541],{},"\"I can't hire an SRE this year. I need the output of one anyway.\"",[173,2543,2544],{},"\"Show me the guardrails first, then the magic.\"",[173,2546,2547],{},"\"If my engineers love it and the invoice is predictable, this is the easiest yes I'll give this quarter.\"",[173,2549,2550],{},"\"The tool that gets my team out of my DMs is worth more than the one that gives me another dashboard.\"",{"title":382,"searchDepth":383,"depth":384,"links":2552},[2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565],{"id":582,"depth":384,"text":583},{"id":2008,"depth":384,"text":2009},{"id":2021,"depth":384,"text":2022},{"id":880,"depth":384,"text":881},{"id":2238,"depth":384,"text":2239},{"id":2367,"depth":384,"text":2368},{"id":2426,"depth":384,"text":2427},{"id":1156,"depth":384,"text":1157},{"id":1174,"depth":384,"text":1175},{"id":1190,"depth":384,"text":1191},{"id":1217,"depth":384,"text":1218},{"id":1232,"depth":384,"text":1233},{"id":1244,"depth":384,"text":1245},"Player-coach CTO of a 10-40 person startup buying leverage instead of an SRE hire.",{},{"title":21},{"name":21,"photo":2570,"archetype":2571,"pronouns":2572,"plan":139,"role":2573,"quote":2574,"accent":2575,"order":2576,"pains":2577,"aha":2587},"\u002Fportraits\u002Flaura.jpg","Exec (founding CTO \u002F VP Engineering)","she\u002Fher","Buyer","Every incident costs me two engineers for a day and me for an evening. I can't hire my way out of that yet.","violet",3,[2578,2581,2584],{"title":2579,"detail":2580},"Incidents burn engineer attention","The scarcest resource in the company, spent unplanned and concentrated on the seniors, one of whom is her.",{"title":2582,"detail":2583},"No leverage on operations","Process slows the team, headcount is not approved, and doing nothing keeps her the escalation point.",{"title":2585,"detail":2586},"Reliability is invisible","Between incidents, nothing tells her whether production is drifting or how exposed the team is.",{"moment":2588,"anticipation":2589},"The morning she reads about last night's incident like news from a department she doesn't have to run: found, fixed, written up, and nobody asked her anything.",[2590,2591,2592],"Sell the feeling of an engineering org one size bigger: production has staff now, and none of it reports to her.","Frame everything in engineer attention: interruptions avoided, evenings returned, 'nobody had to look'.","Tell the 3am story from the CTO's side: not the outage, the phone that never rang.",{"title":133,"description":2566},"I3VhuSt0B3wGCAiXIO45okNCj5jA1sop-WZfRmKyDwM",{"id":2596,"title":152,"body":2597,"cover":393,"description":3247,"extension":395,"meta":3248,"navigation":3249,"path":26,"persona":3250,"seo":3273,"stem":27,"__hash__":3274},"personas\u002F6.marcus-the-platform-engineer.md",{"type":32,"value":2598,"toc":3231},[2599,2605,2607,2669,2671,2674,2680,2682,2875,2878,2880,2897,2899,3036,3039,3041,3093,3096,3098,3115,3118,3120,3134,3136,3139,3145,3148,3150,3167,3173,3175,3189,3191,3202,3204,3215,3217],[2600,2601,2602],"callout",{},[35,2603,2604],{},"Status: secondary, emerging persona. The product deliberately has no enterprise motion yet, and several tools Marcus considers table stakes (PagerDuty, Grafana, Splunk, GitLab, Terraform-aware infrastructure linking) are still on the roadmap. Marcus is where the product expands next, not where it wins today. He matters now because he is the veto vote when Laura's company grows into his.",[42,2606,583],{"id":582},[58,2608,2609,2617],{},[61,2610,2611],{},[64,2612,2613,2615],{},[67,2614,592],{},[67,2616,595],{},[83,2618,2619,2626,2633,2640,2647,2655,2662],{},[64,2620,2621,2623],{},[88,2622,602],{},[88,2624,2625],{},"30-45",[64,2627,2628,2630],{},[88,2629,1331],{},[88,2631,2632],{},"SRE, DevOps, or platform engineer",[64,2634,2635,2637],{},[88,2636,618],{},[88,2638,2639],{},"Scale-up of 30-200 engineers",[64,2641,2642,2644],{},[88,2643,610],{},[88,2645,2646],{},"Platform team of 1-3, serving everyone else",[64,2648,2649,2652],{},[88,2650,2651],{},"Experience",[88,2653,2654],{},"Ten-plus years: one datacenter, one failed Kubernetes migration, three observability vendors",[64,2656,2657,2659],{},[88,2658,1995],{},[88,2660,2661],{},"The on-call rotation's quality: alert precision, runbooks, postmortems",[64,2663,2664,2666],{},[88,2665,642],{},[88,2667,2668],{},"Reads the IAM policy before clicking connect; enters as the person vetting a tool someone else brought in",[42,2670,1374],{"id":1373},[35,2672,2673],{},"Starts with the overnight alert review: what fired, what should not have, what stayed silent that should not have. The morning is tickets from product teams (a new service to onboard, a quota to raise, \"why is my pod pending\"); the afternoon is the actual project work: Terraform refactors, cost optimization, the migration that has been 80% done for a quarter. Interruptions are the job, which is why he automates with the persistence of someone who has been paged for the same thing twice. He maintains the internal wiki nobody else updates and the dashboards everybody else screenshots.",[35,2675,2676],{},[201,2677],{"alt":2678,"src":2679},"Marcus's homelab rack, teal LEDs in the dark","\u002Fart\u002Fmarcus-scene.jpg",[42,2681,662],{"id":661},[58,2683,2684,2692],{},[61,2685,2686],{},[64,2687,2688,2690],{},[67,2689,671],{},[67,2691,674],{},[83,2693,2694,2710,2719,2728,2737,2754,2765,2776,2787,2798,2810,2821,2832,2841,2852,2866],{},[64,2695,2696,2707],{},[88,2697,2698,2700,2701,2044,2703,2705],{},[201,2699],{"alt":2047,"src":2048},"Go \u002F ",[201,2702],{"alt":1407,"src":1408},[201,2704],{"alt":2705,"src":2706},"Bash","\u002Flogos\u002Fbash.svg",[88,2708,2709],{},"Go for tooling, Python for glue, Bash for everything he swears is temporary",[64,2711,2712,2716],{},[88,2713,2714,2085],{},[201,2715],{"alt":2085,"src":2086},[88,2717,2718],{},"In depth: Lambda, ECS, EKS, RDS, SQS, the works",[64,2720,2721,2725],{},[88,2722,2723,2107],{},[201,2724],{"alt":2107,"src":2108},[88,2726,2727],{},"Everything as code, with opinions about state management",[64,2729,2730,2734],{},[88,2731,2732,2096],{},[201,2733],{"alt":2096,"src":2097},[88,2735,2736],{},"EKS clusters, a service mesh he regrets",[64,2738,2739,2751],{},[88,2740,2741,2745,2746,2750],{},[201,2742],{"alt":2743,"src":2744},"Helm","\u002Flogos\u002Fhelm.svg","Helm \u002F ",[201,2747],{"alt":2748,"src":2749},"Argo","\u002Flogos\u002Fargo.svg","Argo CD",[88,2752,2753],{},"The deploy machinery",[64,2755,2756,2762],{},[88,2757,2758,2760],{},[201,2759],{"alt":2760,"src":2761},"Docker","\u002Flogos\u002Fdocker.svg",[88,2763,2764],{},"Still the unit of everything",[64,2766,2767,2773],{},[88,2768,2769,2771],{},[201,2770],{"alt":2771,"src":2772},"Prometheus","\u002Flogos\u002Fprometheus.svg",[88,2774,2775],{},"Metrics he trusts because he runs them",[64,2777,2778,2784],{},[88,2779,2780,2782],{},[201,2781],{"alt":2782,"src":2783},"Grafana","\u002Flogos\u002Fgrafana.svg",[88,2785,2786],{},"The dashboards everybody else screenshots",[64,2788,2789,2795],{},[88,2790,2791,2793],{},[201,2792],{"alt":2793,"src":2794},"CloudWatch","\u002Flogos\u002Faws-cloudwatch.svg",[88,2796,2797],{},"The floor of observability",[64,2799,2800,2807],{},[88,2801,2802,2804,2805,1487],{},[201,2803],{"alt":1498,"src":1499},"Datadog \u002F ",[201,2806],{"alt":1487,"src":1488},[88,2808,2809],{},"The paid tier of visibility",[64,2811,2812,2818],{},[88,2813,2814,2816],{},[201,2815],{"alt":2816,"src":2817},"OpenTelemetry","\u002Flogos\u002Fopentelemetry.svg",[88,2819,2820],{},"The instrumentation standard he is slowly migrating everything to",[64,2822,2823,2829],{},[88,2824,2825,2827],{},[201,2826],{"alt":2827,"src":2828},"Splunk","\u002Flogos\u002Fsplunk.svg",[88,2830,2831],{},"Inherited, resented, still running",[64,2833,2834,2838],{},[88,2835,2836,2198],{},[201,2837],{"alt":2198,"src":2199},[88,2839,2840],{},"The pager, escalation policies tuned by hand",[64,2842,2843,2849],{},[88,2844,2845,2847],{},[201,2846],{"alt":2847,"src":2848},"Vault","\u002Flogos\u002Fvault.svg",[88,2850,2851],{},"Secrets, properly",[64,2853,2854,2863],{},[88,2855,2856,2858,2859,2861],{},[201,2857],{"alt":770,"src":771},"GitHub \u002F ",[201,2860],{"alt":2861,"src":2862},"GitLab","\u002Flogos\u002Fgitlab.svg",[88,2864,2865],{},"Heavy CI, runbooks in Markdown next to the code where they belong",[64,2867,2868,2872],{},[88,2869,2870,1509],{},[201,2871],{"alt":1509,"src":1510},[88,2873,2874],{},"The incident channel and the paging bot",[35,2876,2877],{},"The homelab mirrors production more than he admits: k3s on mini PCs, Proxmox, self-hosted everything, monitored better than some companies' production.",[42,2879,881],{"id":880},[170,2881,2882,2885,2888,2891,2894],{},[173,2883,2884],{},"Make pages rare, actionable, and evenly distributed. The rotation's health is his professional pride.",[173,2886,2887],{},"One live topology across AWS, Kubernetes, and the edge platforms, with change history attached to every node.",[173,2889,2890],{},"Detection that learns per-resource baselines instead of static thresholds, with cadence and cost he can control.",[173,2892,2893],{},"Keep his existing stack: alarms and saved queries that feed the new system rather than being replaced by it.",[173,2895,2896],{},"Strict, auditable autonomy boundaries. He does not object to automation; he objects to automation he cannot explain in a postmortem.",[42,2898,1584],{"id":1583},[58,2900,2901,2909],{},[61,2902,2903],{},[64,2904,2905,2907],{},[67,2906,908],{},[67,2908,911],{},[83,2910,2911,2945,2955,2973,2981,2992,3014],{},[64,2912,2913,2916],{},[88,2914,2915],{},"Reddit",[88,2917,2918,948,2923,948,2928,948,2933,2938,2939,2944],{},[49,2919,2922],{"href":2920,"rel":2921},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fdevops\u002F",[922],"r\u002Fdevops",[49,2924,2927],{"href":2925,"rel":2926},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fsre\u002F",[922],"r\u002Fsre",[49,2929,2932],{"href":2930,"rel":2931},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fkubernetes\u002F",[922],"r\u002Fkubernetes",[49,2934,2937],{"href":2935,"rel":2936},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Faws\u002F",[922],"r\u002Faws",", and ",[49,2940,2943],{"href":2941,"rel":2942},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fhomelab\u002F",[922],"r\u002Fhomelab"," for love, not work",[64,2946,2947,2952],{},[88,2948,2949],{},[49,2950,935],{"href":933,"rel":2951},[922],[88,2953,2954],{},"A weakness for outage postmortems and \"how we run infrastructure\" posts; he comments there more than anywhere else",[64,2956,2957,2960],{},[88,2958,2959],{},"Community Slacks",[88,2961,2962,948,2967,2972],{},[49,2963,2966],{"href":2964,"rel":2965},"https:\u002F\u002Fslack.k8s.io",[922],"Kubernetes Slack",[49,2968,2971],{"href":2969,"rel":2970},"https:\u002F\u002Fslack.cncf.io",[922],"CNCF channels",", HangOps, a platform-engineering community, two vendor Slacks joined for support, stayed for the gossip",[64,2974,2975,2978],{},[88,2976,2977],{},"Mastodon or Bluesky",[88,2979,2980],{},"More than X these days; the sysadmin diaspora moved and he moved with it",[64,2982,2983,2989],{},[88,2984,2985],{},[49,2986,2988],{"href":1603,"rel":2987},[922],"GitHub issues",[88,2990,2991],{},"Files reproductions polite enough to get fixed",[64,2993,2994,2996],{},[88,2995,1044],{},[88,2997,2998,948,3003,948,3008,3013],{},[49,2999,3002],{"href":3000,"rel":3001},"https:\u002F\u002Fsreweekly.com",[922],"SRE Weekly",[49,3004,3007],{"href":3005,"rel":3006},"https:\u002F\u002Fwww.devopsweekly.com",[922],"DevOps Weekly",[49,3009,3012],{"href":3010,"rel":3011},"https:\u002F\u002Fwww.lastweekinaws.com",[922],"Last Week in AWS",": Corey Quinn for the jokes, stays for the judgment",[64,3015,3016,3018],{},[88,3017,1023],{},[88,3019,3020,3025,3026,948,3031],{},[49,3021,3024],{"href":3022,"rel":3023},"https:\u002F\u002Fwww.lastweekinaws.com\u002Fpodcast\u002Fscreaming-in-the-cloud\u002F",[922],"Screaming in the Cloud",", the ",[49,3027,3030],{"href":3028,"rel":3029},"https:\u002F\u002Fkubernetespodcast.com",[922],"Kubernetes Podcast",[49,3032,3035],{"href":3033,"rel":3034},"https:\u002F\u002Fchangelog.com\u002Fshipit",[922],"Ship It",[35,3037,3038],{},"He reads incident postmortems recreationally, plus the engineering blogs of Cloudflare, fly.io, and Honeycomb, and Google's SRE books, which he quotes selectively and distrusts institutionally. In person: KubeCon or re:Invent when the company pays, SREcon or Monitorama when he pays attention, local meetups where he occasionally speaks about something that broke.",[42,3040,1716],{"id":1715},[58,3042,3043,3051],{},[61,3044,3045],{},[64,3046,3047,3049],{},[67,3048,1073],{},[67,3050,1076],{},[83,3052,3053,3061,3069,3077,3085],{},[64,3054,3055,3058],{},[88,3056,3057],{},"Deep technical content",[88,3059,3060],{},"How detection actually works, what the agent queries, a worked incident with the evidence trail shown; he will read 3,000 words if they are honest",[64,3062,3063,3066],{},[88,3064,3065],{},"Transparency artifacts",[88,3067,3068],{},"The exact IAM policy and CloudFormation template, ServiceAccount permissions (get\u002Flist\u002Fwatch and nothing else), retention answers, published limitations",[64,3070,3071,3074],{},[88,3072,3073],{},"Trusted voices",[88,3075,3076],{},"War stories and postmortem culture; a Corey Quinn read or an SRE Weekly link, never a display ad",[64,3078,3079,3082],{},[88,3080,3081],{},"A free evaluation path",[88,3083,3084],{},"Two weeks on a low-stakes account without talking to anyone",[64,3086,3087,3090],{},[88,3088,3089],{},"Conference hallways",[88,3091,3092],{},"KubeCon, SREcon, Monitorama, staffed by engineers who can answer the third follow-up question",[35,3094,3095],{},"What fails: \"AI-powered\" as the headline (he has a bingo card), hiding the security model behind a sales call (if he cannot find the permissions before signup, he is gone), claiming to replace his stack (a tool that ingests his ten years of tuned alarms beats a tool that dismisses them), and any pressure tactic.",[42,3097,1775],{"id":1774},[170,3099,3100,3103,3106,3109,3112],{},[173,3101,3102],{},"Least privilege as a worldview: read-only by default, every write gated and on the record, rollback only where explicitly enabled. \"The line is reversible versus not\" is a sentence he would write himself.",[173,3104,3105],{},"Blameless postmortem culture, runbooks as code, boring technology, Terraform plans reviewed like PRs.",[173,3107,3108],{},"Evidence over vibes: he trusts a system that shows the hypotheses it tested and what it ruled out, and distrusts any system that only shows conclusions.",[173,3110,3111],{},"Tools that respect prior investment: CloudWatch alarms picked up and investigated on arrival, Datadog and Honeycomb saved queries becoming scheduled checks.",[173,3113,3114],{},"Honest engineering marketing: published limitations, real numbers, changelogs that admit regressions.",[35,3116,3117],{},"What turns him off: magic, mandatory dashboards, vendors that call him a \"DevOps\" as a noun, per-host pricing, AI features that cannot cite their sources.",[42,3119,1157],{"id":1156},[170,3121,3122,3125,3128,3131],{},[173,3123,3124],{},"The homelab is the signature hobby: self-hosted services, a rack in the garage, DNS ad-blocking for the household, monitoring dashboards for the aquarium. He automates his home with the same rigor as production and twice the joy.",[173,3126,3127],{},"3D printing, hiking or long-distance cycling, homebrewing or serious coffee, board games with a rules-lawyer streak he keeps mostly in check.",[173,3129,3130],{},"Mentors juniors patiently and maintains one small open-source tool with three hundred stars and his exacting standards.",[173,3132,3133],{},"Personality: skeptical, thorough, dryly funny, allergic to hype but not to change. Slow to trust, permanent once converted, and the loudest internal advocate a vendor can have when the product earns it.",[42,3135,1175],{"id":1174},[35,3137,3138],{},"He enters as the evaluator, not the discoverer, and the make-or-break moment happens on the docs site before he even creates an account: reading the connect model and the IAM policy.",[35,3140,3141],{},[201,3142],{"alt":3143,"src":3144},"Marcus's journey through the product","\u002Fdiagrams\u002Fmarcus-journey.svg",[35,3146,3147],{},"The evaluation itself is a shadow run: the feed diffed against his own alarms, false positives counted, quiet resources checked for staying quiet. He ends up at home in the power surfaces most users never open: OTel ingest with his own telemetry tokens, scoped API keys, kubectl through the agent, investigation-depth tuning per tier.",[42,3149,1191],{"id":1190},[170,3151,3152,3155,3158,3161,3164],{},[173,3153,3154],{},"The topology graph with cross-provider stitching: a DNS record in one provider linking to a service in another is the map he has been maintaining by hand in a wiki.",[173,3156,3157],{},"Change intelligence on every sync: change records with impact levels, and a thread that watches the migrations he currently babysits personally.",[173,3159,3160],{},"Per-resource baselines with the tier cadence dial (critical resources checked every 10 minutes, low-tier daily): detection cost he can reason about.",[173,3162,3163],{},"Advisories as a free audit: configuration gaps, missing observability, reliability risks per resource.",[173,3165,3166],{},"Enterprise controls: bring-your-own LLM key and gateway, volume credits, data-plane options.",[35,3168,3169],{},[201,3170],{"alt":3171,"src":3172},"Marcus inspects the robot before it touches anything","\u002Fcartoons\u002Fmarcus-cartoon.jpg",[42,3174,1218],{"id":1217},[170,3176,3177,3180,3183,3186],{},[173,3178,3179],{},"Missing table stakes for his world: PagerDuty, Grafana, Splunk, GitLab, and Terraform-state-aware linking are not live yet. The repo-to-infrastructure linking reads platform config files, not Terraform, and he will notice within the first hour.",[173,3181,3182],{},"Verdict trust: he will run the product in shadow mode against his own alarms and believe the comparison, not the marketing.",[173,3184,3185],{},"Data governance: where telemetry lands, how long it is retained, who can query it, and what leaves his boundary. He asks these before the security team does.",[173,3187,3188],{},"Unattended writes: not for a long time, and never globally. Per-account and per-action opt-ins are the only acceptable shape.",[42,3190,1867],{"id":1866},[170,3192,3193,3196,3199],{},[173,3194,3195],{},"Does not hold the budget but holds the veto. His written evaluation is what turns a Team plan into an Enterprise conversation.",[173,3197,3198],{},"Cares about cost mechanics more than cost level: predictable flat pricing with visible usage and a capped overage passes; anything that scales with hosts or ingested GB triggers the Datadog reflex.",[173,3200,3201],{},"The Enterprise levers that move him: volume credits, bring-your-own gateway, deployment and data-residency options, and a support channel with engineers in it.",[42,3203,1233],{"id":1232},[170,3205,3206,3209,3212],{},[173,3207,3208],{},"The two-week shadow evaluation ends with a false-positive count that rounds to zero and at least one real regression caught with a correct diagnosis before his own alarms fired.",[173,3210,3211],{},"The rotation's mean time to understanding drops because incidents arrive with the first hour of archaeology already done and shown.",[173,3213,3214],{},"He retires a page of hand-tuned alert rules without losing coverage, writes it up for the internal wiki, and becomes the product's most credible advocate in the company.",[42,3216,1245],{"id":1244},[170,3218,3219,3222,3225,3228],{},[173,3220,3221],{},"\"Read-only role, scoped token, or no deal.\"",[173,3223,3224],{},"\"I don't need it to be smart. I need it to be right, and to show its work.\"",[173,3226,3227],{},"\"Ingest my alarms before you tell me to delete them.\"",[173,3229,3230],{},"\"If it pages my team wrongly at 3am once, we're done. If it saves them once, I'll defend it in the budget meeting myself.\"",{"title":382,"searchDepth":383,"depth":384,"links":3232},[3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246],{"id":582,"depth":384,"text":583},{"id":1373,"depth":384,"text":1374},{"id":661,"depth":384,"text":662},{"id":880,"depth":384,"text":881},{"id":1583,"depth":384,"text":1584},{"id":1715,"depth":384,"text":1716},{"id":1774,"depth":384,"text":1775},{"id":1156,"depth":384,"text":1157},{"id":1174,"depth":384,"text":1175},{"id":1190,"depth":384,"text":1191},{"id":1217,"depth":384,"text":1218},{"id":1866,"depth":384,"text":1867},{"id":1232,"depth":384,"text":1233},{"id":1244,"depth":384,"text":1245},"Pragmatic SRE\u002Fplatform engineer at an AWS\u002FKubernetes scale-up, evaluates cautiously, secondary persona today.",{},{"title":25},{"name":25,"photo":3251,"archetype":3252,"pronouns":1924,"plan":158,"role":3253,"quote":3254,"accent":3255,"order":3256,"pains":3257,"aha":3267},"\u002Fportraits\u002Fmarcus.jpg","SRE \u002F DevOps \u002F platform engineer","Emerging","Every vendor says 'AI finds anomalies'. Fine. Show me the false-positive rate and the IAM policy, in that order.","teal",4,[3258,3261,3264],{"title":3259,"detail":3260},"Threshold tuning is a permanent tax","Every new service means new alarms, and static thresholds are wrong the moment traffic shifts.",{"title":3262,"detail":3263},"Silos with AI sprinkled on top","Every vendor's AI sees only its own data. None of them read the code or the runbooks.",{"title":3265,"detail":3266},"45 minutes of archaeology per incident","What changed, which deploy, which config, every single time, with a platform team of two.",{"moment":3268,"anticipation":3269},"Reading an investigation and catching himself nodding: it checked what changed first, distrusted the easy answer, and wrote it up like a postmortem he would sign.",[3270,3271,3272],"Speak his discipline back to him: silence is a feature, evidence over vibes, every action on the record.","Publish real investigations verbatim, wrong turns included; he converts on how it thinks, not what it claims.","Invite the audit: read-only connect, diff it against your own alarms, mark the homework yourself.",{"title":152,"description":3247},"W0hwHejYB-uERrgBTDaEfwQfxEqAluNojoBgHr6h3Mc",1790523224697]