Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="2950eed3a1e4d9ab75516cd1e8d32a794b16a66f2ae7eb22c18aae006434" Subject: =?UTF-8?q?=F0=9F=8E=99=EF=B8=8F_How_I_AI:_Quests,_token_leaderboards,_and?= =?UTF-8?q?_the_elite_AI_adoption_playbook_&_Notion=E2=80=99s_spec-driven_?= =?UTF-8?q?development?= From: Lenny's Newsletter To: Hidden Recipient Date: Mon, 11 May 2026 16:02:49 +0000 X-Hiring: We are hiring, reach out at header-hacker@emailshot.io X-EmailShot-Signature: ABOx-J_Aokm5uxI5HgCMUO6KVF3-3gOFBfhwxkhECLdVTUr0iV_A76304aYdIaZjlqG0U6hpgkamRqG5QUowFA== --2950eed3a1e4d9ab75516cd1e8d32a794b16a66f2ae7eb22c18aae006434 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable View this post on the web at https://www.lennysnewsletter.com/p/how-i-ai-qu= ests-token-leaderboards Quests, token leaderboards, and a skills marketplace: The elite AI adoption= playbook | John Kim (Sendbird) Listen now on YouTube [ https://substack.com/redirect/8bb1193d-b299-4109-a4= 75-5dd8dd886485?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rb= AsF0l24U ] =E2=80=A2 Spotify [ https://substack.com/redirect/7365bb78-5b34-= 4a52-80f1-4937f8969c45?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCf= gM3m0rbAsF0l24U ] =E2=80=A2 Apple Podcasts [ https://substack.com/redirect/= cc9f8d44-ee1c-4256-910e-145b019256a3?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP= 822j-jnN48_jCfgM3m0rbAsF0l24U ] Brought to you by: WorkOS [ https://substack.com/redirect/f6b01556-b72b-4534-8389-b9f79acfb684= ?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24U ]=E2= =80=94Make your app enterprise-ready today ThoughtSpot [ https://substack.com/redirect/45fac9d2-1435-4972-b91e-7a24069= 714e3?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24U ]= =E2=80=94Build AI-powered analytics into your product John Kim is the co-founder and CEO of Sendbird. In this episode, John share= s how his marketing team built a live swag store with Stripe integration wi= thout engineering support, why he tracks every token spent across the org, = how he identifies =E2=80=9CAI Gods=E2=80=9D inside the company, and why the= future of work belongs to people with curiosity, agency, and energy, not j= ust years of experience. Biggest takeaways: The most successful AI transformations treat internal tooling as a product,= not a program. John built the =E2=80=9CAutomators=E2=80=9D platform=E2=80= =94a gamified internal marketplace where anyone can create a =E2=80=9Cquest= =E2=80=9D (a request for automation or tooling), and engineers or AI agents= can pick it up and build it. Each quest shows the risk level, weeks saved,= and who benefits. People earn experience points for completing quests, whi= ch they can exchange for gift cards, tea with executives, or the chance to = present their work to the entire company at Wednesday standups. This isn=E2= =80=99t a top-down mandate but a product that makes AI adoption fun, measur= able, and rewarding. When you give creative teams builder capabilities, they=E2=80=99ll create t= hings that would never make it onto a traditional product roadmap. John=E2= =80=99s marketing team built a fully functional e-commerce swag store with = Stripe integration, custom designs, and even a Konami Code Easter egg that = unlocks secret conference details. In the old world, this would have requir= ed two sprints of engineering time and probably would have been deprioritiz= ed. Now it shipped in days, delights customers, and generates actual revenu= e. The biggest unlock for non-technical builders is creating secure, compliant= templates they can build on top of. John=E2=80=99s team created app templa= tes where authentication, environment setup, databases, and security are pr= e-configured and vetted by InfoSec. Marketers, salespeople, and CSMs just e= xtract the template and build their idea on top. This removes the biggest b= arrier to non-engineers shipping to production: the fear of doing something= wrong or insecure. Measure token usage without shame, and create tiers that make it aspiration= al. John created five tiers: Beginner (under 1M tokens/day), Intermediate, = Expert, Architect, Catalyst, and AI God (over 100M tokens/day). Every manag= er can see where their team members are and tailor enablement accordingly. = This isn=E2=80=99t about performance reviews; it=E2=80=99s about bringing p= eople along the journey and making AI fluency visible and celebrated. The goal isn=E2=80=99t just to use AI during work hours but, rather, to smo= oth the curve so AI works around the clock. John monitors token usage over = time and looks for smoothness in the curve. Dips mean people are on weekend= s or vacation and AI isn=E2=80=99t working. When the curve smooths out, it = means AI partners are working 24/7. This is a fundamentally different visio= n: not just augmenting human work, but having AI fill the gaps when humans = aren=E2=80=99t available. Build a cross-functional AI task force that meets weekly to unblock challen= ges. John created a role called AI Engineer for Internal Operations that re= ports directly to him and the chief of staff. This person works cross-funct= ionally with the CTO, engineering, and InfoSec to vet tools, set up complia= nt tech stacks, and remove barriers. They meet weekly as a task force to di= scuss what=E2=80=99s blocking people and how to enable faster iteration. The most important hiring criteria for AI-first companies are curiosity, ag= ency, and energy=E2=80=94not tenure or experience. John rewrote job descrip= tions to optimize for people who are curious, willing to go deep, and figur= e things out on their own. He lowered the bar on years of experience and ra= ised the bar on learning ability. In a world where you can build a custom l= earning center for any topic in 20 minutes, the constraint isn=E2=80=99t ac= cess to knowledge; it=E2=80=99s the drive to learn. Start with your champions, not your skeptics. John=E2=80=99s advice to CEOs= struggling with AI adoption: find the people in your organization who are = already curious and have agency. Make them the champions. Give them the spo= tlight. Let them share their work at all-hands meetings. Build energy aroun= d their stories. Innovation doesn=E2=80=99t start from theoretical structur= es=E2=80=94it starts with people who have energy and a story to tell. Once = others see what=E2=80=99s possible, adoption spreads organically. Leadership has to model the behavior, not just mandate it. The top token co= nsumers at Delight.ai are the executives. When leaders show up with new cap= abilities and ship things faster, it signals to the team that this is real = and important. John also does one-on-ones with people who aren=E2=80=99t us= ing tokens: =E2=80=9CWe noticed you haven=E2=80=99t been spending any token= s. Can we help you? What=E2=80=99s stopping you?=E2=80=9D This combination = of top-down modeling and bottom-up support is what drives transformation. Blog & detailed workflow walkthroughs from this episode: How I AI: John Kim=E2=80=99s Playbook for AI Transformation with Quests, Sk= ills, and =E2=80=98AI Gods=E2=80=99: https://www.chatprd.ai/how-i-ai/john-k= ims-playbook-for-ai-transformation [ https://substack.com/redirect/2c60ee1a= -7d96-4444-bb96-19403e6f414d?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN= 48_jCfgM3m0rbAsF0l24U ] =E2=86=B3 How to Create an Internal AI Marketplace to Crowdsource Automatio= ns: https://www.chatprd.ai/how-i-ai/workflows/how-to-create-an-internal-ai-= marketplace-to-crowdsource-automations [ https://substack.com/redirect/4cb9= 293b-4e7a-426c-b34a-04d765166d45?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j= -jnN48_jCfgM3m0rbAsF0l24U ] =E2=86=B3 How to Build a Personal AI-Generated Learning Center on Any Topic= : https://www.chatprd.ai/how-i-ai/workflows/how-to-build-a-personal-ai-gene= rated-learning-center-on-any-topic [ https://substack.com/redirect/0d840655= -231f-442d-9766-6ceb2657b51a?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN= 48_jCfgM3m0rbAsF0l24U ] =E2=86=B3 How to Automate Personal Knowledge Management with an AI =E2=80= =98Gardener=E2=80=99: https://www.chatprd.ai/how-i-ai/workflows/how-to-auto= mate-personal-knowledge-management-with-an-ai-gardener [ https://substack.c= om/redirect/6dffb731-5d6c-4bbb-8b14-5f98c4aec14a?j=3DeyJ1IjoiM2dmeXZtIn0.xu= 76uFObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24U ] Spec-driven development: The AI engineering workflow at Notion | Ryan Nystr= om Listen now on YouTube [ https://substack.com/redirect/120ab802-d6ab-4b10-9c= 26-c259dbe54a87?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rb= AsF0l24U ] =E2=80=A2 Spotify [ https://substack.com/redirect/adb2183f-ae49-= 416c-843f-33dfe9cbb689?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCf= gM3m0rbAsF0l24U ] =E2=80=A2 Apple Podcasts [ https://substack.com/redirect/= db8f7d02-5ac3-4b94-9dd3-2862aeb7e62e?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP= 822j-jnN48_jCfgM3m0rbAsF0l24U ] Brought to you by: WorkOS [ https://substack.com/redirect/f6b01556-b72b-4534-8389-b9f79acfb684= ?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24U ]=E2= =80=94Make your app enterprise-ready today Orkes [ https://substack.com/redirect/4a309122-346e-43a7-ac9b-37665859ee9a?= j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24U ]=E2=80= =94The enterprise platform for reliable applications and agentic workflows Ryan Nystrom is a software engineer and engineering manager at Notion, wher= e he works on Notion AI, Custom Agents, and internal systems that help engi= neers move faster with less busywork. He joined Notion after the company ac= quired Campsite, the team communication platform he co-founded. In this epi= sode, Ryan shares how his team automates standup prep, ships PRs from a sin= gle Notion comment, uses specs as the new source of truth, and why fast CI = is becoming essential for AI coding agents. He explains why engineering man= agers should still write code, how AI is changing meetings, and why great d= eveloper experience matters more than ever. Biggest takeaways: Never prep for standups again by auto-generating meeting notes from all you= r workstreams. Ryan=E2=80=99s Notion AI agent pulls from Slack conversation= s, closed tasks, merged PRs, telemetry metrics, and yesterday=E2=80=99s mee= ting transcript to create a comprehensive pre-read every morning at 9 a.m. = This transforms standups from rote status updates into high-bandwidth probl= em-solving sessions where the team spends 100% of their time on decisions, = blockers, and next steps instead of =E2=80=9CI did this thing yesterday.=E2= =80=9D Fast CI is the mathematical limit on your AI coding velocity. If your CI ta= kes an hour to run, your agents sit idle for an hour waiting for test resul= ts. If it takes three minutes, you can run 20x more iterations in the same = time frame. Ryan=E2=80=99s team is aggressively cutting Notion=E2=80=99s CI= to 25% of current time specifically to unlock agent productivity=E2=80=94b= ecause agents don=E2=80=99t get tired, don=E2=80=99t sleep, and can work in= parallel across VMs if your infrastructure supports it. Background agents that ship PRs from Slack mentions eliminate context switc= hing. Ryan=E2=80=99s =E2=80=9CBoxy=E2=80=9D system lets him @mention Codex = from a Notion task, and 20 minutes later he gets back a PR with implementat= ion, screenshots of UI verification, and a preview URL. This morning a frie= nd texted him a feature request; Ryan wrote four sentences and dropped a sc= reenshot in a Notion task, mentioned Codex, and had a shipped PR before lun= ch. No IDE, no local environment, no context switch. Specs as source of truth beats code as source of truth for AI-powered devel= opment. Notion engineers now maintain Markdown spec files in their repo tha= t describe features in plain English with code pointers and verification st= eps. When they need to update a feature, they update the spec and point Cod= ex at it=E2=80=94the agent implements everything, runs verification, and sh= ips. The spec=E2=80=99s version history becomes the changelog, and non-tech= nical stakeholders can actually read it. =E2=80=9CYap your spec=E2=80=9D is a legitimate development workflow now. R= yan opens Whisper, talks through how a feature should work, gives that tran= script to Codex with examples of other specs, and gets back a comprehensive= technical document. This is faster than writing and more thorough than typ= ing because you naturally explain edge cases and context when speaking that= you=E2=80=99d skip when writing bullet points. Make AI defend its technical decisions. When Codex suggests a change Ryan d= oesn=E2=80=99t understand, he doesn=E2=80=99t ask, =E2=80=9CAre you sure?= =E2=80=9D He says, =E2=80=9CYou=E2=80=99re wrong; defend your argument with= evidence.=E2=80=9D This forces the model to provide cited reasoning instea= d of just agreeing with whatever the human says. This is especially critica= l when working on infrastructure you don=E2=80=99t fully understand=E2=80= =94you need the AI to teach you, not just comply. The era of the hard skill means engineering leaders should write code again= =2E Ryan manages six people and writes=20= code daily. He works until the minute=20= standup starts without prep because AI handles meeting notes. He ships feat= ures from his phone on the subway. The AI tools have eliminated so much mee= ting prep and information synthesis work that managers can be hands-on agai= n=E2=80=94and in Ryan=E2=80=99s opinion, line managers should be writing co= de, fixing bugs, and staying close to the work. Changing your tools constantly is energizing, not exhausting, when you=E2= =80=99re learning. Ryan changed IDEs, terminals, and workflows more than 10= times in the past year. Instead of feeling chaotic, it feels fresh and joy= ful. He=E2=80=99s working faster and harder than ever, but in a good way=E2= =80=94because he=E2=80=99s experimenting, learning, and building instead of= maintaining the same workflow he=E2=80=99s used for over 12 years. The pac= e of change is the point. Good developer experience for humans creates good developer experience for = agents. Ryan=E2=80=99s team built comprehensive CLI tools, clear documentat= ion, and fast CI long before AI agents. Now those same investments make age= nts more successful=E2=80=94they can verify their own work, follow blessed = paths, and iterate quickly. This creates a virtuous cycle: DX investments h= elp agents, and agent infrastructure (like cloud dev environments) helps hu= mans too. Blog & detailed workflow walkthroughs from this episode: How I AI: Ryan Nystrom=E2=80=99s 3 Notion Workflows for Engineering Velocit= y: https://www.chatprd.ai/how-i-ai/ryan-nystrom-notion-workflows-for-engine= ering-velocity [ https://substack.com/redirect/1cbeac77-7525-469e-966f-069c= 259b2356?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24= U ] =E2=86=B3 Implement Features Using Spec-First Development and an AI Coding = Agent: https://www.chatprd.ai/how-i-ai/workflows/implement-features-using-s= pec-first-development-and-an-ai-coding-agent [ https://substack.com/redirec= t/023d8d1f-f966-4b25-8bdb-28a161e6bdbe?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArD= fP822j-jnN48_jCfgM3m0rbAsF0l24U ] =E2=86=B3 From Notion Task to GitHub Pull Request in 20 Minutes with a Codi= ng Agent: https://www.chatprd.ai/how-i-ai/workflows/from-notion-task-to-git= hub-pull-request-in-20-minutes-with-a-coding-agent [ https://substack.com/r= edirect/da2469e8-dc1a-4b14-979d-94f6eee3257b?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uF= ObqArDfP822j-jnN48_jCfgM3m0rbAsF0l24U ] =E2=86=B3 Automate Daily Standup Preparation with a Custom Notion AI Agent:= https://www.chatprd.ai/how-i-ai/workflows/automate-daily-standup-preparati= on-with-a-custom-notion-ai-agent [ https://substack.com/redirect/774250eb-4= 4d6-4c15-b08f-f13a6986e5bd?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48= _jCfgM3m0rbAsF0l24U ] Claude Code just got WAY more powerful Claire breaks down the biggest announcements from Anthropic=E2=80=99s =E2= =80=9CCode with Claude=E2=80=9D event and what they actually mean for build= ers shipping AI products today.=20 Listen now on YouTube [ https://substack.com/redirect/94c11484-93b1-4596-ac= 5e-8e9c3691076d?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCfgM3m0rb= AsF0l24U ] =E2=80=A2 Spotify [ https://substack.com/redirect/a8223062-8b64-= 4823-99b2-a080b4685b1f?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP822j-jnN48_jCf= gM3m0rbAsF0l24U ] =E2=80=A2 Apple Podcasts [ https://substack.com/redirect/= 3775668d-3993-4d90-a11e-62f2819140b3?j=3DeyJ1IjoiM2dmeXZtIn0.xu76uFObqArDfP= 822j-jnN48_jCfgM3m0rbAsF0l24U ] If you=E2=80=99re enjoying these episodes, reply and let me know what you= =E2=80=99d love to learn more about: AI workflows, hiring, growth, product = strategy=E2=80=94anything. Catch you next week, Lenny P.S. Want every new episode delivered the moment it drops? Hit =E2=80=9CFol= low=E2=80=9D on your favorite podcast app. Unsubscribe https://substack.com/redirect/2/eyJlIjoiaHR0cHM6Ly93d3cubGVubnl= zbmV3c2xldHRlci5jb20vYWN0aW9uL2Rpc2FibGVfZW1haWw_dG9rZW49ZXlKMWMyVnlYMmxrSW= pveU1Ea3dNVGMwTWpZc0luQnZjM1JmYVdRaU9qRTVOalU0TXpBNE15d2lhV0YwSWpveE56YzROV= EUyTURjMkxDSmxlSEFpT2pFNE1UQXdOVEl3TnpZc0ltbHpjeUk2SW5CMVlpMHhNRGcwTlNJc0lu= TjFZaUk2SW1ScGMyRmliR1ZmWlcxaGFXd2lmUS5VMGVvbkUxUWlJb1dRdzZlS19XTGROZllmamV= DVWliZmZtTkZwRmR2ekNnIiwicCI6MTk2NTgzMDgzLCJzIjoxMDg0NSwiZiI6dHJ1ZSwidSI6Mj= A5MDE3NDI2LCJpYXQiOjE3Nzg1MTYwNzYsImV4cCI6MjA5NDA5MjA3NiwiaXNzIjoicHViLTAiL= CJzdWIiOiJsaW5rLXJlZGlyZWN0In0.WQstQ5c5BK_d__PtLFIf-Kz_9N-_jGW4CRYok33wvuE? --2950eed3a1e4d9ab75516cd1e8d32a794b16a66f2ae7eb22c18aae006434 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable = 🎙️ How I AI: Quests, token leaderboards, and the elite AI ad= option playbook & Notion’s spec-driven development @media (max-width: 1024px) { .typography .pullquote-align-left, .typography.editor .pullquote-align-left, .typography .pullquote-align-right, .typography.editor .pullquote-align-right, .typography .pullquote-align-wide, .typography.editor .pullquote-align-wide, .typography .pullquote-align-center, .typography.editor .pullquote-align-center { float: none; margin: 0 auto; width: 100%; max-width: 100%; } } @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .typography .markup table.image-wrapper img, .typography.editor .markup table.image-wrapper img, .typography .markup table.kindle-wrapper img, .typography.editor .markup table.kindle-wrapper img { max-width: 550px; } } @media (min-width: 1024px) { .typography:not(:has(#toc)) .captioned-image-container figure:has(> a.ima= ge2-offset-left), .typography.editor:not(:has(#toc)) .captioned-image-container figure:has(= > a.image2-offset-left) { margin-left: var(--image-offset-margin); } .typography:not(:has(#toc)) .captioned-image-container figure:has(> a.ima= ge2-offset-right), .typography.editor:not(:has(#toc)) .captioned-image-container figure:has(= > a.image2-offset-right) { margin-right: var(--image-offset-margin); } } @media (min-width: 1300px) { .typography .captioned-image-container figure:has(> a.image2-offset-left)= , .typography.editor .captioned-image-container figure:has(> a.image2-offse= t-left) { margin-left: var(--image-offset-margin); } .typography .captioned-image-container figure:has(> a.image2-offset-right= ), .typography.editor .captioned-image-container figure:has(> a.image2-offse= t-right) { margin-right: var(--image-offset-margin); } } @media (max-width: 1024px) { .typography, .typography.editor { /* Disable offset on mobile/tablet */ } .typography .captioned-image-container figure:has(> a.image2-align-left), .typography.editor .captioned-image-container figure:has(> a.image2-align= -left), .typography .captioned-image-container figure:has(> a.image2-align-right)= , .typography.editor .captioned-image-container figure:has(> a.image2-align= -right) { float: none; margin: 1em auto; max-width: 100%; width: auto; padding: 0; } .typography .captioned-image-container figure:has(> a.image2-align-left.t= hefp), .typography.editor .captioned-image-container figure:has(> a.image2-align= -left.thefp), .typography .captioned-image-container figure:has(> a.image2-align-right.= thefp), .typography.editor .captioned-image-container figure:has(> a.image2-align= -right.thefp) { margin: 1em auto; } .typography .captioned-image-container figure:has(> a.image2-offset-left)= , .typography.editor .captioned-image-container figure:has(> a.image2-offse= t-left), .typography .captioned-image-container figure:has(> a.image2-offset-right= ), .typography.editor .captioned-image-container figure:has(> a.image2-offse= t-right) { margin: 1em auto; } .typography .captioned-image-container figure:has(> a.image2-align-left) = =2Eimage2-inset, .typography.editor .captioned-image-container figure:has(> a.image2-align= -left) .image2-inset, .typography .captioned-image-container figure:has(> a.image2-align-right)= .image2-inset, .typography.editor .captioned-image-container figure:has(> a.image2-align= -right) .image2-inset { display: block; justify-content: initial; } } @media (max-width: 768px) { .typography .markup div.sponsorship-campaign-embed, .typography.editor .markup div.sponsorship-campaign-embed { margin-top: 24px; margin-bottom: 24px; } .typography .markup div.sponsorship-campaign-embed:first-child, .typography.editor .markup div.sponsorship-campaign-embed:first-child { margin-top: 0px; } } @media screen and (max-width: 650px) { .typography .markup div.youtube-overlay, .typography.editor .markup div.youtube-overlay, .typography .markup div.vimeo-overlay, .typography.editor .markup div.vimeo-overlay { display: none !important; } } @media screen and (max-width: 370px) { .typography .markup div.tiktok-wrap, .typography.editor .markup div.tiktok-wrap { width: calc(95vw - 32px); height: calc((95vw - 32px - 2px) / 0.485714); } } @media screen and (max-width: 650px) { .typography .markup div.embedded-publication-wrap .embedded-publication.s= how-subscribe, .typography.editor .markup div.embedded-publication-wrap .embedded-public= ation.show-subscribe { padding: 24px; } } @media screen and (max-width: 650px) { .typography .markup div.subscription-widget-wrap .subscription-widget.sho= w-subscribe, .typography.editor .markup div.subscription-widget-wrap .subscription-wid= get.show-subscribe, .typography .markup div.subscription-widget-wrap-editor .subscription-wid= get.show-subscribe, .typography.editor .markup div.subscription-widget-wrap-editor .subscript= ion-widget.show-subscribe, .typography .markup div.captioned-button-wrap .subscription-widget.show-s= ubscribe, .typography.editor .markup div.captioned-button-wrap .subscription-widget= =2Eshow-subscribe { padding: 0px 24px; } } @media screen and (max-width: 650px) { .typography .markup div.subscription-widget-wrap .subscription-widget.sho= w-subscribe .subscription-widget-subscribe .button, .typography.editor .markup div.subscription-widget-wrap .subscription-wid= get.show-subscribe .subscription-widget-subscribe .button, .typography .markup div.subscription-widget-wrap-editor .subscription-wid= get.show-subscribe .subscription-widget-subscribe .button, .typography.editor .markup div.subscription-widget-wrap-editor .subscript= ion-widget.show-subscribe .subscription-widget-subscribe .button, .typography .markup div.captioned-button-wrap .subscription-widget.show-s= ubscribe .subscription-widget-subscribe .button, .typography.editor .markup div.captioned-button-wrap .subscription-widget= =2Eshow-subscribe .subscription-widget-subscribe .button { padding: 10px 12px; min-width: 110px; } } @media (max-width: 650px) { .typography .markup .twitter-embed, .typography.editor .markup .twitter-embed, .typography .markup .tweet, .typography.editor .markup .tweet { padding: 12px; } } @media (max-width: 650px) { .typography .markup .twitter-embed .tweet-text, .typography.editor .markup .twitter-embed .tweet-text, .typography .markup .tweet .tweet-text, .typography.editor .markup .tweet .tweet-text { font-size: 14px; line-height: 20px; } } @media (max-width: 650px) { .typography .markup .twitter-embed .tweet-photos-container.two, .typography.editor .markup .twitter-embed .tweet-photos-container.two, .typography .markup .tweet .tweet-photos-container.two, .typography.editor .markup .tweet .tweet-photos-container.two, .typography .markup .twitter-embed .tweet-photos-container.three, .typography.editor .markup .twitter-embed .tweet-photos-container.three, .typography .markup .tweet .tweet-photos-container.three, .typography.editor .markup .tweet .tweet-photos-container.three, .typography .markup .twitter-embed .tweet-photos-container.four, .typography.editor .markup .twitter-embed .tweet-photos-container.four, .typography .markup .tweet .tweet-photos-container.four, .typography.editor .markup .tweet .tweet-photos-container.four { height: 200px; } } @media (max-width: 650px) { .typography .markup .twitter-embed a.expanded-link .expanded-link-img, .typography.editor .markup .twitter-embed a.expanded-link .expanded-link-= img, .typography .markup .tweet a.expanded-link .expanded-link-img, .typography.editor .markup .tweet a.expanded-link .expanded-link-img { max-height: 180px; } } @media (max-width: 650px) { .typography .markup .twitter-embed a.expanded-link .expanded-link-descrip= tion, .typography.editor .markup .twitter-embed a.expanded-link .expanded-link-= description, .typography .markup .tweet a.expanded-link .expanded-link-description, .typography.editor .markup .tweet a.expanded-link .expanded-link-descript= ion { display: none; } } @media screen and (max-width: 650px) { .typography .markup .apple-podcast-container, .typography.editor .markup .apple-podcast-container { width: unset; } } @media (max-width: 420px) { .typography .markup .install-substack-app-embed img.install-substack-app-= embed-img, .typography.editor .markup .install-substack-app-embed img.install-substa= ck-app-embed-img { margin: 0 auto 16px auto; } } @media (max-width: 420px) { .typography .markup .install-substack-app-embed .install-substack-app-emb= ed-text, .typography.editor .markup .install-substack-app-embed .install-substack-= app-embed-text { margin: 0 0 12px 0; max-width: 100%; width: auto; text-align: center; } } @media (max-width: 420px) { .typography .markup .install-substack-app-embed .install-substack-app-emb= ed-link, .typography.editor .markup .install-substack-app-embed .install-substack-= app-embed-link { display: flex; justify-content: center; } } @media screen and (min-width: 481px) { .share-button-container { height: 38px; } } @media screen and (min-width: 481px) { .share-button-container a.comment { height: 38px; line-height: 38px; padding-right: 10px; } } @media screen and (max-width: 480px) { .share-button-container .separator { display: block; margin: 0; height: 8px; border-left: none; } } @media screen and (max-width: 480px) { .share-button-container a.share.first img { padding-left: 0; } } @media screen and (min-width: 481px) { .share-button-container a.mobile { display: none !important; } } @media screen and (min-width: 541px) { .settings-add-pub-modal-wrapper .container .add-recommending-pub-modal-co= ntainer { padding: 36px; height: 680px; } } @media screen and (min-width: 541px) { .settings-add-pub-modal-wrapper .container .add-recommending-pub-modal-co= ntainer .footer { position: absolute; bottom: 36px; margin: 0px; } } @media screen and (max-width: 650px) { .header-anchor-parent { display: none; } } @media screen and (max-width: 768px) { .post { padding: 16px 0 0 0; } } @media screen and (max-width: 650px) { .post .post-header .post-label { margin-top: 8px; } } @media screen and (max-width: 650px) { .post .post-header .meta-author-wrap.alternative-meta .meta-right-column = =2Epost-meta { margin-top: 6px; } } @media screen and (max-width: 650px) { .post .footer-facepile-container { height: 64px; padding: 0 16px; display: flex; align-items: center; justify-content: flex-start; width: 100%; } } @media screen and (max-width: 650px) { .post .post-footer.use-separators { justify-content: center; } } @media screen and (max-width: 650px) { .post .post-footer.next-prev { height: 64px; justify-content: space-between; box-sizing: border-box; } } @media screen and (max-width: 650px) { .post-contributor-footer .post-contributor-bio-table { display: block; } .post-contributor-footer .post-contributor-bio-table-row { display: flex; flex-direction: row; } .post-contributor-footer .post-contributor-bio-userhead-cell, .post-contributor-footer .post-contributor-bio-body-cell { display: block; } .post-contributor-footer .post-contributor-bio-body-cell { flex-grow: 1; } .post-contributor-footer .post-contributor-bio-body-table { display: block; } .post-contributor-footer .post-contributor-bio-body-table-row { display: block; } .post-contributor-footer .post-contributor-bio-copy-cell, .post-contributor-footer .post-contributor-bio-controls-cell { display: block; } .post-contributor-footer .post-contributor-bio-copy-cell { margin: 0 0 16px 0; } .post-contributor-footer .post-contributor-bio-controls-cell { width: auto; } .post-contributor-footer .post-contributor-bio-controls { margin: auto; } .post-contributor-footer .post-contributor-bio-controls .button.primary { width: 100%; } .post-contributor-footer .post-contributor-bio-text { font-size: 14px; } } @media screen and (min-width: 768px) { .post-silhouette { padding: 32px 0; } } @media screen and (max-width: 650px) { .post-silhouette .post-silhouette-title { margin-top: 10.44225025px; height: 120px; } } @media screen and (max-width: 650px) { .post-silhouette .post-silhouette-meta { width: 75%; } } @media screen and (max-width: 650px) { .post-silhouette .post-silhouette-meta.with-byline-image { margin: 20px 0; } } @media screen and (max-width: 650px) { .use-theme-bg .post-meta.alternative-meta .post-meta-item, .post-meta.alternative-meta .post-meta-item { padding-right: 16px; } } @media screen and (max-width: 370px) { .use-theme-bg .post-meta.alternative-meta .post-meta-item, .post-meta.alternative-meta .post-meta-item { font-size: 14px; } } @media screen and (max-width: 650px) { .use-theme-bg .post-meta.alternative-meta .post-meta-item.guest-author-pu= blication, .post-meta.alternative-meta .post-meta-item.guest-author-publication { display: none; } } @media screen and (max-width: 370px) { .post-meta .post-meta-item .post-meta-button { height: 36px !important; /* important to override in-line height style on emails */ } .post-meta .post-meta-item .post-meta-button .meta-button-label { display: none; } .post-meta .post-meta-item .post-meta-button > svg { margin-right: 0; } } @media screen and (max-width: 370px) { .post-meta .post-meta-item { font-size: 12px; } } @media screen and (max-width: 650px) { .post .floating-subscribe-button { bottom: 20px; right: 20px; } } @media (max-width: 1024px) { body .pullquote-align-left, body .pullquote-align-right, body .pullquote-align-wide, body .pullquote-align-center { float: none; margin: 0 auto; width: 100%; max-width: 100%; } } @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { body .markup table.image-wrapper img, body .markup table.kindle-wrapper img { max-width: 550px; } } @media (min-width: 1024px) { body:not(:has(#toc)) .captioned-image-container figure:has(> a.image2-off= set-left) { margin-left: var(--image-offset-margin); } body:not(:has(#toc)) .captioned-image-container figure:has(> a.image2-off= set-right) { margin-right: var(--image-offset-margin); } } @media (min-width: 1300px) { body .captioned-image-container figure:has(> a.image2-offset-left) { margin-left: var(--image-offset-margin); } body .captioned-image-container figure:has(> a.image2-offset-right) { margin-right: var(--image-offset-margin); } } @media (max-width: 1024px) { body { /* Disable offset on mobile/tablet */ } body .captioned-image-container figure:has(> a.image2-align-left), body .captioned-image-container figure:has(> a.image2-align-right) { float: none; margin: 1em auto; max-width: 100%; width: auto; padding: 0; } body .captioned-image-container figure:has(> a.image2-align-left.thefp), body .captioned-image-container figure:has(> a.image2-align-right.thefp) = { margin: 1em auto; } body .captioned-image-container figure:has(> a.image2-offset-left), body .captioned-image-container figure:has(> a.image2-offset-right) { margin: 1em auto; } body .captioned-image-container figure:has(> a.image2-align-left) .image2= -inset, body .captioned-image-container figure:has(> a.image2-align-right) .image= 2-inset { display: block; justify-content: initial; } } @media (max-width: 768px) { body .markup div.sponsorship-campaign-embed { margin-top: 24px; margin-bottom: 24px; } body .markup div.sponsorship-campaign-embed:first-child { margin-top: 0px; } } @media screen and (max-width: 650px) { body .markup div.youtube-overlay, body .markup div.vimeo-overlay { display: none !important; } } @media screen and (max-width: 370px) { body .markup div.tiktok-wrap { width: calc(95vw - 32px); height: calc((95vw - 32px - 2px) / 0.485714); } } @media screen and (max-width: 650px) { body .markup div.embedded-publication-wrap .embedded-publication.show-sub= scribe { padding: 24px; } } @media screen and (max-width: 650px) { body .markup div.subscription-widget-wrap .subscription-widget.show-subsc= ribe, body .markup div.subscription-widget-wrap-editor .subscription-widget.sho= w-subscribe, body .markup div.captioned-button-wrap .subscription-widget.show-subscrib= e { padding: 0px 24px; } } @media screen and (max-width: 650px) { body .markup div.subscription-widget-wrap .subscription-widget.show-subsc= ribe .subscription-widget-subscribe .button, body .markup div.subscription-widget-wrap-editor .subscription-widget.sho= w-subscribe .subscription-widget-subscribe .button, body .markup div.captioned-button-wrap .subscription-widget.show-subscrib= e .subscription-widget-subscribe .button { padding: 10px 12px; min-width: 110px; } } @media (max-width: 650px) { body .markup .twitter-embed, body .markup .tweet { padding: 12px; } } @media (max-width: 650px) { body .markup .twitter-embed .tweet-text, body .markup .tweet .tweet-text { font-size: 14px; line-height: 20px; } } @media (max-width: 650px) { body .markup .twitter-embed .tweet-photos-container.two, body .markup .tweet .tweet-photos-container.two, body .markup .twitter-embed .tweet-photos-container.three, body .markup .tweet .tweet-photos-container.three, body .markup .twitter-embed .tweet-photos-container.four, body .markup .tweet .tweet-photos-container.four { height: 200px; } } @media (max-width: 650px) { body .markup .twitter-embed a.expanded-link .expanded-link-img, body .markup .tweet a.expanded-link .expanded-link-img { max-height: 180px; } } @media (max-width: 650px) { body .markup .twitter-embed a.expanded-link .expanded-link-description, body .markup .tweet a.expanded-link .expanded-link-description { display: none; } } @media screen and (max-width: 650px) { body .markup .apple-podcast-container { width: unset; } } @media (max-width: 420px) { body .markup .install-substack-app-embed img.install-substack-app-embed-i= mg { margin: 0 auto 16px auto; } } @media (max-width: 420px) { body .markup .install-substack-app-embed .install-substack-app-embed-text= { margin: 0 0 12px 0; max-width: 100%; width: auto; text-align: center; } } @media (max-width: 420px) { body .markup .install-substack-app-embed .install-substack-app-embed-link= { display: flex; justify-content: center; } } @media screen and (min-width: 500px) { body .header a.logo { width: 42px; height: 42px; border-radius: 12px; } } @media screen and (max-width: 420px) { body .subscription-receipt table:first-of-type .subscription-amount .subs= cription-discount { width: 72px !important; } } @media screen and (min-width: 481px) { body .share-button-container { height: auto; } } @media screen and (max-width: 480px) { body .share-button-container .separator { display: block !important; margin: 0 !important; height: 8px !important; border-left: none !important; } } @media screen and (max-width: 650px) { .digest .item .post-meta-item.audience { display: none; } } @media screen and (min-width: 500px) { .digest-publication .logo img { width: 42px; height: 42px; border-radius: 8px; } } @media screen and (max-width: 650px) { .comments-page .container .comment-list .collapsed-reply { margin-left: calc(10 + 32px - 24px); } } @media screen and (max-width: 650px) { .comment > .comment-list { padding-left: 24px; } } @media screen and (max-width: 650px) { .finish-magic-login-modal .modal-content .container { padding: 24px 0; } } @media (max-width: 650px) { .reader2-text-b3 { line-height: 24px; } } @media screen and (max-width: 650px) { .reader2-text-h4 { line-height: 24px; } } @media screen and (min-width: 541px) { .user-profile-modal { padding-left: 12px; padding-right: 12px; } } @media screen and (max-width: 650px) { .subscribe-widget form.form .sideBySideWrap button.rightButton { padding: 10px 12px; } } @media screen and (min-width: 541px) { .pub-icon:hover .logo-hover, .feed-item-icon:hover .logo-hover { display: block; } } @media screen and (max-width: 650px) { .post-ufi.single-full-width-button .post-ufi-button-wrapper { width: 100%; padding: 16px; } .post-ufi.single-full-width-button .post-ufi-button-wrapper:empty { display: none; } .post-ufi.single-full-width-button .post-ufi-button { width: 100%; justify-content: center; } } @media screen and (max-width: 768px) { .file-embed-wrapper { padding: 0; } } @media screen and (max-width: 768px) { .file-embed-wrapper-editor { padding: 0; } } @media screen and (max-width: 768px) { .file-embed-wrapper-editor:active { padding: 0; } } @media only screen and (max-width: 650px) { .file-embed-button.wide, .file-embed-error-button.wide { display: none; } } @media only screen and (min-width: 630px) { .file-embed-button.narrow, .file-embed-error-button.narrow { display: none; } } @media screen and (min-width: 541px) { .audio-player-wrapper .audio-player { min-width: 500px; } } @media screen and (max-width: 650px) { .audio-player-wrapper .audio-player .audio-player-progress { border-left-width: 16px; border-right-width: 16px; } } @media screen and (max-width: 650px) { .audio-player-wrapper .audio-player .audio-player-progress .audio-player-= progress-bar .audio-player-progress-bar-popup { top: -54px; } } @media screen and (max-width: 650px) { .audio-player-wrapper-fancy .audio-player .audio-player-progress { border-left-width: 16px; border-right-width: 16px; } } @media screen and (max-width: 650px) { .audio-player-wrapper-fancy .audio-player .audio-player-progress .audio-p= layer-progress-bar .audio-player-progress-bar-popup { top: -54px; } } @media (min-width: 250px) { .audio-player-wrapper-fancy .audio-player { padding: 32px; } .audio-player-wrapper-fancy .audio-player .btn-group { display: flex; } .audio-player-wrapper-fancy .audio-player .btn-group .button:last-of-type= { display: block; } } @media (min-width: 300px) { .audio-player-wrapper-fancy .audio-player .btn-group { display: block; } .audio-player-wrapper-fancy .audio-player .btn-group .button:first-of-typ= e { display: block; } } @media (min-width: 350px) { .audio-player-wrapper-fancy .audio-player .audio-player-substack-logo { display: block; } .audio-player-wrapper-fancy .audio-player .audio-player-title { margin-top: 16px; } .audio-player-wrapper-fancy .audio-player .audio-player-hero-image-contai= ner { padding-top: 15%; width: 15%; display: block; } .audio-player-wrapper-fancy .audio-player .btn-group .button:first-of-typ= e { display: block; } .audio-player-wrapper-fancy .audio-player .audio-player-substack-logo { display: block; } } @media (min-width: 350px) { .audio-player-wrapper-fancy .audio-player .audio-player-hero-image-contai= ner { padding-top: 25%; width: 25%; display: block; } .audio-player-wrapper-fancy .audio-player .btn-group { display: flex; } .audio-player-wrapper-fancy .audio-player .btn-group .button:first-of-typ= e { display: block; } } @media (min-width: 400px) { .audio-player-wrapper-fancy .audio-player .audio-player-hero-image-contai= ner { padding-top: 40%; width: 40%; } } @media (max-width: 400px) { .audio-player-wrapper-fancy .audio-player .btn-group { margin-top: 12px; } .audio-player-wrapper-fancy .audio-player .btn-group .button { font-size: 13px; padding: 6px 12px; height: auto; margin-top: 10px; } } @media (min-width: 600px) { .audio-player-wrapper-fancy .audio-player .audio-player-hero-image-contai= ner { padding-top: 55%; width: 55%; } } @media (max-width: 650px) { .poll-editor-modal { min-width: calc(100% - 20px); } } @media (max-width: 750px) { .poll-embed .poll-anchor-target .poll-anchor-copy-button { left: 8px; top: 45px; } }3D=
Your weekly listens from How I AI, part of the Le= nny's Podcast Network
͏     ­͏     &#= 173;͏     ­͏     ­͏   &= #8199; ­͏     ­͏     ­͏=     ­͏     ­͏     = 73;͏     ­͏     ­͏   &#= 8199; ­͏     ­͏     ­͏ =     ­͏     ­͏     = 3;͏     ­͏     ­͏   = 199; ­͏     ­͏     ­͏ &= nbsp;   ­͏     ­͏     ­= ;͏     ­͏     ­͏   Q= 99; ­͏     ­͏     ­͏ &n= bsp;   ­͏     ­͏     ­= ͏     ­͏     ­͏   ̳= 9; ­͏     ­͏     ­͏ &nb= sp;   ­͏     ­͏     ­&= #847;     ­͏     ­͏    = ; ­͏     ­͏     ­͏ &nbs= p;   ­͏     ­͏     ­&#= 847;     ­͏     ­͏    = ­͏     ­͏     ­͏  = ;   ­͏     ­͏     ­= 47;     ­͏     ­͏     = ­͏     ­͏     ­͏  =   ­͏     ­͏     ­T= 7;     ­͏     ­͏     &= #173;͏     ­͏     ­͏   =   ­͏     ­͏     ­͏= ;     ­͏     ­͏     &#= 173;͏     ­͏     ­͏   &= #8199; ­͏     ­͏     ­͏=     ­͏     ­͏     = 73;͏     ­͏     ­͏   &#= 8199; ­͏     ­͏     ­͏ =     ­͏     ­͏     = 3;͏     ­͏     ­͏   = 199; ­͏     ­͏     ­͏ &= nbsp;   ­͏     ­͏     ­= ;͏     ­͏     ­͏   Q= 99; ­͏     ­͏     ­͏ &n= bsp;   ­͏     ­͏     ­= ͏     ­͏     ­͏   ̳= 9; ­͏     ­͏     ­͏ &nb= sp;   ­͏     ­͏     ­&= #847;     ­͏     ­͏    = ; ­͏     ­͏     ­͏ &nbs= p;   ­͏     ­͏     ­&#= 847;     ­͏     ­͏    = ­͏     ­͏     ­͏  = ;   ­͏     ­͏     ­= 47;     ­͏     ­͏     = ­͏     ­͏     ­͏  =   ­͏     ­͏     ­T= 7;     ­͏     ­͏     &= #173;͏     ­͏     ­͏   =   ­͏     ­͏     ­͏= ;     ­͏     ­͏     &#= 173;͏     ­͏     ­͏   &= #8199; ­͏     ­͏     ­͏=     ­͏     ­͏     = 73;͏     ­͏     ­͏   &#= 8199; ­͏     ­͏     ­͏ =     ­͏     ­͏     = 3;͏     ­͏     ­͏   = 199; ­͏     ­͏     ­͏ &= nbsp;   ­͏     ­͏     ­= ;͏     ­͏     ­͏   Q= 99; ­͏     ­͏     ­͏ &n= bsp;   ­͏     ­͏     ­= ͏     ­͏     ­͏   ̳= 9; ­͏     ­͏     ­͏ &nb= sp;   ­͏     ­͏     ­&= #847;     ­͏     ­͏    = ; ­͏     ­͏     ­͏ &nbs= p;   ­͏     ­͏     ­
<= /tr>
=
Forwarded this email? Subscribe here for more
=

🎙️ How = I AI: Quests, token leaderboards, and the elite AI adoption playbook & = Notion’s spec-driven development

Your weekly listens from How I = AI, part of the Lenny’s Podcast Network

=
<= tbody>
 
=
3D""
3D""
<= table role=3D"presentation" width=3D"38" border=3D"0" cellspacing=3D"0" cel= lpadding=3D"0">
3D""
3D"=
<= table role=3D"presentation" width=3D"auto" border=3D"0" cellspacing=3D"0" c= ellpadding=3D"0">
READ IN APP3D""
 <= /tbody>
<= tbody>
=3D""

= Quests, token leaderboards, and a skills marketplace: The elite AI adoption= playbook | John Kim (Sendbird)

= Listen now on YouTubeSpotifyApple Podcasts

=
<= /td>

Brought to you by:

  • WorkOS—Make your app enterprise-ready today

  • ThoughtSpot—Bui= ld AI-powered analytics into your product

=

John Kim is the co-founder and CEO of S= endbird. In this episode, John shares how his marketing team built a live s= wag store with Stripe integration without engineering support, why he track= s every token spent across the org, how he identifies “AI Gods”= inside the company, and why the future of work belongs to people with curi= osity, agency, and energy, not just years of experience.

Biggest takeaways:

  1. The most successful AI transformations = treat internal tooling as a product, not a program. John bui= lt the “Automators” platform—a gamified internal marketpl= ace where anyone can create a “quest” (a request for automation= or tooling), and engineers or AI agents can pick it up and build it. Each = quest shows the risk level, weeks saved, and who benefits. People earn expe= rience points for completing quests, which they can exchange for gift cards= , tea with executives, or the chance to present their work to the entire co= mpany at Wednesday standups. This isn’t a top-down mandate but a prod= uct that makes AI adoption fun, measurable, and rewarding.

  2. <= li style=3D"margin: 8px 0 0 32px;">

    When you give creative teams builder capabili= ties, they’ll create things that would never make it onto a tradition= al product roadmap. John’s marketing team built a full= y functional e-commerce swag store with Stripe integration, custom designs,= and even a Konami Code Easter egg that unlocks secret conference details. = In the old world, this would have required two sprints of engineering time = and probably would have been deprioritized. Now it shipped in days, delight= s customers, and generates actual revenue.

  3. The biggest unlock for non-technical builders is creating sec= ure, compliant templates they can build on top of. John̵= 7;s team created app templates where authentication, environment setup, dat= abases, and security are pre-configured and vetted by InfoSec. Marketers, s= alespeople, and CSMs just extract the template and build their idea on top.= This removes the biggest barrier to non-engineers shipping to production: = the fear of doing something wrong or insecure.

  4. Measure token usage without shame, and create tiers that = make it aspirational. John created five tiers: Beginner (und= er 1M tokens/day), Intermediate, Expert, Architect, Catalyst, and AI God (o= ver 100M tokens/day). Every manager can see where their team members are an= d tailor enablement accordingly. This isn’t about performance reviews= ; it’s about bringing people along the journey and making AI fluency = visible and celebrated.

  5. =

    The g= oal isn’t just to use AI during work hours but, rather, to smooth the= curve so AI works around the clock. John monitors token usa= ge over time and looks for smoothness in the curve. Dips mean people are on= weekends or vacation and AI isn’t working. When the curve smooths ou= t, it means AI partners are working 24/7. This is a fundamentally different= vision: not just augmenting human work, but having AI fill the gaps when h= umans aren’t available.

  6. Build a cross-functional AI task force that meets weekly to unblock challe= nges. John created a role called AI Engineer for Internal Op= erations that reports directly to him and the chief of staff. This person w= orks cross-functionally with the CTO, engineering, and InfoSec to vet tools= , set up compliant tech stacks, and remove barriers. They meet weekly as a = task force to discuss what’s blocking people and how to enable faster= iteration.

  7. The most importan= t hiring criteria for AI-first companies are curiosity, agency, and energy&= #8212;not tenure or experience. John rewrote job description= s to optimize for people who are curious, willing to go deep, and figure th= ings out on their own. He lowered the bar on years of experience and raised= the bar on learning ability. In a world where you can build a custom learn= ing center for any topic in 20 minutes, the constraint isn’t access t= o knowledge; it’s the drive to learn.

  8. Start with your champions, not your skeptics.= John’s advice to CEOs struggling with AI adoption: find the people i= n your organization who are already curious and have agency. Make them the = champions. Give them the spotlight. Let them share their work at all-hands = meetings. Build energy around their stories. Innovation doesn’t start= from theoretical structures—it starts with people who have energy an= d a story to tell. Once others see what’s possible, adoption spreads = organically.

  9. Leadership has t= o model the behavior, not just mandate it. The top token con= sumers at Delight.ai are the executives. When leaders show up with new capa= bilities and ship things faster, it signals to the team that this is real a= nd important. John also does one-on-ones with people who aren’t using= tokens: “We noticed you haven’t been spending any tokens. Can = we help you? What’s stopping you?” This combination of top-down= modeling and bottom-up support is what drives transformation.

Blog & detailed workflow walkthroughs from this epis= ode:

How I AI: John Kim’s Playbook for AI Transform= ation with Quests, Skills, and ‘AI Gods’: https://www.chatprd.ai/how-i-ai/j= ohn-kims-playbook-for-ai-transformation

How to Create an Internal AI Marketplace to Crowdsource Automati= ons: https:/= /www.chatprd.ai/how-i-ai/workflows/how-to-create-an-internal-ai-marketplace= -to-crowdsource-automations

H= ow to Build a Personal AI-Generated Learning Center on Any Topic: https://www.chatprd.a= i/how-i-ai/workflows/how-to-build-a-personal-ai-generated-learning-center-o= n-any-topic

How to Automate P= ersonal Knowledge Management with an AI ‘Gardener’: https://www.chatprd.a= i/how-i-ai/workflows/how-to-automate-personal-knowledge-management-with-an-= ai-gardener

Spec-driven development: = The AI engineering workflow at Notion | Ryan Nystrom

=

Listen now on YouTubeSpotify = 226; Apple P= odcasts

3D""

Brought to you by:

  • WorkOS—Make your app enterprise-ready= today

  • Orkes—The enterprise platform for reliable applications and agen= tic workflows

Ryan Ny= strom is a software engineer and engineering manager at Noti= on, where he works on Notion AI, Custom Agents, and internal systems that h= elp engineers move faster with less busywork. He joined Notion after the co= mpany acquired Campsite, the team communication platform he co-founded. In = this episode, Ryan shares how his team automates standup prep, ships PRs fr= om a single Notion comment, uses specs as the new source of truth, and why = fast CI is becoming essential for AI coding agents. He explains why enginee= ring managers should still write code, how AI is changing meetings, and why= great developer experience matters more than ever.

Biggest takeaways:

    =
  1. Never prep for standups again by auto-genera= ting meeting notes from all your workstreams. Ryan’s N= otion AI agent pulls from Slack conversations, closed tasks, merged PRs, te= lemetry metrics, and yesterday’s meeting transcript to create a compr= ehensive pre-read every morning at 9 a.m. This transforms standups from rot= e status updates into high-bandwidth problem-solving sessions where the tea= m spends 100% of their time on decisions, blockers, and next steps instead = of “I did this thing yesterday.”

  2. Fast CI is the mathematical limit on your AI coding velocit= y. If your CI takes an hour to run, your agents sit idle for= an hour waiting for test results. If it takes three minutes, you can run 2= 0x more iterations in the same time frame. Ryan’s team is aggressivel= y cutting Notion’s CI to 25% of current time specifically to unlock a= gent productivity—because agents don’t get tired, don’t s= leep, and can work in parallel across VMs if your infrastructure supports i= t.

  3. Background agents that shi= p PRs from Slack mentions eliminate context switching. Ryan&= #8217;s “Boxy” system lets him @mention Codex from a Notion tas= k, and 20 minutes later he gets back a PR with implementation, screenshots = of UI verification, and a preview URL. This morning a friend texted him a f= eature request; Ryan wrote four sentences and dropped a screenshot in a Not= ion task, mentioned Codex, and had a shipped PR before lunch. No IDE, no lo= cal environment, no context switch.

  4. <= strong>Specs as source of truth beats code as source of truth for AI-powere= d development. Notion engineers now maintain Markdown spec f= iles in their repo that describe features in plain English with code pointe= rs and verification steps. When they need to update a feature, they update = the spec and point Codex at it—the agent implements everything, runs = verification, and ships. The spec’s version history becomes the chang= elog, and non-technical stakeholders can actually read it.

  5. <= li style=3D"margin: 8px 0 0 32px;">

    “Yap your spec” is a legitimate d= evelopment workflow now. Ryan opens Whisper, talks through h= ow a feature should work, gives that transcript to Codex with examples of o= ther specs, and gets back a comprehensive technical document. This is faste= r than writing and more thorough than typing because you naturally explain = edge cases and context when speaking that you’d skip when writing bul= let points.

  6. Make AI defend it= s technical decisions. When Codex suggests a change Ryan doe= sn’t understand, he doesn’t ask, “Are you sure?” He= says, “You’re wrong; defend your argument with evidence.”= ; This forces the model to provide cited reasoning instead of just agreeing= with whatever the human says. This is especially critical when working on = infrastructure you don’t fully understand—you need the AI to te= ach you, not just comply.

  7. The= era of the hard skill means engineering leaders should write code again. <= /strong>Ryan manages six people and writes code daily. He works until= the minute standup starts without prep because AI handles meeting notes. H= e ships features from his phone on the subway. The AI tools have eliminated= so much meeting prep and information synthesis work that managers can be h= ands-on again—and in Ryan’s opinion, line managers should be wr= iting code, fixing bugs, and staying close to the work.

  8. Changing your tools constantly is energizing, no= t exhausting, when you’re learning. Ryan changed IDEs,= terminals, and workflows more than 10 times in the past year. Instead of f= eeling chaotic, it feels fresh and joyful. He’s working faster and ha= rder than ever, but in a good way—because he’s experimenting, l= earning, and building instead of maintaining the same workflow he’s u= sed for over 12 years. The pace of change is the point.

  9. Good developer experience for humans creates goo= d developer experience for agents. Ryan’s team built c= omprehensive CLI tools, clear documentation, and fast CI long before AI age= nts. Now those same investments make agents more successful—they can = verify their own work, follow blessed paths, and iterate quickly. This crea= tes a virtuous cycle: DX investments help agents, and agent infrastructure = (like cloud dev environments) helps humans too.

Blog & detailed workflow walkthroughs from this episode:

htt= ps://www.chatprd.ai/how-i-ai/ryan-nystrom-notion-workflows-for-engineering-= velocity

Implement Features U= sing Spec-First Development and an AI Coding Agent: https://www.chatprd.ai/how-i-ai/wor= kflows/implement-features-using-spec-first-development-and-an-ai-coding-age= nt

From Notion Task to GitHub= Pull Request in 20 Minutes with a Coding Agent: https://www.chatprd.ai/how-i-ai/workfl= ows/from-notion-task-to-github-pull-request-in-20-minutes-with-a-coding-age= nt

Automate Daily Standup Pre= paration with a Custom Notion AI Agent: https://www.chatprd.ai/how-i-ai/workflows/autom= ate-daily-standup-preparation-with-a-custom-notion-ai-agent

Claude Code just got WAY more powerful

Claire breaks down the biggest announcements from An= thropic’s “Code with Claude” event and what they actually= mean for builders shipping AI products today.

Listen now on YouTubeSpotifyApple Podcasts

If you’re enjoying these episodes, reply and let me k= now what you’d love to learn more about: AI workflows, hiring, growth= , product strategy—anything.

Catch you next wee= k,
Lenny

P.S. W= ant every new episode delivered the moment it drops? Hit “Follow̶= 1; on your favorite podcast app.

You're currently a free subscriber to Lenny's Newsletter. For the full experience,= upgrade your subscription.

Upgrade to paid

 
<= td align=3D"center">3D""Like<= /td>
3D""Comment
3D""Restack
<= /td>
=
 
© 2026
2443 Fillmore St., #380-82= 31, San Francisco, CA 94115
Unsubscribe

3D"Get= 3D"Start<= /p>

3D""3D"" --2950eed3a1e4d9ab75516cd1e8d32a794b16a66f2ae7eb22c18aae006434--