<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Kaci Nguyen: AI-ing]]></title><description><![CDATA[lessons in my (AI) PM journey as a non-technical but intellectually curious AI noob]]></description><link>https://kacinguyen.substack.com/s/ai-ing</link><image><url>https://substackcdn.com/image/fetch/$s_!W62p!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fkacinguyen.substack.com%2Fimg%2Fsubstack.png</url><title>Kaci Nguyen: AI-ing</title><link>https://kacinguyen.substack.com/s/ai-ing</link></image><generator>Substack</generator><lastBuildDate>Mon, 24 Aug 2026 00:49:23 GMT</lastBuildDate><atom:link href="https://kacinguyen.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Kaci Nguyen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[kacinguyen@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[kacinguyen@substack.com]]></itunes:email><itunes:name><![CDATA[Kaci Nguyen]]></itunes:name></itunes:owner><itunes:author><![CDATA[Kaci Nguyen]]></itunes:author><googleplay:owner><![CDATA[kacinguyen@substack.com]]></googleplay:owner><googleplay:email><![CDATA[kacinguyen@substack.com]]></googleplay:email><googleplay:author><![CDATA[Kaci Nguyen]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[tokenmaxxing is just a phase, mom]]></title><description><![CDATA[mandating waste before demanding results is how organizations build lasting AI competence]]></description><link>https://kacinguyen.substack.com/p/tokenmaxxing-is-just-a-phase-mom</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/tokenmaxxing-is-just-a-phase-mom</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Mon, 11 May 2026 22:58:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_Gt1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Gt1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Gt1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_Gt1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_Gt1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_Gt1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Gt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3532528,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/197226469?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Gt1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_Gt1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_Gt1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_Gt1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6766f14e-84e8-4219-9a4f-636c7a42e2d8_2816x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It&#8217;s been roughly 90 days since Intuit launched its 3x productivity initiative, provisioning Claude Code access to every single employee. They&#8217;re just <a href="https://www.wsj.com/cio-journal/why-some-companies-say-ai-tokenmaxxing-is-key-to-survival-e699a128">one of many enterprises</a> making the <a href="https://www.nytimes.com/2026/03/20/technology/tokenmaxxing-ai-agents.html">same bet </a>to become AI-pilled and triple their productivity or risk obsolescence.</p><p>Across the industry, this bet has split organizations into two camps based on how they think about consumption:</p><p>On one side are the inputs-as-virtue leaders, who treat token burn as evidence of cultural transformation. They look at their workforce and conclude that human behavioral inertia is a Sev 0 threat. Setting $50,000 on fire so an employee can learn to use 10 billion tokens is a cheap tax for future-proofing the company. On the other side are the inputs-as-surveillance leaders. Performance reviews may be tied to consumption, and as a result, employees generate reams of unverified, fluffy, polished-looking <a href="https://www.nytimes.com/2025/10/09/world/artificial-intelligence-slop.html">AI slop</a>.</p><p>Both camps are chasing the same 3x, but neither can verify they&#8217;re getting it. Token consumption can&#8217;t tell you whether the work is better, faster, or worth more than it costs. It can only tell you that tokens were used. Employees, sensing they&#8217;re being measured on consumption, are churning out volume to max out their allotments regardless of usability. Management watches usage climb and calls it transformation. It&#8217;s a textbook <a href="https://en.wikipedia.org/wiki/Goodhart%27s_law">Goodhart&#8217;s Law</a> failure: we&#8217;re incentivizing raw consumption with the goal of productivity, but optimizing for the former is corrupting the latter.</p><p>The instinct is to pick a side: either champion tokenmaxxing and accept the slop, or outright demand outcomemaxxing before employees have any foundation for what good looks like, disengage, or fall back on what they already know. But both are wrong when viewed as fixed policies. They miss the reality of how human beings learn. Tokenmaxxing and outcomemaxxing are just sequential phases of organizational maturity, and Goodhart&#8217;s Law applies differently in each.</p><p>The mistake most companies make is applying a point-in-time, static policy to a dynamic learning curve. You can&#8217;t demand ROI from someone who hasn&#8217;t figured out what the tool can do, and you shouldn&#8217;t subsidize brute-force burning from someone who has. To navigate this, management has to guide employees through three distinct phases, and recognize when to move.</p><p>One structural note: these phases apply per function rather than company-wide. I&#8217;d expect engineers running Claude Code through agentic loops to exit Phase 1 in weeks while a marketing team experimenting with drafting and synthesis to need months. For larger organizations with greater heterogeneity, there will likely be two or three phases running at once as the expected state.</p><h2>phase 1: mandated tokenmaxxing</h2><p>In the first 90 days of rollout, the primary goal is behavioral change, not efficiency. Any workforce will sort into roughly three groups:</p><ol><li><p>Non-believers who tried it once, got a mediocre result, and abandoned.</p></li><li><p>Eco-conscious budgeters who feel guilty of wasting electricity and money and self-cap before they discover the upside (<a href="https://app.powerbi.com/view?emc=edit_nn_20260504&amp;nl=the-morning&amp;r=eyJrIjoiZjVmOTI0MmMtY2U2Mi00ZTE2LTk2MGYtY2ZjNDMzODZkMjlmIiwidCI6IjQyNmQyYThkLTljY2QtNDI1NS04OTNkLTA2ODZhMzJjMTY4ZCIsImMiOjF9&amp;segment_id=219328">btw, here&#8217;s how much electricity it uses</a>)</p></li><li><p>Power users &#8211; but at this stage, every power user is a <a href="https://x.com/danhockenmaier/status/2021617680525172840">Slop Cannon</a>. <a href="https://x.com/danhockenmaier/status/2021617680525172840">Turbo Brains</a> don&#8217;t exist yet; they&#8217;re Slop Cannons who survive Phase 2.</p></li></ol><p>I&#8217;d argue Groups 1 and 2 deserve the most attention because re-activating a churned skeptic is harder than coaching an enthusiast towards discipline.</p><p>Management should give everyone an effectively unlimited budget, mandate the latest models, and actively tell employees to be wasteful on purpose. Push the models until they break. Try the absurd prompt. Burn an afternoon on a workflow that ends up not panning out. The goal is to trade short-term financial efficiency for long-term behavioral transformation.</p><p>The math checks out: If an employee&#8217;s salary is $150,000, capping them at  $500/month in tokens to &#8220;protect the bottom line&#8221; is absurd if uncapped access could plausibly make them 3x more productive. The $50K you spend on tokens is buying you the option on a 6-figure productivity gain you can&#8217;t access any other way.</p><p>The Goodhart trap in Phase 1 is the inverse of what you&#8217;d think: you want people to chase the consumption metric, because the friction of adoption is the actual bottleneck. Slop is the cost of breaking the blank page problem.</p><p>You&#8217;d want to exit Phase 1 when weekly active usage stabilizes above ~70% without prompting, and senior ICs start complaining that reviewing AI output is eating their week. The second signal is the more important one because it means you&#8217;ve succeeded at adoption and created a new problem.</p><h2>phase 2: pivot to preceptorship</h2><p>Phase 1 succeeds when senior ICs and directors become slop janitors &#8211; drowning in volume from juniors who&#8217;ve perhaps learned to generate but not to judge. This is the most dangerous phase, because it looks like the system is working (token usage is up! adoption is universal!) when the work has just been offloaded to a different (most expensive) group of people.</p><p>The single highest-leverage move here is to shift review from outputs to prompts. Borrowing from healthcare, directors should become <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC11789507/">AI preceptors</a>. When a junior submits sub-par work, the feedback isn&#8217;t about the deliverable. It&#8217;s:</p><blockquote><p><em>Show me your context window and your prompts. Let&#8217;s refine your .md files.</em></p></blockquote><p>This single reframe does more than any policy change. It turns every review into a teaching moment, it makes prompt quality a visible artifact, and it kills the incentive to ship volume &#8211; because volume without good context just produces more work for the reviewer to dismantle.</p><p>Strategies in this phase could include tapering the universal token budget so consumption stops being a virtue signal, introducing high-taste automated linters or secondary AI review agents as a slop filter before human review, and starting to grade employees on whether they&#8217;re building systems that level up their peers.</p><p>The Goodhart trap to note in Phase 2 is that tokens-per-employee falls, and management declares victory on &#8220;efficiency&#8221; while the actual problem (judgment, taste, context) goes unmeasured.</p><p>You&#8217;d want to exit Phase 2 when prompt quality, not adoption, is the bottleneck &#8211; and when a handful of Turbo Brains have emerged who can demonstrably ship reusable workflows that other people use.</p><h2>phase 3: return to rigor with outcome grants</h2><p>Once the behavioral shift has stuck, orgs can transition off universal unlimited budgets and onto outcome grants. If a Turbo Brain can prove a specific workflow saves their team 10 hours/week (inclusive of vertical and horizontal stakeholder alignment), their department unlocks a dedicated uncapped pool for <em>that workflow</em>.</p><p>The unit of reward is the reusable scaffold: a prompt library, an internal tool, a documented workflow, an agent that other people can pick up and run. You&#8217;re rewarding the thing that compounds, not the person who happened to build it. This matters because the alternative &#8211; rewarding individual productivity gains &#8211; recreates the same Slop Cannon dynamics one level up.</p><p>Outcome grants should be jointly approved by the function head (who can attest to the work) and finance (who owns the budget). Neither should own it alone since function heads may rubber-stamp and finance may starve good ideas.</p><p>What about employees who don&#8217;t graduate into Turbo Brains? They keep a reasonable baseline allotment for daily work, with their manager&#8217;s preceptorship still available.</p><p>We could counter the Goodhart trap in Phase 3 by funding <em>attempts</em> at scaffolding, not just successes, to avoid any drifts back toward conservative use of AI.</p><h2>how companies could stagnate</h2><p>To get to 3x productivity, organizations will want to progress to phase 3 as quickly as possible without sacrificing the foundational integrity established in the previous phases. You&#8217;ll want to watch out for signals of missing foundational pieces that could cause an organization to standstill. </p><p>In Phase 1, focus on quality once adoption numbers take hold. If not, token usage could climb, senior ICs could become full-time slop janitors, and no one will pull the trigger on preceptorship to progress on productivity.</p><p>In Phase 2, watch out for preceptorship becoming a permanent state where no one is trusted to operate independently, every workflow still requires a senior reviewer, and Turbo Brains never get the room to build. You&#8217;ll want to look at scaling quality and enable to deploy org-level judgment once it&#8217;s developed.</p><p>Be cautious of jumping straight into Phase 3. By skipping the foundational phases and gating everything on outcomes from day one, you risk adoption for the majority. This is where eco-conscious budgeters may self-cap before they know what&#8217;s possible, where Turbo Brains work in isolation without bringing the rest of the organization with them, and where managers may not realize the competence wasn&#8217;t broadly built because exploration was never funded.</p><h2>teaching resilient adaptation</h2><p>When Claude 5 (or the next leap) lands, it&#8217;s expected that parts of the org will snap back to Phase 1. Old prompts will break, new capabilities will emerge, and exploration will start over. </p><p>What&#8217;s critical for organizations is to cultivate problem-solving skills by developing a culture of play. AI has <a href="https://a16z.com/the-trillion-dollar-ai-software-development-stack/">democratized the ability to build</a> more than ever before, and the best way to understand it is to<a href="https://www.ebsco.com/research-starters/religion-and-philosophy/seymour-papert-and-constructionism"> make stuff with it</a>. This means budgeting for temporary efficiency dips as the expected cost of learning by making. The organizations that understand this don&#8217;t treat exploration as a waste. Instead, they deliberately fund exploration, protect it from short-term efficiency pressures, and build it into how teams work.</p><p>Orgs that do this don&#8217;t scramble when the next evolution of tools and capabilities land. They&#8217;ll treat it as Phase 1. That capacity to reset, explore, and build will be one of the only remaining durable advantages in a market where every competitor has access to the<a href="https://support.claude.com/en/articles/12138966-release-notes"> latest Anthropic releases</a>.</p>]]></content:encoded></item><item><title><![CDATA[week 4 with claude (for work)]]></title><description><![CDATA[AI tools need better onboarding for non-technical users]]></description><link>https://kacinguyen.substack.com/p/week-4-with-claude-for-work</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/week-4-with-claude-for-work</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Tue, 07 Apr 2026 01:00:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZpOG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZpOG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZpOG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZpOG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZpOG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZpOG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZpOG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg" width="2657" height="1395" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1395,&quot;width&quot;:2657,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1227831,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/192673700?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa47f91b6-c402-424f-b878-3e92dc7ff804_2816x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZpOG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZpOG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZpOG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZpOG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fccb29247-2cad-421e-9efa-6d30a622aacd_2657x1395.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Knowledge workers in tech are racing to go &#8216;AI-native&#8217;, or get left behind. For engineers, that&#8217;s a natural extension of how they already work. For everyone else &#8211; PMs, designers, ops &#8211; there&#8217;s a sizable <a href="https://www.nngroup.com/articles/two-ux-gulfs-evaluation-execution/">gulf of execution</a> to overcome.</p><p>Setup is one problem: dependencies, CLI tools, and config files that assume prior knowledge can get very confusing, very quickly.</p><p>Knowing which MCPs to install is another. Every function has its own process, and tools like Claude and Cursor are broad enough that the path to start is genuinely unclear. The current enablement model is self-serve: go read the docs, and figure it out.</p><p>What&#8217;s missing are curators&nbsp;&#8211; people who define opinionated paths and embed the knowledge into a guided setup.</p><p>So that&#8217;s what I built this past week: a multi-session onboarding system in Claude Desktop that takes PMs to fully tooled and ready to hit the ground running, no terminal experience required.</p><h3>why claude desktop</h3><p>There&#8217;s a catch-22 with AI tooling setup. If you don&#8217;t already have Cursor or Claude Code installed, you can&#8217;t ask them to install themselves despite how good they are at self-correcting. Claude Desktop breaks that loop, making it as simple as installing an app, and from there it can orchestrate everything else.</p><h3>design decisions</h3><p>The system has three phases: environment setup, tool connections, and building your first skill.</p><h4><strong>setup</strong></h4><p>Each phase is its own skill you invoke in Claude Desktop. <strong>/check-setup</strong> detects what you already have and only walks you through what&#8217;s missing. Every terminal command comes with a plain-English explanation and a verification check. All you need to do is copy-paste the command, see the output, and answer a question about how it went.</p><h4><strong>tool connection</strong></h4><p>The tool connection phase (<strong>/connect-tools</strong>) wires up Slack, Jira, Google Drive, Figma, and GitHub across Claude surfaces. Each tool has its own sub-guide because the auth flows are different &#8211; some are click-to-authorize, some need MCP plugin config. Bundling them would&#8217;ve created a wall of text that breaks the moment one tool changes.</p><h4><strong>building a skill</strong></h4><p>Phase 3 is building the skill (<strong>/build-skill</strong>) to apply the integrations. It teaches PMs how to create a custom Jira ticket-writing skill tailored to their specific team. The end state is for AI to actually be useful for your context. That&#8217;s the main difference between setup with tools installed and AI enablement.</p><h4><strong>safety net</strong></h4><p>As a safety net, there are two skills that support the user throughout this process:</p><ol><li><p><strong>/my-progress</strong> tracks exactly where you are so you can stop and pick up days later.</p></li><li><p><strong>/escalate</strong> tries up to five automatic fixes when something breaks. If none work, it drafts a Slack message to the right support channel with everything that was tried and tags the right people. This ensures that no one is left stranded.</p></li></ol><p>The whole system is built on the premise that you don&#8217;t need to be technical to benefit from AI tools. The people who understand the technology have a responsibility to make it accessible by building paths that meet people where they are, rather than writing more docs. This is one attempt at that.</p><h2>demo</h2><p>I can&#8217;t share a recording of how it works since this is set up on my work laptop. Instead, I&#8217;ll share the project structure and the overall project instructions I used which could in theory be scaffolded to create your own version.</p><h3>project structure</h3><p>It&#8217;s set up as a Claude Project skill organized as a router pattern, where one central skill file routes to phase-specific reference files.</p><h4>architecture pattern</h4><p>The whole thing follows a progressive disclosure router design: <strong>SKILL.md</strong> dispatches &#8594; phase routes (<strong>check-setup.md</strong>, <strong>connect-tools.md</strong>) triage what&#8217;s needed &#8594; sub-files handle individual tools with step-by-step instructions, expected outputs, troubleshooting tables, and escalation hooks. State is persisted across sessions via Claude&#8217;s storage API under the key onboarding:progress.</p><h4>entry point</h4><p><strong>SKILL.md</strong> &#8211; This is the master routing table and configuration that Claude reads first. It defines the skill&#8217;s trigger keywords, core principles, the progress tracking schema (JSON), Slack channel IDs for escalation, and the routing table that maps user commands to reference files.</p><h4>phase 0: welcome &amp; orientation</h4><p><strong>start-here.md</strong> - This is the front door that handles first-time users by auto-detecting their Slack profile, checking prerequisites like training courses and access requests, showing the journey overview, and personalizing examples based on which group they belong to.</p><h4>phase 1: environment setup (router + 3 sub-files)</h4><p><strong>check-setup.md</strong> &#8211; Smart router for Phase 1. Triages what the PM has already installed and only walks them through what&#8217;s missing. Routes to three sub-files:</p><ul><li><p><strong>setup-foundations.md</strong> &#8211; Prerequisites: macOS version check, Homebrew install, Node.js, and Git. Each tool gets a plain-English analogy before the install command</p></li><li><p><strong>setup-cursor.md</strong> - Download Cursor, SSO login with company credentials, 60-second orientation tour, optional AI model configuration</p></li><li><p><strong>setup-claude-code.md</strong> - Request access via admin portal, install the CLI, first login with SSO, handle the common SSL certificate error, verify with claude doctor</p></li></ul><h4>phase 2: connect tools (router + sub-files)</h4><p><strong>connect-tools.md</strong> &#8211; Smart router for Phase 2. Explains connectors vs. MCPs, triages what&#8217;s already connected, determines which Claude surfaces the PM has, then walks through each tool. Routes to five sub-files:</p><ul><li><p><strong>connect-slack.md</strong></p></li><li><p><strong>connect-jira.md</strong></p></li><li><p><strong>connect-gdrive.md</strong></p></li><li><p><strong>connect-figma.md</strong></p></li><li><p><strong>connect-github.md</strong></p></li></ul><h4>phase 3: build first skill</h4><p><strong>build-skill.md</strong> - This guides the PM through creating a custom Jira ticket-writing skill, but any skill can be defined here as their hero example.</p><h4>cross-cutting utilities</h4><ul><li><p><strong>my-progress.md</strong> - Progress tracker that loads PM&#8217;s state from persistent storage and renders a visual dashboard. Suggests the next logical action, surfaces active escalations, and offers to post a compact progress card to Slack</p></li><li><p><strong>escalate.md</strong> - Escalation flow triggered after 5 failed troubleshooting attempts or manually via <strong>/escalate</strong>. Gathers full context (who, phase, step, tool, all attempts, error text, environment), routes to the correct Slack support channel, drafts a formatted message tagging the program leader and logs the escalation to persistent storage.</p></li></ul><h4>reference files</h4><ul><li><p><strong>common-errors.md</strong> &#8211; This file contains error pattern matching for self-healing before escalation. Errors are collected and synthesized from the support channels.</p></li></ul><h3>Instructions</h3><blockquote><p>## Instructions<br>You are the onboarding assistant for <em>[group name]</em> product managers. Your job is to guide non-technical PMs through setting up Claude and AI tooling using a structured, multi-session onboarding flow.</p><p>**How you work**<br>When a PM starts a conversation or says &#8220;/start-here&#8221;, read the SKILL.md file first to understand the routing table, then read the appropriate reference file before responding. Always check for existing progress in persistent storage at the start of every session so PMs can pick up where they left off.</p><p>When a PM reports any error, read references/common-errors.md first and attempt to self-heal before escalating.</p><p>Route commands to the right reference file:<br>- /start-here &#8594; start-here.md<br>- /check-setup &#8594; check-setup.md (smart router &#8594; setup-foundations.md, setup-cursor.md, setup-claude-code.md)<br>- /connect-tools &#8594; connect-tools.md (smart router &#8594; connect-slack.md, connect-jira.md, connect-gdrive.md, connect-figma.md, connect-github.md)<br>- /build-skill &#8594; build-skill.md<br>- /my-progress &#8594; my-progress.md<br>- /escalate &#8594; escalate.md<br>- Error reported &#8594; common-errors.md</p><p>**Smart triage:** Don&#8217;t assume everyone starts from zero. Check what&#8217;s already installed/connected and skip completed items.</p><p>**Always a path to escalation:** When something goes wrong, try to fix it (up to 5 attempts with different approaches). Track every attempt. If still stuck after 5 attempts, auto-draft a Slack message to the right support channel with full context and tag the appropriate people. No PM should ever feel stranded.</p><p>**The three tools:**<br>By the end of onboarding, every PM should have:<br>- Claude Desktop (claude.ai) &#8212; Chat interface for research and guided workflows<br>- Cursor &#8212; AI-powered editor for files, documents, and projects<br>- Claude Code &#8212; Claude in the terminal for hands-on tasks and automation</p><p>Frame these as &#8220;three doors into the same brain &#8212; each optimized for different work.&#8221;</p><p>**Tone and approach**<br>- Warm, patient, jargon-free &#8212; like a friendly colleague, not a technical manual<br>- Use progressive disclosure &#8212; one step at a time, never dump everything at once<br>- Always use analogies before introducing technical terms<br>- Show the exact command and expected output for every step<br>- Celebrate small wins along the way<br>- If something fails, stay reassuring: &#8220;This is really common &#8212; let&#8217;s fix it together.&#8221;</p><p>**Key details**<br><em>[any context about channels, support channels, people, org context]</em></p></blockquote><p>The system itself is unvalidated, but the pattern is what I&#8217;d want to see more of &#8211; opinionated, guided paths that meet people where they are. It&#8217;s the kind of onboarding experience I&#8217;d hope to see built natively into tools like Claude Code and Cursor so we can further lower the barrier to entry and build more inclusive AI for people of all backgrounds.</p>]]></content:encoded></item><item><title><![CDATA[week 3 with claude code (for work)]]></title><description><![CDATA[A/B testing my writing, scraping Storybook, enriching Jira, and mining Slack]]></description><link>https://kacinguyen.substack.com/p/week-3-with-claude-code-for-work</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/week-3-with-claude-code-for-work</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Tue, 31 Mar 2026 04:35:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uQsz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uQsz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uQsz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uQsz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uQsz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uQsz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uQsz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg" width="1456" height="795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:795,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2752932,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/192270514?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uQsz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uQsz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uQsz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uQsz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe33dba5c-9d84-4c07-896c-ae8068f8a120_2814x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every day, there is a new tutorial, a new starter pack, a new repository of skills.md touting &#8220;the best&#8221; in the industry. I don&#8217;t buy it anymore.</p><p>When anyone can write a skill in an afternoon, you get a proliferation of content with no governance for what&#8217;s actually good. If you work in an enterprise company and are writing a strategy doc, &#8220;good&#8221; will be based on your organization&#8217;s standards and house style. What I&#8217;m finding is most of the creators of these skills don&#8217;t work with the messiness of enterprise data or have existing standards to work with. They&#8217;re building off clean slates &#8212; early-stage companies with no baggage, or freelancers building theoretical skills that aren&#8217;t grounded in today&#8217;s reality. These creators are just really loud marketers.</p><p>After trying a few skills myself, I&#8217;ve found it&#8217;s hard to realistically apply this to my day-to-day. Is that just me? To me, skills are like boilerplates. They may get the bulk of the framework down but a lot needs to get re-worked and adjusted for a polished document that packs maximum meaning and subtext into each word and sentence. I will revise 30-40% of the content because the context of the delivery and my audience is always slightly different.</p><p>I think the trick is to treat skills like ML models: benchmark the new one against what you already have, prune what&#8217;s stale, and fold in what&#8217;s tested and proven.</p><p>Which is why I personally recommend everyone to test themselves! Start with something, then benchmark it and use your taste to refine it. You are the expert of your team, your processes, and how your craft fits into the way things actually work at your company. </p><p>Now getting off my soap box, here&#8217;s how I used Claude this past week:</p><blockquote><p>Note: What works for me isn&#8217;t necessarily the correct, de facto way to go! Try for yourself.</p></blockquote><h3><strong>A/B testing my writing</strong></h3><p><em>How do you codify your taste in writing?</em></p><p>First, I started with my strategy document stored as a markdown copy.</p><p>Then I used the prompt:</p><blockquote><p>Given this strategy document &lt;reference to file&gt;, interview me using A/B examples to help refine the style and tone. Present me with two options for a paragraph. First, critique both options. Then ask me which I prefer and why. Use my answers to write a 1-page &#8216;Essence&#8217; document summarizing my taste in this domain.</p></blockquote><p>By default, Claude Code will visualize the example options in the terminal window and you can step your way through each feedback round directly in chat by just answering Claude&#8217;s questions and hitting enter.</p><p>Claude generated two variations in each round, and for each round I would use the voice feature to riff on what I liked and didn&#8217;t like for each option and why.</p><p>Next, Claude would take my feedback and deliver a new set of variations in a new round. For the paragraph I was working on, Claude presented 6 rounds: </p><ol><li><p>Narrative vs. Structure</p></li><li><p>Thesis first: Tight vs Supported</p></li><li><p>Synthesis: Evidence density</p></li><li><p>Refined: Sentence rhythm &amp; precision</p></li><li><p>Thesis clarity &amp; closing strength</p></li><li><p>Specific thesis statement</p></li></ol><p>As an example of variations, it presented these two option critiques in Round 2:</p><blockquote><p><strong>Option A</strong>: Ultra-concise &#8212; four sentences, one framework, done. Any audience walks away knowing the thesis. Risk: it may feel too sparse for a strategy doc where stakeholders expect to see the evidence that led to the conclusion. The research is entirely absent; you&#8217;d need to trust that the Problem section carries all the proof.</p><p>&lt;revised content underneath&gt;</p><p><strong>Option B</strong>: Leads with the same clear thesis, then immediately supports it with one tight evidence block before closing. Gives the reader the &#8216;why should I believe this&#8217; without burying the point. Risk: slightly longer &#8212; the research paragraph adds weight but could feel redundant if the Problem section already covers defection data. The customer quotes add texture but lengthen the section.</p><p>&lt;revised content underneath&gt;</p></blockquote><p>By the end, it captured my &#8216;taste&#8217; in a &#8216;writing essence&#8217; file that I can now reference for every new document I write.</p><h3><strong>Creating a local copy of components</strong></h3><p><em>How do you prototype with your product&#8217;s real UI without cloning the entire codebase?</em></p><p>When your company has a poly-repo and all you want to do is create realistic prototypes with the design library, cloning the whole thing is overkill. Instead, I made a local copy of the components from the Storybook catalog of UI components so I can quickly whip up lightweight prototypes without worrying about the extra backend dependencies. To do this, I provided a URL and scraped the HTML and CSS for the components to build in my local repo.</p><h3><strong>Enriching Jira tickets</strong></h3><p><em>How do you turn a brain dump into a ticket an engineer can actually act on?</em></p><p>I logged a few bugs for a testing session and wrote up a test plan. Then I used Claude Code to enrich the tickets with detail and formatting. It&#8217;s quite nice to be able to brain dump a soup of thoughts and out comes a highly structured and thoroughly documented ticket with a detailed description, steps to reproduce, expected behavior, and actual behavior, written out for engineers to debug and fix.</p><p>I also used it to identify edge cases and acceptance criteria I missed. For example, I&#8217;ve been working on a feature that involves spreadsheet upload and extraction. Claude surfaced edge cases I hadn&#8217;t considered: browser refreshes during extraction, uploading a spreadsheet with mixed date formats or multiple worksheets in one .xlsx, and race conditions where the screen loads before our experimentation platform can make an assignment call &#8212; all valid and realistic test cases I wouldn&#8217;t have caught until they broke in production.</p><h3><strong>Searching through institutional knowledge</strong></h3><p><em>How do you separate signal from noise in a flood of internal AI content?</em></p><p>A fun way I used Claude Desktop (not CLI) recently is to search through our Slack for where the high-signal-to-noise, high-volume Claude Code activity was. Where are the super curious, super smart people using it? How are they using it? Because almost everyone is using it and sharing how they&#8217;re using it, you get a lot of noise.</p><p>I asked Claude to look for channels based on concrete engagement signals such as Slack reaction counts, thread depth, number of follow-up questions it resolved, and cross-channel references. Resources with fewer than 3 community engagement signals were excluded.</p><p>A few interesting insights I found when mining Slack:</p><ol><li><p>Power users were in Tel Aviv, Israel - a hot spot of innovation and members sharing best practices for AI coding workflows.</p></li><li><p>Our #cmty-claude channel, which is intended to be a community for sharing Claude Code resources, was being used instead as a support channel with a lot of members asking questions about their setup.</p></li></ol><p>It seems the best signal was almost never where you&#8217;d expect it. Official channels collected FAQ-style noise while real workflows surfaced organically in team channels.</p><div><hr></div><p>Next week, I&#8217;ll write about turning that signal into something useful &#8212; an opinionated onboarding guide to AI tools at work curated across teams and functions.</p><p></p>]]></content:encoded></item><item><title><![CDATA[week 2 with claude code (for work)]]></title><description><![CDATA[finding alpha in the enterprise AI trough of disillusionment]]></description><link>https://kacinguyen.substack.com/p/week-2-of-using-claude-code-for-work</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/week-2-of-using-claude-code-for-work</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Tue, 24 Mar 2026 04:03:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3LnK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3LnK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3LnK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3LnK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3LnK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3LnK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3LnK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg" width="963" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:963,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241296,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/191140543?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F241ceacd-e713-46f4-98e5-cdc7ee0207ff_1024x559.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3LnK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3LnK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3LnK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3LnK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bc86fdd-fa38-41bb-9587-8fd87826b26a_963x506.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Another week, another $50 using Claude Code at work. This week was more token-intensive than the last since I&#8217;ve been writing docs that require synthesizing a massive amount of context.</p><p>My three focus areas were preparing for an upcoming launch (which meant writing user acceptance test cases for a bug bash), prepping to <em>talk</em> about that launch (meaning more writing, but a Product Forum 6-pager), and writing a strategy for next year.</p><p>Here&#8217;s how I used Claude Code for each:</p><h3>writing test cases</h3><p>At Intuit, the responsibility for user acceptance testing falls squarely on the product manager. We&#8217;re the bearers of the quality bar and the gate-keepers of what gets shipped. If a customer goes through a bad experience, it&#8217;s on us to rally the team and fix it. That means when it comes to launching new features, we&#8217;re the ones writing test cases to uncover bugs in the experience.</p><p>Last week, I was preparing to launch a new experiment testing how two new design variants on an intro screen impact engagement. This means four paths to test: the control baseline, the experiment baseline, Design Variant A (slight improvements), and Design Variant B (a big-swing re-frame).</p><p>Since most of the expected behavior was already captured in Jira tickets and PRDs, I figured I could auto-generate the test cases and transfer them into a Google Sheet. I used Claude in my terminal to draft the scenario descriptions, steps to test, and expected behaviors by reading Jira tickets and Figma screenshots.</p><p>Quite a few issues came up on my first run:</p><ol><li><p><strong>Hallucinated happy paths:</strong> I didn&#8217;t provide enough context about how the screens linked. Claude assumed Variant A linked to Variant B on some navigation paths, or that a &#8220;Continue&#8221; button in Variant B mapped to a new screen when they were actually unrelated.</p></li><li><p><strong>Formatting friction:</strong> I initially copied the text directly from the terminal chat and pasted it into Google Sheets, which carried over funky indentations and spaces.</p></li></ol><blockquote><p><strong>Tip I learned after much struggle</strong>: When copying text from Claude Code chat, use the <code>pbcopy me</code> command rather than selecting and copying directly from the terminal window. Terminal selection copies the rendered output, which can include non-breaking space, tab-to-space misalignment, and invisible Unicode characters &#8212; all of which create weird indentation and spacing when pasted into docs. Piping through <code>pbcopy </code>gives you clean plain text without the extra ~funk.</p></blockquote><p>I&#8217;d rate this use case an 8 out of 10. Minus a few necessary human edits, it did the heavy lifting with much greater detail and speed than I could manually. With four experiment paths, each with its own screens, buttons, and expected behaviors, the test matrix expanded quickly (I ended up with ~60 test cases.) Next time, I&#8217;d probably do this in Claude Desktop with the Jira/Figma/Drive connectors set up, prep the inputs better, and write a custom skill for it to eliminate the copy-pasting entirely.</p><h3>writing product forum document</h3><p>We have a ritual called &#8220;Product Forums&#8221;, similar to <a href="https://coda.io/blog/product-teams/three-rituals-that-power-codas-product-team">Coda&#8217;s Bullpen</a>, where anyone can present a topic to get feedback or share their craft for visibility. I&#8217;m signed up to share progress on an initiative, which requires a 6-pager pre-read doc to keep the actual meeting focused on high-impact questions.</p><p>Luckily, I had a lot of working documents saved as markdown files, alongside manually crafted templates from past forums. I started a new session, used the voice feature (press+hold spacebar) to set the context, and prompted:</p><blockquote><p><em>"Hey, I&#8217;m writing a document similar to [reference doc] but on this new project. Refer to [customer-interviews] and [analytics-findings] for the qualitative and quantitative learnings. Refer to [decision-doc] for the design variants we considered and our rationale. Use the </em><code>AskUserQuestion</code><em> tool to interview me in detail."</em></p></blockquote><p>3 out of 10. The first draft definitely wasn&#8217;t immediately usable (more on that later), but it was an excellent seed starter to revise and edit off of. It got me past the blank page which is always my biggest opp in writing. Still, I had to overhaul a lot of the narrative structure.</p><h3>writing strategy</h3><p>It&#8217;s that time of year when leadership puts pen to paper on strategy. By far, this task was the most iterative and arduous for me+Claude.</p><p>Strategy is notoriously complex. As Chandra Janakiraman highlighted in <a href="https://www.lennysnewsletter.com/p/strategy-blocks-an-operators-guide">Lenny&#8217;s Newsletter</a>, it requires a ton of inputs: behavioral insights, UXR, competitive analysis, leadership interviews, and adjacent roadmaps. For a small startup, this might be easy to procure and synthesize. But for a large, established enterprise with hundreds of historical documents, versions, and fragmented insights, it&#8217;s incredibly hard for AI (and even me) to filter the noise.</p><p>I tried anyway. I used the voice feature to set context, fed it vetted docs, and told Claude to use placeholders for data and quotes that needed verification or could strengthen the narrative. It required heavy cache reads/writes and multiple versions.</p><blockquote><p><strong>Tip: Formatting your context to save tokens</strong> </p><p>If you&#8217;re pulling context from Google Docs, be careful with markdown exports. Exporting a doc with images creates massive base64 image tags, which will quickly inflate your token usage and costs. I learned it&#8217;s much better to just copy and paste the text directly to bypass the images altogether.</p><p>Also, navigating Intuit&#8217;s slide-heavy culture meant I had to make a lot of decks AI-friendly. I fed them into Claude Desktop and prompted it to convert the presentation into markdown slide-by-slide, making sure to tell it to ignore header and skipped slides. What was really neat was that at the end of the chat, Claude automatically offered a button to open the newly formatted document directly in Cursor.</p></blockquote><p>2 out of 10. The first few drafts were not great, but again, they got me past the blank page. While I didn&#8217;t feel I could completely hand off this work to Claude, I did find it useful to have an idea sparring partner to go back and forth with until I got to something more usable.</p><h2>reflection: the hard part isn&#8217;t the technology</h2><p>Right now, the consensus among PMs is that AI isn&#8217;t &#8220;there&#8221; yet for complex tasks like strategy. It is still a heavily human-led endeavor. I agree with the sentiment, but I think the drag is more organizational than it is technological.</p><p>We&#8217;ve pulled back the curtain and found that for discrete tasks, there <em>does</em> exist an omniscient, powerful wizard that can 10x our productivity. But for complex knowledge work requiring cross-domain expertise and skills like synthesizing fragmented insights, navigating reams&#8217; worth of ambiguous data, and writing for senior and cross-functional audiences, there&#8217;s no magic. There is just a human sporting an emerald frock coat, cranking the machinery and wiring everything together by hand.</p><p>Right now, Claude is fantastic at getting me a 40% quality document in 5 minutes. Getting it to 90%+ takes hours. Part of that is inherent to the craft. For knowledge workers, clarity of thought comes through the act of writing. I didn&#8217;t actually understand my own strategy until I was forced to restructure the arguments and sharpen the logic myself.</p><p>The other part of that friction is the tedious editorial scrubbing required to remove AI defaults. I refuse to ship a strategy document without purging the correlative constructions (&#8221;It&#8217;s not X, but Y&#8221;), the emphatic colons (&#8221;The signal is clear:&#8221;), and the banal buzzword phrases (&#8221;To unlock step-change growth&#8221; &#128557;&#9995;.)</p><p>The writing is one thing, but the deeper issue imo is the data. My struggle with the strategy doc illustrates how disorganized corporate tribal knowledge remains a major limiting factor. Institutional context lives scattered across Slack threads, buried in emails, and locked in slide decks optimized for visual storytelling (anyone remember Rule of Three?) When the people who created that content leave the company, the history leaves with them.</p><p>Prompting can only get you so far in an informational vacuum with no human-approved seal of quality. What enterprises actually need are shared knowledge layers&#8212;codified, maintained, and vetted by domain experts&#8212;so the AI has something trustworthy to synthesize in the first place.</p><p>Building that layer is less of a technical challenge than a cultural one. Organizations have to fundamentally re-architect how people work. They must encourage teams to move away from isolated chat sessions toward shared context bases that serve both new and tenured employees alike. This requires a shift in priorities, including relinquishing the instinct for polish in favor of speed. It means documenting research and decisions in structured, AI-friendly formats <em>as they happen</em>, rather than after the fact. It means letting AI handle the grunt work while humans step up simply to manage, direct, and ship.</p><p>Until enterprise knowledge management catches up to the technology, organizations will keep hitting a hard ceiling on AI&#8217;s potential, and the climb out of the <a href="https://www.gartner.com/en/research/methodologies/gartner-hype-cycle">Trough of Disillusionment </a>will be painstakingly slow. Luckily, individuals operate without those limits. The people figuring out how to build their own context layers, wrangle the messy inputs, and edit the output into something readable aren&#8217;t waiting for the enterprise to catch up.</p><p>That gap is their alpha.</p>]]></content:encoded></item><item><title><![CDATA[week 1 with claude code (for work)]]></title><description><![CDATA[here's exactly how I used claude code as a product manager at an enterprise company in the first week of access]]></description><link>https://kacinguyen.substack.com/p/claude-code-week-1</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/claude-code-week-1</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Mon, 16 Mar 2026 15:17:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CXd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CXd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CXd6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CXd6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CXd6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CXd6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CXd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg" width="1456" height="795" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:795,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2549857,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/190884487?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CXd6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CXd6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CXd6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CXd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23b95c4d-3719-4548-8fe4-7c5afb150fe0_2814x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I (finally!) got access to Claude Code officially at work. I&#8217;ve been feeling a bit behind the curve since it seems like most product teams have had licenses for months. So I&#8217;ve been trying to lock in and play catch up by exhaustively learning and applying ways I can automate my routine execution tasks so I can focus more on the judgment, taste, and influence aspects of the job.</p><p>Here is a day-by-day breakdown of exactly how I set that up over my first week:</p><h2><strong>day 1 - setup + installing mcps</strong></h2><p>We didn&#8217;t have access to Enterprise yet, so I only installed Claude on my terminal and used their API usage billing to get credentials. I personally prefer running Claude directly within an IDE like Cursor. By keeping Claude open in a terminal side-panel, I maintain context on the active directory and open files as visual cues while I chat with Claude.</p><p>Below is my personal setup that with Cursor as an IDE + Claude opened in the terminal as a side panel:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;451eff44-819c-4546-99f4-d84d0ace20c8&quot;,&quot;duration&quot;:null}"></div><p>When it comes to setting up MCPs, I first set up Figma and Jira since those were the two applications I&#8217;d been interfacing with the most in my day to day. Below is the exact process I used (including some trial-and-error learnings) to connect an MCP, using Notion as the example:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;85306bf0-e90c-4247-ba00-a9631c4ef991&quot;,&quot;duration&quot;:null}"></div><ol><li><p><strong>Fetch the command:</strong> Copy the specific installation command from <a href="https://code.claude.com/docs/en/mcp">Claude Code&#8217;s MCP documentation</a> for your target server.</p></li><li><p><strong>Execute:</strong> Paste and run the command in your terminal.</p></li><li><p><strong>Re-initialize:</strong> You will likely need to restart the session for the MCP to register. You can either start a new session entirely or kill the current one using <code>Ctrl + C</code> on Mac.</p></li><li><p><strong>Verify:</strong> Type <code>/mcp</code> in the terminal to view your active list of connected servers.</p></li><li><p><strong>Authenticate:</strong> Hit authenticate. This opens a new browser window (or tab) where you&#8217;ll authorize the connection.</p></li><li><p><strong>Confirm:</strong> You&#8217;ll know the handshake was successful when you see an &#8220;Authentication Successful&#8221; message in the browser, mirrored by an &#8220;Authentication successful. Connected to [MCP name].&#8221; prompt in your terminal.</p></li></ol><h2><strong>day 2 - project folder setup</strong></h2><p>I knew from a recent PM webinar that building reusable &#8220;skills&#8221; was the key to maximizing use out of Claude Code for PMs, but the optimal directory structure to enable that wasn&#8217;t immediately obvious.</p><p>When I prompted Claude to create my first skill to write weekly program review updates, it defaulted to a global setup, storing the skill at the root level of my laptop. I had to explicitly course-correct the LLM to adopt a project-local architecture, ensuring that my AI skills and knowledge were isolated within the specific project folder.</p><p>After a few steering prompts, I landed on this directory structure:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;809c02fb-6efa-4da2-a40e-09905171ae65&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">.
&#9500;&#9472;&#9472; .env                          # Environment variables (e.g., API keys for tools like Jira)
&#9492;&#9472;&#9472; .claude/                      # AI configuration and workspace directives
    &#9500;&#9472;&#9472; claude.md                 # Master instructions: Defines the PM persona, standard tone, and overarching goals
    &#9500;&#9472;&#9472; skills/                   # Active capabilities: The "How-To" instructions for the AI
    &#9474;   &#9500;&#9472;&#9472; create-jira-tickets/
    &#9474;   &#9474;   &#9492;&#9472;&#9472; skill.md          # Rules for writing user stories, defining acceptance criteria, and sizing
    &#9474;   &#9492;&#9472;&#9472; create-prd/
    &#9474;       &#9492;&#9472;&#9472; skill.md          # Your standard PRD template, required sections, and formatting rules
    &#9492;&#9472;&#9472; knowledge/                # Passive context: The "What" and "Why" behind the product
        &#9500;&#9472;&#9472; strategy/             # OKRs, quarterly roadmaps, and high-level product vision
        &#9500;&#9472;&#9472; competitive-research/ # Competitor teardowns, feature matrices, and market positioning
        &#9500;&#9472;&#9472; customer-research/    # User interview transcripts, survey data, and synthesized pain points
        &#9500;&#9472;&#9472; meetings/             # Raw meeting notes, transcripts, and weekly sync action items
        &#9492;&#9472;&#9472; decisions/            # Decision logs (e.g., DACI frameworks), trade-offs, and pivot rationales</code></pre></div><p>In retrospect, I should have treated the folder structure itself as a product feature. If I were starting over, I would spend more time upfront using Claude&#8217;s <code>/plan</code> mode to architect an optimal, scalable folder hierarchy before writing any markdown files.</p><h2><strong>day 3 - populating the knowledge base</strong></h2><p>I came into Day 3 pretty ambitious. My initial instinct was to create dozens of skills right out of the gate, but I realized that skills are less useful without the right context. So I started migrating a few of my core work artifacts into the .<code>claude/knowledge/ </code>directory to test against my skills.</p><p>Here&#8217;s the data ingestion workflow I used to convert my knowledge into a machine-readable format:</p><ol><li><p><strong>Dump the unstructured data:</strong> I created raw Markdown files and pasted in messy, unformatted text. Some examples of the context I brought over included raw Zoom audio transcripts, existing product strategy documents, and deep research outputs generated via Gemini.</p></li><li><p><strong>Build formatting skills:</strong> Rather than manually cleaning this data, I built a few foundational skills specifically designed to parse and normalize raw text into structured frameworks.</p></li><li><p><strong>Execute the cleanup:</strong> Using Claude Code, I invoked the formatting skill in the terminal and used the <code>@</code> reference to point the AI directly at the <code>.md</code> file to rewrite it.</p></li></ol><p>With my context properly ingested, the directory started to look like this:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;2c4c5512-44ec-4015-b4b8-43443d08d8e4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">.
&#9500;&#9472;&#9472; .env                          
&#9492;&#9472;&#9472; .claude/                      
    &#9500;&#9472;&#9472; claude.md                 
    &#9500;&#9472;&#9472; skills/                   
    &#9474;   &#9500;&#9472;&#9472; create-jira-tickets/
    &#9474;   &#9474;   &#9492;&#9472;&#9472; skill.md          
    &#9474;   &#9492;&#9472;&#9472; format-zoom-transcript/
    &#9474;       &#9492;&#9472;&#9472; skill.md          
    &#9492;&#9472;&#9472; knowledge/                
        &#9500;&#9472;&#9472; strategy/             
        &#9474;   &#9492;&#9472;&#9472; q3-product-growth-strategy.md
        &#9500;&#9472;&#9472; competitive-research/ 
        &#9474;   &#9492;&#9472;&#9472; competitor-teardown-tax-filing-alternatives.md
        &#9500;&#9472;&#9472; customer-research/    
        &#9474;   &#9492;&#9472;&#9472; user-interviews-self-employed-tax-pain-points.md
        &#9500;&#9472;&#9472; meetings/             
        &#9474;   &#9492;&#9472;&#9472; 2026-03-10-product-strategy-sync-transcript.md
        &#9492;&#9472;&#9472; decisions/</code></pre></div><h2><strong>day 4 &amp; 5 - creating more skills</strong></h2><p>With my <code>.claude/knowledge/</code> directory populated, I was ready to start executing workflows. I wanted to break down the types of cognitive tasks Claude Code could handle. Instead of just looking at what the AI can &#8220;type,&#8221; I started framing my skills around the level of cognitive load they remove from my plate.</p><p>These fall into three distinct tiers, scaling from basic data processing to advanced critical evaluation:</p><h3><strong>tier 1: information processing</strong></h3><ul><li><p>Example skill: <strong>/format-zoom-transcript</strong></p></li><li><p>Reasoning effort: Low</p></li><li><p>Task scope: High volume</p></li></ul><p>AI just needs to parse a massive amount of messy, unstructured data (like the raw transcripts) and format it into a clean, legible structure. I personally benefit from these types of skills by reclaiming energy it takes to parse through meeting minutes and manually pick out important information like action items.</p><p><strong>Raw input</strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;999522fb-a1be-4da5-a09f-4bb21f8fb96e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">Bagels [ Owner Kaci Nguyen ]-Shared screen with speaker view
Mar 10, 2026 10:30 AM
Who can see your viewing activity?

00:00:02/00:26/12

Speed

Audio Transcript
Chat Messages
Search transcript
Kaci Nguyen
Kaci Nguyen
Hi everyone so this morning... I made bagels.
Casey Wynn
Casey Wynn
00:27
That sounds delicious. What kind?
Kaci Nguyen
Kaci Nguyen
00:41
Everything.</code></pre></div><p><strong>Output</strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;1e054508-5981-4e05-b975-044909b8a357&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># Bagel Meeting - March 10, 2026

[00:00] Kaci Nguyen: Hi everyone so this morning... I made bagels.

[00:27] Casey Wynn: That sounds delicious. What kind?

[00:41] Kaci Nguyen: Everything.</code></pre></div><h3>tier 2: structured facilitation</h3><ul><li><p>Example skill: <strong>/write-decision-doc</strong></p></li><li><p>Reasoning effort: Medium</p></li><li><p>Task scope: High organization</p></li></ul><p>AI is taking on the cognitive load that I&#8217;d typically bear when organizing an argument from the logical structuring to the trade-off articulation. Instead, I&#8217;m able to focus strictly on the content and information gathering from stakeholders.</p><p>Here is an example skill file I use:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;ff8f467f-4026-4873-ae80-dd8fe7a98a72&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown">---
name: write-decision-doc
description: Drafts a structured decision document using the DACI framework (Options, Pros/Cons, Recommendation).
triggers: ["write a decision doc", "help me document this decision", "create a decision doc for", "I need to make a decision on", "/write-decision-doc", "options analysis"]
version: 1.0.0
---

# Skill: Write Decision Doc

Draft a structured decision document using standard frameworks: Decision Trigger, DACI, Options, Pros/Cons, Recommendation, and Helpful Details. Gather context from the user first, then produce a filled-in draft ready to share with stakeholders.

## Step 1: Gather Context
Use your standard questioning capability to collect essential inputs. Ask up to 4 questions at once. Tailor the questions to any context already provided in the conversation. Skip questions if the answers are already clear from provided Slack threads, meeting notes, or requirements.

Always ensure you know:
- **The Decision:** What needs to be decided and what triggered it.
- **The Driver (D):** Who owns this decision.
- **The Approver (A):** Who has final authority.
- **The Goal Framing:** What outcome the decision serves (e.g., revenue, user experience, learning).

## Step 2: Identify the Decision Type
Based on the context, determine how comprehensive the document needs to be. When in doubt, use the full template below. The user can always trim it later.

## Step 3: Draft the Document
Fill in the template below using the gathered context. Apply these writing rules:
- Lead every section with the key point.
- Use active voice.
- Be specific: use names, dates, and numbers where known.
- One idea per sentence.
- Use explicit `[TBD]` placeholders where information is missing. Never guess or hallucinate facts.

---

## Output Template

```markdown
# DECISION: [Name of Decision]

**Driver:** [Name] | **Last Update:** [YYYY-MM-DD]

---

## Decision Trigger
[1-3 sentences. What happened that requires a decision? Lead with the situation, end with the specific question that needs answering.]

---

## DACI &amp; Status
- **Status:** [Not Started / In Review / Approved]
- **Target Date:** [MM/DD/YYYY]
- **Driver:** [Name]
- **Approver:** [Name]
- **Consulted:** [Names or Teams]
- **Informed:** [Names or Teams]

---

## Options &amp; Recommendation

**Recommended Option:** [State the winning option here in one clear sentence and briefly explain why.]

| Option | Description | Pros | Cons | Consulted POV |
| :--- | :--- | :--- | :--- | :--- |
| **1. [Name]** | [One-sentence summary] | - [Pro] | - [Con] | [Notes] |
| **2. [Name]** | [One-sentence summary] | - [Pro] | - [Con] | [Notes] |
| **3. [Name]** | [One-sentence summary] | - [Pro] | - [Con] | [Notes] |

---

## Helpful Details
- [Key constraint, context, or technical detail]
- [Key constraint, context, or technical detail]

### Related Docs
1. [[Doc Name]](Link or "TBD")
2. [[Doc Name]](Link or "TBD")
```

---

## Step 4: Save the File
Save the finalized draft to the workspace knowledge repository:
`knowledge/decisions/[decision-name].md`</code></pre></div><h3>tier 3: cross-context analysis &amp; critical evaluation</h3><ul><li><p>Example skill: <strong>/review-product-strategy</strong></p></li><li><p>Reasoning effort: High</p></li><li><p>Task scope: High complexity</p></li></ul><p>This is the most advanced cognitive tier where AI acts as a strategic thought partner. To do this, AI uses multiple contexts at once (such as leveraging competitive research files and customer transcripts) and evaluate a net-new artifact against them. This can be used to pressure-test work and avoid blind spots by checking the strategy against any real-world realities that may have been overlooked.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;26bb6b75-10a2-482d-8e1a-3dd839b1b566&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">Example prompt:

Review @knowledge/strategy/q3-product-growth-strategy.md against @knowledge/competitor-teardown-tax-filing-alternatives.md and @knowledge/user-interviews-self-employed-tax-pain-points.md.

For each of these dimensions, give a brief assessment with a Strength and a Gap or Risk:
- Market alignment
- Competitive positioning
- Customer focus
- Business model coherence
- Execution risk
- Strategic continuity

Close with the top 3 gaps ranked by business risk.</code></pre></div><h2><strong>day 6 - ad-hoc tasks</strong></h2><p>This evening, I was moderating an alumni panel for the Intuit RPM/RDP 20th Anniversary. Because this panel was a one-time event, I figured the ROI of building a dedicated skill and saving it to my .claude directory wasn&#8217;t there.</p><p>Instead, I spun up a new terminal session as a new node purely for ad-hoc prep. The organizing team had curated a list of great questions for the panelists, but I felt some were phrased too formally for me to deliver them naturally.</p><p>So I fed the questions into Claude and used it for stylistic alignment, prompting it to rewrite the question to match my natural speaking voice and ensure the moderation felt conversational rather than scripted. It did pretty well for a few of them, but there were one of two where I needed to course-correct by providing it feedback.</p><p>Example:</p><blockquote><p><strong>Before</strong>:</p><p>In transitioning from a highly structured enterprise environment to founding an early-stage startup, which established product management methodologies did you find counterproductive and subsequently have to unlearn?</p><p><strong>After</strong>:</p><p>Intuit teaches us incredible frameworks for building products at scale for hundreds of thousands of customers. But going to zero-to-one or even one-to-ten is a totally different beast. As a founder, what Intuit skills did you quickly realize you had to unlearn to scale your startup?</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ElBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ElBc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ElBc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ElBc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ElBc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ElBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg" width="6144" height="4507" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4507,&quot;width&quot;:6144,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3105845,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/190884487?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf33d23-7a00-41fd-9693-46aa96455bf2_6144x8160.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ElBc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ElBc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ElBc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ElBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb70696ee-6f1c-4963-b72b-44e18ad10e6a_6144x4507.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">From the event! Photo of me moderating the panel, courtesy of my friend Jacob - tyyy!!</figcaption></figure></div><h2><strong>day 7 - skill </strong>prototyping framework</h2><p>I came across Pawel Huryn&#8217;s well-known <a href="https://github.com/phuryn/pm-skills">repository</a> of pre-built PM skills and decided to port them directly into my workspace. It felt like a massive shortcut, but it quickly highlighted a few realities about how AI actually integrates into product work.</p><p>First, PM work is inherently cyclical. You aren&#8217;t writing vision docs, sizing features, or running sprint retros every single day. Because of this natural cadence, I haven&#8217;t been able to organically battle-test this massive library of new skills to gauge their actual quality.</p><p>Second, while community-built skills are a great baseline, they are fundamentally generic. They don&#8217;t naturally conform to the specific cultural DNA of your company, in my case, the &#8220;Intuit way&#8221; of communicating, structuring arguments, and driving alignment. The plug-and-play approach doesn&#8217;t always work for nuanced product workflows. It&#8217;ll need some fine-tuning.</p><p>Moving forward, my best practice for creating AI skills is a chat-first prototyping model:</p><ol><li><p><strong>Execute Manually:</strong> Run the task organically in a standard chat session first.</p></li><li><p><strong>Iterate and Calibrate:</strong> Course-correct the AI&#8217;s tone, formatting, and logic until the output perfectly matches your company&#8217;s internal standards.</p></li><li><p><strong>Codify:</strong> Once the output is perfect, prompt Claude with something like: <em>&#8220;Extract the rules, formatting, and logic from this conversation and generate a </em><code>skill.md</code><em> file in my </em><code>.claude</code><em> directory so I can replicate this exact workflow next time.&#8221;</em></p></li></ol><p>By treating the chat window as a sandbox, you ensure that every skill you officially save to your directory is already proven, tailored, and highly relevant to your actual day-to-day work.</p><p>An example of a /edit-writing skill (had to ask Claude Code to simulate the conversation heh):</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;96efad4c-45e6-4ac7-97a3-5bd41a6971a0&quot;,&quot;duration&quot;:null}"></div><p>Next week, I&#8217;m hoping to continue expanding on the skills I&#8217;ve created, codifying knowledge, QA-ing the skills, and exploring more advanced features like agent teams &#128126;</p>]]></content:encoded></item><item><title><![CDATA[life as a software problem]]></title><description><![CDATA[how claude code forces precise choices out of ambiguous living]]></description><link>https://kacinguyen.substack.com/p/life-as-a-software-problem</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/life-as-a-software-problem</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Fri, 13 Mar 2026 21:08:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WdyN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WdyN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WdyN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WdyN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WdyN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WdyN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WdyN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3078384,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/188865351?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WdyN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!WdyN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!WdyN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!WdyN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e3b8feb-4e52-47c5-8258-9551aed2e971_2752x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the past month or so, I&#8217;ve finally overcome my intimidation with the command line interface, with much encouragement from my partner, who is an absolute whiz at these things. He&#8217;s always viewed the world as a large puzzle of logic and code. I&#8217;m pretty sure he thinks in zeroes and ones. I&#8217;m the opposite. I see the world as one, big, continuous narrative of the human experience. I think in feelings, motivations, and values.</p><p>He couldn&#8217;t care less about the monospaced font used in the terminal. He may not even notice that to anyone who isn&#8217;t staring at it for most of the day, the typeface screams built for a machine first. But it&#8217;s been a big month for me and my humanist sans-serifs (my beloved, <a href="https://www.google.com/search?q=punch+the+monkey&amp;sca_esv=5176837d497f6a28&amp;rlz=1C5CHFA_enUS806US806&amp;ei=o260aa28CIjg0PEPqqGT4AI&amp;biw=1439&amp;bih=788&amp;ved=0ahUKEwjtmcPp1p2TAxUIMDQIHarQBCwQ4dUDCBE&amp;uact=5&amp;oq=punch+the+monkey&amp;gs_lp=Egxnd3Mtd2l6LXNlcnAiEHB1bmNoIHRoZSBtb25rZXkyCxAAGIAEGLEDGIMBMgsQABiABBixAxiDATILEAAYgAQYsQMYgwEyCxAAGIAEGLEDGIMBMgsQABiABBixAxiDATILEAAYgAQYsQMYgwEyDhAAGIAEGLEDGIMBGIoFMggQABiABBixAzIIEAAYgAQYsQMyDhAAGIAEGLEDGIMBGIoFSLQSUJgCWNAQcAJ4AZABAJgBa6ABjgeqAQQxMS4xuAEDyAEA-AEBmAIOoAL_B8ICChAAGLADGNYEGEfCAg0QLhiABBiwAxhDGIoFwgINEAAYgAQYsAMYQxiKBcICDhAAGLADGOQCGNYE2AEBwgIXEC4YsAMYuAYY2AIYyAMY2gYY3AbYAQHCAhcQLhiwAxjYAhi4BhjIAxjaBhjcBtgBAcICChAAGIAEGEMYigXCAgoQLhiABBhDGIoFwgILEC4YgAQYxwEYrwHCAg4QLhiABBjHARiOBRivAcICBRAAGIAEwgIPEAAYgAQYsQMYgwEYChgLwgIQEAAYgAQYsQMYgwEYigUYCsICDBAAGIAEGLEDGAoYC5gDAIgGAZAGE7oGBggBEAEYCZIHBDEyLjKgB-1PsgcEMTAuMrgH6gfCBwYyLTEyLjLIB1yACAA&amp;sclient=gws-wiz-serp">stuffed-orangutan</a>-of-a-typeface). I&#8217;ve finally, properly, Claude-coded.</p><p>The addiction has gotten pretty bad to the point that as I write this I feel this compulsive longing to build something and get an instant dopamine hit at <code>localhost:3001</code>.</p><p>It&#8217;s radicalizing, which is a word I use sparingly. A lot of my life&#8217;s friction points now seem to have a software solution that can be wired up&#8230; in a day(?!) How empowering is that? Claude has permeated almost every facet of my life, and with its delicate, thoughtful (sometimes whimsy) touch, forced me to have opinions about things I&#8217;d typically leave on autopilot.</p><p>When you can build anything, the hard part isn&#8217;t building. It&#8217;s deciding what you believe. Getting clear and thinking deeply (and I mean truly, <em><strong>deeply</strong></em>) on why I&#8217;m building what I&#8217;m building has become the new bottleneck. Once the underlying reason is clear, every decision falls into place. But getting to that level of clarity is darn hard work!</p><p>Most recently, I decided to graduate from my manual-entry personal finance spreadsheet to something more advanced. If AI can extract better insights from my data than I can, why wouldn&#8217;t I let it? I set out to build a personal finance tracker with automations and embedded AI to help me optimize my spending and plan for the future.</p><p>Immediately, I was hit with decision paralysis.</p><p>I was taught early on by my mom to save and invest early. (That is objectively valuable advice, and everyone should listen to it.) But how does that translate concretely into the real world and into code? Should I hardcode the <a href="https://www.investopedia.com/ask/answers/022916/what-502030-budget-rule.asp">50/30/20 savings rule</a> into my app? What if I want to become financially independent and <a href="https://www.reddit.com/r/Fire/">retire early</a>? Or what if I want to <a href="https://www.google.com/search?q=die+with+zero&amp;rlz=1C5CHFA_enUS806US806&amp;oq=die+with+zero&amp;gs_lcrp=EgZjaHJvbWUqBwgAEAAYjwIyBwgAEAAYjwIyCggBEC4YsQMYgAQyBwgCEAAYgAQyBwgDEAAYgAQyBwgEEAAYgAQyBwgFEAAYgAQyBwgGEAAYgAQyBwgHEAAYgAQyBwgIEAAYgAQyBwgJEAAYgATSAQgxMjc3ajBqN6gCALACAA&amp;sourceid=chrome&amp;ie=UTF-8">spend </a>exorbitantly now during what should be my peak health years, while I can still comfortably backpack for days and pull off weekend snowboarding trips to Tahoe?</p><p>It turns out that infinite optionality is a kind of&#8230; a burden? When you have access to the vast internet&#8217;s worth of ways to live, you realize just how many ways there are. Suddenly, building a &#8216;simple&#8217; tool turned into gridlock about which philosophy is actually the &#8216;right&#8217; one to govern my life. Because when you tell Claude you want to build a personal finance app that helps optimize spending, it doesn&#8217;t just jump into writing code. It reflects questions back to you.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;6867cc76-245a-4cb5-88c6-80ca10b3e6c6&quot;,&quot;duration&quot;:null}"></div><p>Having access to a model that knows way more than I do helps me think more deeply about what I actually want, especially when it surfaces new knowledge I didn&#8217;t even know existed. For almost every project and task I have, I will reliably invoke <code>AskUserQuestion</code> and Claude will wrangle an untethered thought and teach me something new, without fail.</p><p>It&#8217;s honestly a weird time to be alive. Not too long ago, humans and AI had a one-way, commensal relationship. AI was largely a static tool composed as a rules-based system (<em>If X happens, then do Y</em>). We humans were the main beneficiaries from AI-as-tool&#8217;s speed at solving complex calculations, while AI was mostly unaffected, possessing no ability to &#8216;learn&#8217; from the interaction.</p><p>Now, Claude can and will ask me about my beliefs. And every time I answer one about my spending philosophy, about what my savings goals are, about why I&#8217;m building this particular thing &#8211; it remembers, and it gets better at asking the next one. The model learns, iteratively and constructively, from human feedback the same way I&#8217;m learning from its questions in a loop where we both have agency.</p><p>We&#8217;re entering a new age where humans and AI are in a mutualist relationship, one where both sides need the other to adapt. AI needs our human experiences to learn how to think. And in return, it challenges us to get honest and specific about how we actually want to live.</p>]]></content:encoded></item><item><title><![CDATA[we have café at home]]></title><description><![CDATA[side quest no. 4: building a coffee order tracking and menu customization app for everyone hosting coffee shop parties]]></description><link>https://kacinguyen.substack.com/p/we-have-cafe-at-home</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/we-have-cafe-at-home</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Wed, 16 Jul 2025 03:27:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RYY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m not a going-out party type of person, I&#8217;ll take a cozy night in with a bowl of fruit and book any day. It&#8217;s actually quite rare to catch me out past 10 p.m. If you do, I either love you and will make a bedtime exception because me being there at your party means a lot to you, or, I didn&#8217;t know how to make my exit during a previous pre-9 p.m. engagement which has run past its time. Either way, I&#8217;m slangry, I&#8217;m dangerous, and you should probably stay clear from my path.</p><p>There is one party I&#8217;ll make an exception for. And that is, the coffee shop party.</p><p>I love these parties because they&#8217;re held during broad daylight, everyone is caffeinated, and there are no attire expectations. You just show up wearing whatever&#8217;s comfortable and hang out. And did I mention there is caffeine(!!!)</p><p>I&#8217;ve hosted a few of these, and honestly if I had the time and space for it, I&#8217;d probably host more.</p><p>Here&#8217;s me + my friend hosting our first coffee shop party:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RYY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RYY8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RYY8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RYY8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RYY8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RYY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg" width="232" height="309.2802197802198" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:232,&quot;bytes&quot;:1193714,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.kacinguyen.com/i/166780125?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RYY8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RYY8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RYY8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RYY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde0170e1-33c2-4094-8133-1a7a27816f0e_4032x3024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">cuties fr</figcaption></figure></div><p>Inspired by the coffee shop party + my desire to improve my AI prompting skills + my love for bundling things together to feed two birds with one scone, I vibe-coded an coffee shop ordering app!</p><p>Some fun features:</p><ul><li><p>AI-powered menu builder based on Vi&#127345;&#65039;es</p></li><li><p>Personal digital cafe-fronts with QR code generation + shareable links for guests to order straight from their phones &#128241;</p></li><li><p>Real-time order tracking system so your friends don&#8217;t have to find you and ask about their order when you accidentally forgot about it while they&#8217;ve been talking to others awkwardly thinking about what to do with their hands because they didn&#8217;t have a prop to hold like everyone else&#129485;&#127995;&#8205;&#9792;&#65039;</p></li></ul><p>Anyways, here it is: <a href="https://cafecina.lovable.app/">https://cafecina.lovable.app/</a></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2ecb6254-5237-47ce-8766-b2417f9706e6&quot;,&quot;duration&quot;:null}"></div><p>This one took 651 prompts and 414 AI Edits.</p><p>There&#8217;s a lot more I can probably do with this, either adding more features or actually doing some more rigorous QA. But what&#8217;s most immediately next for me is probably to actually host a coffee shop party and see if this passes the smoke test.</p><p>Until then, catch me back in the kitchen testing out new drink and pastry (specifically the one and only Texas sausage kolache (or <em>klob&#225;sn&#237;k</em>, for the purist pedants &#129781;) recipes :)</p>]]></content:encoded></item><item><title><![CDATA[What does an AI Growth PM do?]]></title><description><![CDATA[&#127793; Field notes: How AI Growth PMs disproportionately transform a product's growth]]></description><link>https://kacinguyen.substack.com/p/what-does-an-ai-growth-pm-do</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/what-does-an-ai-growth-pm-do</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Thu, 19 Jun 2025 04:49:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!x7jE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You&#8217;ve heard of Product Managers, Growth Product Managers, and maybe even Product Marketing Managers. But what the heck is an <em>AI Growth Product Manager</em>?</p><p>In my humble, not-at-all biased opinion, it&#8217;s one of the most interesting roles in tech. And one of the most in-demand too.</p><p>In this post, I&#8217;ll break down:</p><ul><li><p><strong>Part 1: </strong>What&#8217;s an AI Growth PM? And how are they different from the more commonly known Growth PM?</p></li><li><p><strong>Part 2: </strong>What levers does the AI PM pull to grow products at a massive scale?</p></li><li><p><strong>Part 3: </strong>Why it&#8217;s one of the most highly demanded roles in tech and why it&#8217;s here to stay</p></li></ul><p>I&#8217;ve been lucky enough to be an AI Growth PM for about a year now, and it&#8217;s been a fascinating ride. I&#8217;m learning new things every day from some of the best mentors/managers in the field. These are the notes and observations I&#8217;ve gathered along the way.</p><div><hr></div><p>But first, &#128483;&#65039; <strong>DISCLAIMER</strong> &#128483;&#65039; Like any role in fast-moving, dynamic world of tech, the exact title, scope, and day-to-day of an AIGPM can look different from one company to another. Especially with AI, the lines are getting blurred. What I&#8217;m about to break down in Part 2 is a framework of strategic levers this role often pulls. Think of it as a playbook that gets adapted to each company. The core idea is that <em>someone</em> (anyone! EVERYONE!) needs to be thinking about these levers strategically to drive AI-powered growth.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x7jE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x7jE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!x7jE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!x7jE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!x7jE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x7jE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png" width="714" height="476.16346153846155" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:714,&quot;bytes&quot;:2852939,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.kacinguyen.com/i/160911972?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!x7jE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!x7jE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!x7jE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!x7jE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91282ee8-b890-47ad-89a6-c4453dd10eaa_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Part 1: What exactly is an AI Growth PM?</h2><p>We&#8217;ve got:</p><ul><li><p><strong>The Classic Product Manager (PM):</strong> This is often the role people think of first when they hear of PM. They&#8217;re the strategic minds behind the product, responsible for defining the product vision (where are we going?), crafting the strategy (how will we get there?), and building the roadmap (what steps will we take?). They immerse themselves in user and market research, leading the team from initial idea through discovery, development, and ultimately, getting the product out the door. They own the &#8216;why&#8217; and &#8216;what&#8217; of the product.</p></li><li><p><strong>The Product Marketing Manager (PMM):</strong> Once a product is ready (or nearing readiness), the PMM is point for taking the product to market. Based on their understanding of the target audience and competitive landscape, they craft the messaging and positioning, develop the go-to-market strategy, and create campaigns and materials that drive awareness and adoption.</p></li><li><p><strong>The Growth Product Manager (Growth PM):</strong> While a Classic PM might focus on building new features or entire products, the Growth PM is focused on driving specific business metrics or optimizing product funnels. They constantly look for opportunities to improve things like user acquisition, activation, retention, and revenue. Their toolkit consists of experimentation, and they&#8217;re all about making iterative improvements to move the needle on KPIs.</p></li></ul><p>And now&#8230;</p><ul><li><p><strong>The AI Growth Product Manager (AI Growth PM </strong>or<strong> AIGPM </strong>as I&#8217;ll refer to from now on<strong>):</strong> Just like the Growth PM role emerged from a specific business need (faster, focused growth), the AI Growth PM is born from the scale and efficiency of AI.</p></li></ul><p><strong>So, what makes them </strong><em><strong>different</strong></em><strong>?</strong></p><p>AI Growth PMs share the same core goal as Growth PMs: improve crucial business metrics. But they do it by leveraging AI. They&#8217;re driving the requirements and strategy for optimizing the AI models to drive growth in a way that's not only effective in the short-term but also sustainable and incredibly efficient<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> in the long run.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c691!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c691!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!c691!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!c691!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!c691!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c691!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bee2d09c-805e-4877-96f0-96186565813d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2490904,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kacinguyen.com/i/160911972?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c691!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!c691!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!c691!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!c691!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbee2d09c-805e-4877-96f0-96186565813d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Part 2: The AI Growth PM&#8217;s Playbook</h2><p>An AI Growth PM's job isn't just about knowing AI exists; it's about strategically using different aspects of an AI system to hit growth targets. Each "lever" they pull offers a distinct way to improve things:</p><ol><li><p><strong>Problem Framing &amp; Objective Definition</strong>: What are we solving, and how do we measure success?</p></li><li><p><strong>Data &amp; Signals:</strong> What raw information powers the model?</p></li><li><p><strong>Models &amp; Algorithms</strong>: How does the system learn to make decisions?</p></li><li><p><strong>Targeting &amp; Personalization</strong>: Who sees what, and when, and where?</p></li><li><p><strong>UX &amp; Delivery</strong>: How are predictions presented and experienced?</p></li><li><p><strong>Infrastructure &amp; ML Ops</strong>: How does it scale, serve, and stay reliable?</p></li></ol><h3><strong>1. Problem Framing &amp; Objective Definition</strong></h3><p>No model matters unless it solves something meaningful. This lever is about defining clear, solvable AI problems that align with both user needs and business goals. It's where data science meets strategy &#8211; and where the AI Growth PM shines as the translator between technical potential and commercial value.</p><h4>Key Components</h4><ul><li><p><strong>Business goal alignment</strong>: Everything starts with the outcome. AIGPMs will initiate a project by clarifying what success looks like in business terms: higher conversion, increased engagement, improved retention, increased LTV, etc.</p></li><li><p><strong>AI problem framing</strong>: Next, AIGPMs (shortening for my sake) will define the AI problem clearly. They&#8217;ll ask: Are you building a model to recommend, rank, classify, or generate? Is this a prediction problem? A retrieval problem? A content generation problem? Framing it incorrectly will result in vastly different solution that might miss the mark on KPIs.</p></li><li><p><strong>Model metric mapping</strong>: Once they&#8217;ve framed the problem, AIGPMs in partnership with their technical engineering/data science counterpart set the metric. Based on the business KPI they care about, they&#8217;ll select an evaluation metrics (e.g. accuracy, precision, loss, recall, NDCG, AUC).</p></li><li><p><strong>Proxy design &amp; validation</strong>: In cases where business outcomes are hard to measure directly, they&#8217;ll define proxies with strong downstream correlation. As an example, "likelihood to watch full video" would be a proxy for content relevance.</p></li><li><p><strong>Experimentation readiness</strong>: While the team goes into model development mode, AIGPMs will think ahead about how they&#8217;ll measure success in the real world through A/B or multivariate testing. What are the primary vs. secondary metrics? What&#8217;s the baseline? They&#8217;ll define this upfront.</p></li><li><p><strong>Stakeholder &amp; partner alignment</strong>: Throughout this entire process, AIGPMs will collaborate early with data science, product, engineering, and analytics to scope feasibility, timeline, and risks and partner on defining some of the requirements related to modeling and experimentation.</p></li></ul><h4>AI Growth PM Role &amp; Responsibilities</h4><blockquote><p>&#9989; Identify high-impact, model-worthy problems tied to KPIs (growth, retention, monetization)<br>&#9989; Translate business needs into clear AI problem types and data requirements<br>&#9989; Define success metrics &#8211; not just for the model, but for the product and customer<br>&#9989; Bridge conversations between strategic teams and technical teams to align on value and approach<br>&#9989; Ensure downstream evaluation and experimentation plans are in place before launch</p></blockquote><h4>Common Pitfalls to Avoid</h4><blockquote><p>&#10060; Assuming a high model accuracy (e.g., 90% AUC) automatically means business success. If that accuracy doesn't translate to improved KPIs, the model isn't truly working.<br>&#10060; Building a complex AI solution without first understanding how a simpler heuristic or the current system performs. You need a baseline to prove AI's incremental value.<br>&#10060; Launching an AI feature without clearly defining upfront what &#8220;good&#8221; looks like in measurable terms.<br>&#10060; Underestimating the &#8216;last mile&#8217; integration and not considering how the model will integrate into the existing product.</p></blockquote><h3><strong>2. Data &amp; Signals</strong></h3><p>Data is the fuel of models. The quality, quantity, diversity, relevance, and freshness of data directly determine how well models perform. Improving your dataset often yields greater returns than tweaking algorithms. For AI Growth PMs, this means becoming obsessed with the completeness, structure, and utility of the signals feeding the model.</p><h4>Key Components</h4><ul><li><p><strong>Signal expansion</strong>: AIGPMs are always on the hunt for data (1P or 3P). When it comes to 1P, they&#8217;ll prioritize capturing a broader range of user behaviors and contextual triggers, such as clickstreams, hover time, scroll depth, or feature usage (more signals = richer understanding).</p></li><li><p><strong>Signal quality</strong>: On top of that, they&#8217;ll ensure the signals are clean, unbiased, and complete. That includes dealing with sparsity, noise, or skew in datasets that can lead to misleading model outcomes.</p></li><li><p><strong>Signal representation</strong>: Once they have the data, AIGPMs will work with data engineers (sometimes data scientists or machine learning engineers) to transform raw behaviors into useful, model-ready features (e.g. creating sequence modeling of click history, generating user/item embeddings from behavioral data).</p></li><li><p><strong>Feedback as signals</strong>: Thinking holistically, AIGPMs will design systems to capture and utilize user interactions to continuously improve data quality and model relevance. This includes explicit feedback (e.g. direct user inputs like likes, ratings, thumbs up/down) and implicit feedback (e.g. clicks, hovers, time spent, scrolls).</p></li></ul><h4>AI Growth PM Role &amp; Responsibilities</h4><blockquote><p>&#9989; Champion richer instrumentation and signal coverage across the product<br>&#9989; Build a data roadmap that includes initiatives like instrumenting new user events, integrating streaming clickstream data, or third-party enrichments<br>&#9989; Partner with product, engineering, data science, and analytics on feedback ingestion as reliable, retrainable signal sources for model improvement</p></blockquote><h4>Common Pitfalls to Avoid</h4><blockquote><p>&#10060; Assuming the necessary data for your AI idea will just "be there&#8221;. Data strategy and instrumentation often require significant lead time.<br>&#10060; Ignoring data freshness and using stale data. Model performance can degrade quickly if data inputs aren't reliably maintained.<br>&#10060; Overlooking potential biases in data sources, which can lead to skewed model outcomes.</p></blockquote><h3><strong>3. Models &amp; Algorithms</strong></h3><p>If data is the fuel, then the algorithms are the engine that processes it. This lever about selecting, building, and refining the right model to maximize predictive power for the job at hand.</p><h4>Key Components</h4><ul><li><p><strong>Model selection &amp; architecture:</strong> Typically, data scientists select the appropriate algorithm based on the problem. Where AIGPMs help weigh in are on the product requirements such as the degree of explainability needed per use case as well as trade-offs between performance, explainability, development time, and other factors.</p></li></ul><p>Models in an AIGPM&#8217;s toolkit:</p><ul><li><p><strong>Foundational models:</strong></p><ul><li><p><em>Affinity/Propensity models</em>: These predict the likelihood of a user to take a specific action (e.g. engage with content, buy a product, click an ad.)</p></li><li><p><em>Embedding models</em>: Like &#8216;fingerprints&#8217;, these are compact representations that capture complex relationships and similarities for users or items. They serve as inputs for downstream ML models and are pretty powerful.</p></li></ul></li><li><p><strong>Advanced models</strong>:</p><ul><li><p><em>LLM-based content generation</em>: Large language models can be used to auto-generate metadata or product descriptions. This can save a ton of manual labeling efforts and enable personalization at scale.</p></li></ul></li></ul><h4>AI Growth PM Role &amp; Responsibilities</h4><blockquote><p>&#9989; Collaborate with data scientists on model selection, iteration, and evaluation, ensuring alignment with business objectives<br>&#9989; Build a roadmap for developing and improving generalizable, foundational models (e.g. affinity, embedding models) that can serve multiple use cases<br>&#9989; Identify opportunities to leverage advanced techniques like LLMs to solve content gaps and power personalized experiences at scale</p></blockquote><h4>Common Pitfalls to Avoid</h4><blockquote><p>&#10060; Pushing for the most complex, cutting-edge model if a simpler, more interpretable one can achieve 80-90% of the desired outcome with less effort and risk.<br>&#10060; Blindly accepting the algorithm selection because your data scientist chose it. Instead, ask the data scientists to explain (at a high level) how the model works, its assumptions, and limitations, making sure the right trade-offs are being made.<br>&#10060; Forgetting that models degrade over time and failing to plan for ongoing monitoring and retraining</p></blockquote><h3><strong>4. Targeting &amp; Personalization</strong></h3><p>In a world saturated with content and information, relevance is king. When experiences for tailor-made, users are dramatically more likely to engage, convert, remain loyal, and ultimately drive the growth metrics AIGPMs care about. This lever is about moving beyond the one-size-fits-all experience and delivering the most relevant content to the right user segments at the right moment in their journey and through the most effective channel.</p><h4>Key Components</h4><ul><li><p><strong>Audience segmentation (who): </strong>AIGPMs will work with marketing and analytics to identify well-defined groups personalize for. Some examples of how audiences can be segmented:</p><ul><li><p><em>Behavior-based</em>: Grouping users by real-time actions or patterns (e.g. &#8216;cart abandoners&#8217;, &#8216;repeat browsers&#8217;, &#8216;inactive trialers&#8217;)</p></li><li><p><em>Predictive</em>: Forecasting likely outcomes to identify users &#8216;at risk&#8217; or &#8216;ready to convert&#8217;</p></li></ul></li><li><p><strong>Content matching (what):</strong> While AIGPMs aren&#8217;t building the matching algorithms (that&#8217;s what the data scientists will do!), they are responsible for defining <em>what</em> needs to be matched. Here, content can include things like articles, messages, offers, images, and much more. These will often be tailored to the user&#8217;s preferences and histories (via affinity models, embeddings, etc.)</p></li><li><p><strong>Journey orchestration (when &amp; where):</strong> Given what's happening <em>right now</em> (location, device, current activity, time of day), what is the most relevant thing to show? AIGPMs are striving to achieve a specific growth goal. Journey orchestration is one way to do that. AIGPMs will consider how to optimize the sequence and timing of interactions across the user&#8217;s journey to achieve some goal like an onboarding sequence to activate new users or an in-app step-flow to encourage adoption of a new feature.</p></li><li><p><strong>Contextual targeting (when &amp; where):</strong> Closely related to journey orchestration, contextual targeting involves more short-term "right time, right place" delivery. Based on the user&#8217;s immediate/real-time situation or environment like device, location, session context, or time of day, AIGPMs will focus on optimizing a specific interaction or piece of content.</p></li><li><p><strong>Explore/Exploit strategy</strong>: One of the most interesting (and imo life-transferrable) components is setting the explore/exploit strategy. AIGPMs consider the audience segment, product goals, and surface to balance safe bets with discovery by introducing diversity or novelty to avoid filter bubbles (where users see more of the same).</p></li><li><p><strong>Feedback loops</strong>: This was touched on earlier as &#8220;Feedback as signals&#8221;. Here, AIGPMs ensure real-time implicit and explicit feedback (likes, skips, scrolls, &#8220;not interested&#8221;) are leveraged to enrich personalization and guide adjustments in what content gets shown.</p></li><li><p><strong>Multi-objective optimization</strong>: For some more mature, complex products, AIGPMs will be involved with setting multiple objectives since real-world product decisions often involve multiple goals that need to be balanced. One example is deciding whether to optimize for revenue or conversion. Optimizing solely for revenue might lead to pushing expensive items that don't convert well, hurting conversion rate. On the flip side, optimizing solely for conversion might lead to promoting cheap items, hurting revenue and margin. It&#8217;s a balance. AIGPMs need to get stakeholders to align on the priorities and trade-offs, define measurable metrics for each objective, and ensure that business optimization doesn&#8217;t degrade the user experience to a point where it harms long-term growth (like retention or trust).</p></li></ul><h4>AI Growth PM Role &amp; Responsibilities</h4><blockquote><p>&#9989; Identify and prioritize high-leverage personalization opportunities across the funnel to drive growth<br>&#9989; Define segmentation logic and targeting strategies in partnership with data science and analytics<br>&#9989; Collaborate closely across product, design, and engineering to activate adaptive experiences with feedback loops<br>&#9989; Advocate for personalization that earns user confidence through relevance, control, and transparency</p></blockquote><h4>Common Pitfalls to Avoid</h4><blockquote><p>&#10060; Ignoring the &#8216;Cold Start&#8217; problem and forgetting to plan how personalization will work for new users (no history) or new content (no interaction data).<br>&#10060; Assuming a single 'one-size-fits-all&#8217; personalization strategy works for all user segments or all parts of the product. Nuance and context is critical.<br>&#10060; Implementing personalization that feels overly invasive or reveals data they didn't realize was being used.<br>&#10060; Building personalization systems without considering ways for users to provide feedback, adjust preferences, or understand why they are seeing certain things.</p></blockquote><h3><strong>5. UX &amp; Delivery</strong></h3><p>Even the smartest prediction falls flat if users don&#8217;t understand or trust it. This lever covers the experience layer of AI&#8212;presentation, performance, and explainability&#8212;to make intelligent experiences feel intuitive, credible, and seamless.</p><p>I&#8217;m actually quite passionate about this space being a visual person that I am and having done research in Human-AI computer interaction. But I&#8217;ll bite my tongue here and keep it brief.</p><h4>Key Components</h4><ul><li><p><strong>Presentation layer</strong>: Sometimes referred to as the &#8216;surface&#8217;, this is where users see the AI-driven content.</p></li><li><p><strong>Interaction design</strong>: AIGPMs make sure their AI outputs are actionable and navigable with minimal friction on the surface they&#8217;re presented on.</p></li><li><p><strong>Explainability &amp; trust elements:</strong> Not captured in the targeting section is the &#8216;Why&#8217; or the &#8216;Why am I seeing this?&#8221; messaging. To increase user trust and adoption, AIGPMs need to determine the degree of explainability needed for the use case and work with content or experience designers to bake that in via messaging or UI cues.</p></li><li><p><strong>Latency management</strong>: One trade-off that AIGPMs might need to weigh is speed of delivery vs. model complexity. They&#8217;ll work with the product development or product engineering team to implement techniques like caching, async loading, and fallback logic to limit latency.</p></li><li><p><strong>Resilience &amp; fallback logic</strong>: This ones pretty straightforward. What happens when AI fails? AIGPMs need to author backup rules or fallback content, of course not in isolation but working with their team.</p></li><li><p><strong>Orchestration layer</strong>: This is a meaty one. I think of this layer as the final set of decisions and logic that determine what content actually makes it to that presentation layer and in what order, for a specific user at a specific moment. Interesting things get set here including diversity rules, impression capping, boosters/penalties (positive or negative multipliers added to content, you might see these added around the holiday season), model switching logic, and A/B test delivery infrastructure.</p></li></ul><h4>AI Growth PM Role &amp; Responsibilities</h4><blockquote><p>&#9989; Define end-to-end experience of personalized features in partnership with designers<br>&#9989; Collaborate with engineers on real-time performance tuning and resilient system behavior<br>&#9989; Own orchestration strategy: prioritization logic, boosters/penalties, model switching<br>&#9989; Ensure feature rollout is testable, measurable, and aligned with experience goals</p></blockquote><h4>Common Pitfalls to Avoid</h4><blockquote><p>&#10060; Assuming users will understand or trust AI outputs just because they are "smart." The UI/UX needs to make them intuitive and valuable.<br>&#10060; Ignoring latency and underestimating how slow AI responses can kill the user experience and lead to drop-off.<br>&#10060; Launching AI features without robust fallback mechanisms for when the AI is wrong, data is missing, or the system fails.<br>&#10060; Underinvesting in explainability and assuming a complex model can't have some form of user-facing explanation</p></blockquote><h3><strong>6. Infrastructure &amp; ML Ops</strong></h3><p>All the data and models in the world don&#8217;t matter if they can&#8217;t reliably get into production. This lever covers the systems that support model development, deployment, experimentation, and delivery at scale.</p><p>AIGPMs will collaborate frequently with platform teams to enhance foundational infrastructure to serve their use cases:</p><h4>Key Components</h4><ul><li><p><strong>Feature store: </strong>These are centralized systems for storing, sharing, and querying reusable ML features across teams and workflows</p></li><li><p><strong>Model serving &amp; deployment:</strong> Infrastructure for delivering model predictions into real products, reliably and at scale. This <em>should</em> support batch, real-time, and streaming inference along with safe rollout practices like versioning and canary releases.</p></li><li><p><strong>Monitoring &amp; observability:</strong> These are tools that track model health in production, from performance drift and prediction anomalies to latency and throughput issues.</p></li><li><p><strong>Experimentation infrastructure:</strong> This includes end-to-end tooling for running A/B tests on models or algorithm variants. Some features that AIGPMs are particularly interested in are traffic splitting, gating, and metric logging to evaluate both model performance (e.g. accuracy, loss) and product impact (e.g. conversions, retention).</p></li><li><p><strong>Training-serving consistency: </strong>One thing my architect heavily pushed for was architecture that ensures features and preprocessing logic used during training are preserved during inference. The benefit of this is ensuring the model behavior in production matches what was validated offline &#187; Important for serving relevant recommendations!</p></li></ul><h4>AI Growth PM Role &amp; Responsibilities</h4><blockquote><p>&#9989; Advocate for infrastructure investments that accelerates model-to-production cycles without sacrificing quality or control<br>&#9989; Balance long-term infra roadmaps (e.g. retraining pipelines) against short-term product impact via customer-facing use cases<br>&#9989; Translate cross-functional needs into infrastructure priorities that unlock developer velocity and business value</p></blockquote><h4>Common Pitfalls to Avoid</h4><blockquote><p><strong>&#10060; </strong>Assuming moving a model from a data scientist's notebook to production is trivial. It involves <em>significant</em> engineering. I learned this lesson the hard way.<br><strong>&#10060; </strong>Simply &#8216;making do&#8217; with current infrastructure. AIGPMs, being closest to the business use case, have a responsibility to articulate specific platform requirements needed to support and scale their AI initiatives.</p></blockquote><p>Each of these levers is a world unto itself. Great AI Growth PMs blend technical fluency, business savvy, and product intuition to judiciously prioritize short- and long-term investments across each pillar. They know which levers to pull, and when, to create a kind of self-improving "personalization flywheel" that keeps getting better. Naturally, I&#8217;d expect the specific way these levers are owned and operated will look different depending on the company, but the core challenges and opportunities remain the same.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cZXF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cZXF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!cZXF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!cZXF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!cZXF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cZXF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2193024,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.kacinguyen.com/i/160911972?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cZXF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!cZXF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!cZXF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!cZXF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cdf1c7b-572e-4dbc-9945-881a397645b1_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Part 3: Why it&#8217;s one of the most highly demanded roles in tech (and why it&#8217;s here to stay!)</h2><p>Since Youtube popularized the term &#8216;creator&#8217; in 2011, the creator economy has grown into a <a href="https://www.goldmansachs.com/insights/articles/the-creator-economy-could-approach-half-a-trillion-dollars-by-2027">$250 billion industry</a>. Platforms like Substack, Spotify, and TikTok have built their own ecosystems where writers, podcasters, hobbyists, and <a href="https://www.tiktok.com/@accountwashackedwith50m/video/7335149483182886176?lang=en">quite literally anyone</a> can produce and distribute content directly to their audiences.</p><p>The pace of growth has only accelerated. Generative AI tools like <a href="https://chatgpt.com/">ChatGPT</a>, <a href="https://midjourney.com/">Midjourney</a>, and <a href="https://www.suno.ai/">Suno.AI</a> have reduced the time required to create content by orders of magnitude. Content that once took hours or days to produce can now be generated in seconds. With these additional tailwinds to an organically growing industry post-COVID, it&#8217;s estimated the creator economy could reach <a href="https://www.goldmansachs.com/insights/articles/the-creator-economy-could-approach-half-a-trillion-dollars-by-2027">+$480 billion by 2027</a>.</p><p>When content creation becomes nearly frictionless, the bottleneck shifts to discovering and recommending the right content to the right person.</p><div class="pullquote"><p><em><strong>Enter</strong></em>: Recommendation systems &#127917;</p></div><p>During the 1800s Gold Rush, the people who built lasting wealth were the ones selling shovels rather than the prospectors themselves. In the AI surge, a similar pattern emerged: companies like Nvidia, which sells GPUs to train large-scale ML models, became foundational to the entire industry building large language models.</p><p>In today&#8217;s creator-led digital economy, recommendation systems have taken on that same infrastructural role. They power the discovery, engagement, and retention loops across creator platforms, influencing not just what consumers see but also which creators take off.</p><p>Who&#8217;s responsible for growing and scaling this? &#129300;</p><div class="pullquote"><p><em><strong>Enter</strong></em>: AI Growth PM &#129485;&#127995;&#8205;&#9792;&#65039;</p></div><p>As content volume grows, someone needs to strategically connect the supply with the demand at scale. AI Growth PMs fill this role, defining experiment strategy, optimizing the model, and ensuring that the content users see aligns with both relevance and business impact. They guide AI systems to understand what users value, enabling businesses to translate those insights into sustainable growth.</p><p>Humans will always create and always seek connection. Amidst the digital deluge of content, the AI Growth PM ensures technology helps us find the people and ideas we resonate with most.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://kacinguyen.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://kacinguyen.substack.com/subscribe?"><span>Subscribe now</span></a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>According to <a href="https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-personalization">McKinsey</a>: Personalization can <em>&#8220;lift revenues by 5 to 15 percent and increase marketing ROI by 10 to 30 percent&#8221;</em> and <em>&#8220;Companies with faster growth rates derive 40 percent more of their revenue from personalization than their slower-growing counterparts.&#8221;</em></p></div></div>]]></content:encoded></item><item><title><![CDATA[Building a smart journaling app in 2 days]]></title><description><![CDATA[side quest no. 3: unlocking backend storage and intelligence with Supabase + GPT-4o integrations]]></description><link>https://kacinguyen.substack.com/p/i-built-my-own-journaling-app-in</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/i-built-my-own-journaling-app-in</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Tue, 18 Mar 2025 05:59:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qR7D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qR7D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qR7D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 424w, https://substackcdn.com/image/fetch/$s_!qR7D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 848w, https://substackcdn.com/image/fetch/$s_!qR7D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!qR7D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qR7D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:440593,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/159160935?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qR7D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 424w, https://substackcdn.com/image/fetch/$s_!qR7D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 848w, https://substackcdn.com/image/fetch/$s_!qR7D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!qR7D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b484473-140b-437e-bad7-31d0d06ab475_2858x1494.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I BUILT THIS APP!!! can u believe?!</figcaption></figure></div><p>For the past few months, I&#8217;ve been using <a href="https://apps.apple.com/us/app/dailybean-simplest-journal/id1553223828">Daily Bean</a> to log my days and jot down quick reflections. At first, I liked it&#8212;but over time, I started noticing some limitations:</p><ul><li><p>It tracked attributes I didn&#8217;t particularly care about (chores, meals, self-care... although maybe I should track those? &#129300;)</p></li><li><p>The emotion options were overwhelming (what exactly is <em>pit-a-pat</em>?)</p></li><li><p>There was no web app&#8212;typing on a phone keyboard is tedious</p></li><li><p>The free version required watching ads just to save an entry &#128557;</p></li></ul><p>Instead of continuing to put up with these limitations, I thought: <strong>Why not build my own journaling app, designed exactly the way I want it?</strong></p><h2>Building my own solution</h2><p>I started by sketching rough ideas in <a href="https://excalidraw.com/">Excalidraw</a>&#8212;nothing fancy, just enough to map out the core features and layout. This helped me think through what I wanted before jumping into development with <a href="https://lovable.app/">Lovable</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WawQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WawQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 424w, https://substackcdn.com/image/fetch/$s_!WawQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 848w, https://substackcdn.com/image/fetch/$s_!WawQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 1272w, https://substackcdn.com/image/fetch/$s_!WawQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WawQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png" width="1456" height="1116" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1116,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:385225,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/159160935?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!WawQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 424w, https://substackcdn.com/image/fetch/$s_!WawQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 848w, https://substackcdn.com/image/fetch/$s_!WawQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 1272w, https://substackcdn.com/image/fetch/$s_!WawQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2028bce-9d4a-4d3a-9614-37b94bb76f10_1960x1502.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Experimenting with different layouts and content in Excalidraw</figcaption></figure></div><p>From there, I iterated:</p><ul><li><p><strong>Designed the layout:</strong> Tweaking and polishing each component piece by piece.</p></li><li><p><strong>Connected to Supabase:</strong> Setting up database schemas for journal entries and user accounts.</p></li><li><p><strong>Integrated GPT-4o:</strong> For smarter insights and quick access to past journaling entries.</p></li><li><p><strong>Refined the UI:</strong> Spending extra care&#8212;and a good number of prompts&#8212;to make sure everything looked pixel perfect (or close to it).</p></li></ul><p>One of my favorite and most delightful moments was building an image preview feature for the home page. I was worried it&#8217;d be tricky to pull off, but Lovable made it surprisingly smooth!</p><div><hr></div><h2>try it out :)</h2><p>&#128073; <strong><a href="http://another-day-journal.lovable.app/">Another Day Another Entry Journaling App</a> (</strong><em>Look Ma, no ads!)</em></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;da939a20-21b6-45ed-affa-e26d457431e3&quot;,&quot;duration&quot;:null}"></div><p>I'm excited to continue making improvements to the app. A few upcoming ideas I&#8217;ve been thinking about:</p><p>&#9989; Better insights &amp; richer mood tracking<br>&#9989; AI prompt starters to jumpstart meaningful conversations<br>&#9989; Data importing &amp; integrations from other potential data sources (like Daily Bean)<br>&#9989; Even more UX/UI polish (such as adding better validations and consistent styling)<br>&#9989; Automatic tag extraction from journal entries to reduce the manual tagging</p><div><hr></div><h2>reflections</h2><p>Building this wasn&#8217;t just fun&#8212;it was freeing. For the first time, I wasn&#8217;t held back by technical limitations or the frustration of not knowing how to code. Lovable became my creative playground, letting me explore ideas in real time and sparking moments of curiosity: <em>&#8220;What if I tried this?&#8221;</em> or <em>&#8220;Could I make this happen?&#8221;</em></p><p>As a PM, I've  struggled with insecurity around not feeling technical enough. Over the years, I've accumulated countless ideas that never saw the light of day simply because I lacked the coding skills to build them. There's a frustration and vulnerability that comes with having a clear vision but feeling restricted by your own abilities. At times, I've thought, <em>maybe it's just time I learn to code...</em> but I could never find the momentum to push through that daunting process.</p><p>This experience shifted that mindset completely. I realized I don't need to be fluent in code&#8212;I just need tools that let me express my ideas clearly and visually, in a language that feels natural to me. Suddenly I was building, iterating rapidly, and seeing my vision come alive. For the first time, I truly felt empowered to create something real, all on my own.</p><p>And this feels like just the beginning. I'm genuinely excited now&#8212;excited to dust off those dormant ideas and finally watch them come to life :)</p>]]></content:encoded></item><item><title><![CDATA[(Re-)building my personal website with one full-stack AI tool]]></title><description><![CDATA[side quest no. 2: you could call me crazy in lovable.dev]]></description><link>https://kacinguyen.substack.com/p/letting-ai-take-over-can-lovabledev</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/letting-ai-take-over-can-lovabledev</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Thu, 06 Mar 2025 16:56:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1230cc26-de7f-4be9-b7d7-3dafb329a8f5_2616x1492.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I never thought I'd let AI take the reins on designing my website. But after my first experiment with ChatGPT and Webflow, I was curious&#8212;could AI handle the entire process?</p><p>After more than a 100+ messages and $20 later, the answer is <em>yes</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w2No!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w2No!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 424w, https://substackcdn.com/image/fetch/$s_!w2No!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 848w, https://substackcdn.com/image/fetch/$s_!w2No!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 1272w, https://substackcdn.com/image/fetch/$s_!w2No!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w2No!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:588144,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/158336382?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w2No!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 424w, https://substackcdn.com/image/fetch/$s_!w2No!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 848w, https://substackcdn.com/image/fetch/$s_!w2No!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 1272w, https://substackcdn.com/image/fetch/$s_!w2No!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a42d4aa-3b29-4471-bc9f-e21b720084b2_2880x1506.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I hit my 100 message monthly limit all in one sitting &#128557; </figcaption></figure></div><p>In my <a href="https://kacinguyen.substack.com/p/re-building-my-personal-website-with">last post</a>, I experimented with AI-assisted web design, using a mix of ChatGPT, Webflow, and Midjourney to create a personal landing page. I was pleasantly surprised&#8212;ChatGPT made navigating Webflow much smoother by translating my ideas into web design terminology that I could map back to the Webflow style panel interface. It was like having an on-demand Webflow specialist, helping me bridge the gap between vision and execution.</p><p>But after that experience, I wondered: <strong>What if I let AI take over the entire process from design to deployment?</strong> Instead of just assisting me, could it actually design and develop my site while I played the role of creative director?</p><p>I decided to put this to the test with <strong><a href="https://lovable.dev/">Lovable.dev</a></strong>, an AI-powered web-building tool that claims to generate full-stack websites from simple text prompts. I&#8217;d heard a lot of good things about it, but what really caught my attention was <strong><a href="https://www.youtube.com/live/x_zSapBdN_Y?si=FzLnUmUke21X9xUi">Build Wars: Webflow vs. Lovable.dev</a></strong>, a live competition where a Webflow designer and a marketer using Lovable.dev raced to build a website in an hour&#8212;with 25K+ viewers watching. Naturally, I had to see if Lovable.dev could rebuild and evolve my own site with minimal manual intervention.</p><blockquote><p><strong>&#129488; What is Lovable.dev?</strong></p><p>Lovable.dev is an AI-powered web-building tool that generates full-stack websites from simple text prompts. The AI can handle styling, animations, and even some interactivity.</p><p>For example, prompting it with something like:</p><blockquote><p>&#8220;Create a simple, clean, and minimalist one-page portfolio website for a product manager named Kaci, showcasing their best projects, a short bio, and contact details.&#8221;</p></blockquote><p>&#8230;results in a fully functional site like this: <a href="https://minimal-kaci-space.lovable.app/">minimal-kaci-space.lovable.app</a>&#8212;in about <strong>three minutes</strong>. It&#8217;s pretty insane.</p></blockquote><p>Could Lovable.dev re-build and further evolve my existing personal site, with minimal manual intervention?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oA57!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oA57!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 424w, https://substackcdn.com/image/fetch/$s_!oA57!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 848w, https://substackcdn.com/image/fetch/$s_!oA57!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 1272w, https://substackcdn.com/image/fetch/$s_!oA57!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oA57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif" width="320" height="235" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:235,&quot;width&quot;:320,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1110276,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://kacinguyen.substack.com/i/158336382?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oA57!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 424w, https://substackcdn.com/image/fetch/$s_!oA57!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 848w, https://substackcdn.com/image/fetch/$s_!oA57!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 1272w, https://substackcdn.com/image/fetch/$s_!oA57!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F554dae6f-b760-46e0-8ebd-f37856fd2090_320x235.gif 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><h2>The Experiment</h2><p>I started with a simple prompt, attaching a screenshot of my current Webflow-built landing page:</p><blockquote><p><em>Create a personal website landing page that looks like this. Use placeholder images for now.</em> </p></blockquote><p>That got me this:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0ce64708-56f5-4904-9e42-7cab4fd1357e&quot;,&quot;duration&quot;:null}"></div><h3>First impressions: not bad&#8230; but not perfect</h3><p>When the AI generated my first draft, I had mixed feelings. On one hand, the structure was pretty close to my original design. It applied styling intelligently, even using hover effects for the interest tags and good proportions between all the text elements.</p><p>On the other hand, some elements felt off&#8212;image layout wasn&#8217;t quite right, and of course there weren&#8217;t interaction animations in place. Still, for something that took less than five minutes to generate, I had a decent foundation to work with for a simple landing page.</p><h3>Enhancements &amp; Iterations</h3><p>Once I had my AI-generated site, I went in and refined it.</p><h4>&#128736; Adding tooltip interactions</h4><p>I wanted tooltips to appear when users hovered over the interest tags and the external link icon. I wasn&#8217;t too specific with my prompt, and simply asked for a tooltip to appear on hover&#8212;the AI got me a pretty clean tooltip to work with.</p><h4>&#128640; Importing components from 21st.dev</h4><p>I used <strong><a href="https://21st.dev/">21st.dev</a></strong>, a library of pre-built UI components, to enhance my site. I landed on the <strong><a href="https://21st.dev/aceternity/hero-highlight/default">highlight animation</a></strong> and <strong><a href="https://21st.dev/magicui/sparkles-text/default">sparkles text components</a></strong>, which made the main header pop more and add some interesting movement to an otherwise simple and static page.</p><h4>&#128444; Image hover animations &amp; refinements</h4><p>This was one of my biggest challenges. While Lovable.dev added animations, they weren&#8217;t consistent across all images. Some hovered smoothly, while others felt a bit janky. I had to dig into the code to figure out what was going on and get more specific with my prompt to make the right adjustments.</p><p>One unexpected (and hilarious) moment: While trying to debug the animations, I noticed that only one image (the otter) had the smooth transition I wanted. So, I prompted:</p><blockquote><p><em>"Make sure all component image animation transitions are smooth and consistent. It looks like only the otter image transition is smooth right now."</em></p></blockquote><p>Apparently, Lovable.dev took some creative liberties because the result was a set of floating, bouncing ghostly apparitions &#129315;. Not exactly what I had in mind, but it gave me a good laugh before I reverted it.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;30f61c95-4932-407d-96d3-21567a0cea91&quot;,&quot;duration&quot;:null}"></div><h4>&#128204; Refactoring (AI helps fix its own code!)</h4><p>One super cool thing: Lovable.dev proactively suggested refactoring parts of the code to make it cleaner and more efficient. Instead of manually rewriting everything, I could just click a button, and AI would optimize it for me. Pretty handy for someone whose least concern is on code readability/maintainability/redundancy.</p><p>This was the refactoring prompt that got triggered by clicking the button:</p><blockquote><p><em>Refactor src/index.css into smaller files to improve organization and maintainability. Consider creating separate files for animations, layout components, and responsive styles.</em></p></blockquote><h4>&#127912; Visual polish</h4><p>To bring everything together, I pulled colors from an image on the site and applied them to the highlight and sparkle components. This helped create more consistency and cohesion across the page.</p><h2>The Result</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;a9d7ddf9-2912-41a1-80a9-d4a3d44402aa&quot;,&quot;duration&quot;:null}"></div><h3>&#129321; What went well</h3><p>&#9989; <strong>Beautiful design right out of the box</strong> &#8211; Lovable.dev is known for its aesthetic UI, and it delivered. It automatically added drop shadows to my images for depth and included smooth animations that felt polished.</p><p>&#9989; <strong>Automatic animations</strong> &#8211; It surprised me by adding subtle fade-in and slide-up effects to the content on page load, making everything feel more dynamic without me even asking for it.</p><p>&#9989; <strong>AI-suggested code refactoring</strong> &#8211; The built-in ability to clean up and optimize the code was a game-changer. I didn&#8217;t have to worry about how the website would get built. Instead, I could focus on how it looked and functioned which is really what I care about.</p><h3><strong>&#128557; What didn&#8217;t go so well </strong></h3><p>&#10060; <strong>Font inconsistencies</strong> &#8211; Lovable.dev struggled to match my existing fonts exactly, possibly due to lack of font parity between Webflow and Google Fonts which I later found out was used by Lovable.</p><p>&#10060; <strong>Animation consistency</strong> &#8211; Not all elements had the same smooth transitions. For example, my otter image animation worked perfectly, but other images felt choppy. Trying to correct this without looking at the code felt frustrating. I&#8217;d often get a &#8220;Changes already applied&#8221; message even though it was clear no functional changes were made.</p><p>&#10060; <strong>Slow iteration cycle</strong> &#8211; Every request took 2&#8211;3 seconds to process, plus another 2&#8211;5 seconds for the preview to update. Compared to Webflow&#8217;s instant visual feedback, this felt sluggish when making small tweaks.</p><div><hr></div><h2><strong>Takeaways &amp; lessons learned</strong></h2><ol><li><p><strong>Prompting matters&#8212;A LOT</strong><br>I quickly realized that the way I framed my requests directly impacted the results. Using clear, structured language&#8212;especially with design-related or coding-related terminology&#8212;helped AI understand what I wanted faster.</p></li><li><p><strong>Using existing UI components is a hack</strong><br>Leveraging 21st.dev for pre-built elements sped things up significantly. Instead of figuring out the right words to get the visuals I wanted, I was able to leverage the prompts directly from 21st.dev and let the AI incorporate the code into its existing code.</p></li><li><p><strong>AI is fast, but not instant</strong><br>One of Webflow&#8217;s biggest advantages is instant feedback when tweaking designs. You can see your changes in the style panel reflect immediately in the canvas. With Lovable.dev, there was always a brief waiting period between entering the prompt and seeing the preview, which made quick iterations and validations feel drawn out.</p></li></ol><div><hr></div><h2><strong>What would I do differently next time?</strong></h2><ul><li><p><strong>Plan my prompting strategy more carefully</strong><br>Instead of a trial-and-error approach, I&#8217;d predefine a sequence of prompts for smoother iterations and try out new <a href="https://docs.lovable.dev/tips-tricks/prompting">prompting strategies</a>.</p></li><li><p><strong>Experiment with the knowledge base</strong><br>I wonder if adding design guidelines (like Dieter Rams&#8217;s principles or Nielsen Norman&#8217;s usability heuristics or the principles of visual design) to the knowledge base in the project settings would influence the AI&#8217;s design decisions. There were times when I didn&#8217;t know if something looked good or not. For example, I wasn&#8217;t incredibly happy with the image positions and sizing relative to each other. It would have been nice if the AI proactively made suggestions to improve the overall aesthetic, or incorporated best practices from the get-go.</p></li><li><p><strong>Be mindful of subscription limits</strong><br>My starter subscription included 100 monthly messages, and I burned through them quickly testing out different changes. Since Lovable.dev only gives 5 daily messages after hitting the limit, I&#8217;d need to be more strategic in future projects.</p></li></ul><div><hr></div><h2><strong>Final thoughts: Is Lovable.dev a Webflow killer?</strong></h2><p>Not quite, but gawd dayum, it&#8217;s scary impressive. I wouldn&#8217;t be surprised by how the technology will mature over the next few years.</p><p>Webflow still reigns supreme for those who want full creative control over their websites. Its robust visual editor allows for pixel-perfect precision and quick iterations. However, there&#8217;s a learning curve&#8212;users must invest time in understanding the interface to unlock its full potential.</p><p>Meanwhile, Lovable.dev caters to a broader audience who prioritize speed and ease over granular control. While this makes it an excellent choice for non-designers or those looking for a no-fuss solution, it also means that the final product may feel less unique or tailored compared to a Webflow-built site. If you&#8217;re okay with a more standardized, boilerplate look in exchange for efficiency and &#8216;getting the job done&#8217;, Lovable.dev is a solid contender.</p><p>Ultimately, the choice between the two platforms depends on your priorities&#8212;if you value unrestricted creativity and customization, Webflow is still the gold standard. But if you want a sleek, functional site with minimal effort, Lovable.dev provides a hassle-free alternative.</p><p>Would I use Lovable.dev again? Absolutely. But next time, I&#8217;ll approach it more strategically to get the best results with fewer iterations and optimized prompts.</p><p>&#128640; On to the next project!</p><div><hr></div><p>&#10145;&#65039; <strong>See the final result for yourself:</strong> <a href="#">kacinguyen.lovable.app</a>!</p><div><hr></div><p></p>]]></content:encoded></item><item><title><![CDATA[(Re-)building my personal website with an ensemble of AI tools]]></title><description><![CDATA[side quest no. 1: playing with ChatGPT, Webflow, and Midjourney]]></description><link>https://kacinguyen.substack.com/p/re-building-my-personal-website-with</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/re-building-my-personal-website-with</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Sun, 29 Dec 2024 05:55:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After 2.5 years of neglect, my website was in desperate need of an overhaul.</p><p>I&#8217;m no longer a &#8216;new grad&#8217; as I&#8217;d advertised in my bio. ChatGPT became a thing antiquating my 2021 research on AI tutoring agents. And my motive for having a site has shifted from trying to &#8216;sell myself&#8217; to just having fun expressing myself.</p><p>This month, I decided to yank the dust cover off my site and give it an uplift.</p><h2>Starting point: The initial design</h2><p>I used Webflow to develop the first design that&#8217;s been live for the past few-ish years. As you can see, it&#8217;s literally black and white with some janky, lightweight highlight interactions that were neither polished nor inspiring.</p><p>The last time I tried to build a cool-looking site, I found it confusing to use Webflow&#8212;a hybrid of a no-code website builder (limited customizability) and straight-up coding (maximum customizability). I&#8217;m no engineer nor am I designer, and I felt like Webflow was built for a designer-almost-engineer. As a result, I heavily procrastinated on learning how wield its full functionality. And instead, I&#8217;ve been settling with very plain and simple designs because I didn&#8217;t know how to add the pizazz imagined in my head.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;563b5a3c-fdbb-4961-a51f-4d6dd1c9f77f&quot;,&quot;duration&quot;:null}"></div><h2>New concept</h2><p>Before diving into the nitty-gritty, I wanted to ensure this next iteration of my site was up-to-date and a bit more fun. Here&#8217;s what I had in mind:</p><ul><li><p><strong>Minimalist yet impactful:</strong> Strip away excess pages and irrelevant links to create a zero-click navigation experience.</p></li><li><p><strong>Distinctly personal:</strong> Add playful, hand-drawn illustrations to bring some personality to the visuals.</p></li><li><p><strong>Smooth and dynamic:</strong> Introduce page load animations and smoother hover interactions to make the experience feel interactive and polished.</p></li><li><p><strong>More contrast:</strong> Update the hero typeface to a bold serif and experiment with elegant yet imperfect design details.</p></li></ul><h2>My tool stack</h2><p>To bring my vision to life, I leaned on three powerful tools:</p><ol><li><p><strong><a href="https://webflow.com/">Webflow</a>: </strong>My go-to website builder for both design and coding, offering rich functionality despite a learning curve.</p></li><li><p><strong><a href="https://chat.openai.com/">ChatGPT-4o</a>: </strong>My AI assistant for guiding and educating me when I get stuck.</p></li><li><p><strong><a href="https://midjourney.com/">Midjourney</a>: </strong>My creative companion for generating supporting visuals.</p></li></ol><h2>How I used each tool</h2><h3><a href="https://webflow.com/">Webflow</a></h3><p>Webflow serves as a design editor that has drag-and-drop elements and a style panel control center used to customize the looks and layout of those elements. I love it because of its powerful set of features and functionality (e.g. interactions, custom css properties and values) that enable you to customize and personalize your site more so than other drag-and-drop website builders like Wix and Squarespace. There&#8217;s a bit of learning curve to understand how it works, but once you figure it out, you can build some <a href="https://webflow.com/made-in-webflow/animation">unique and stunning websites</a>.</p><p>My initial site was built using Webflow, so I decided to use the same tool/project to work off. </p><h3><a href="https://chat.openai.com/">ChatGPT</a></h3><p>If Webflow was my main instrument, then ChatGPT was my help assistant. I used ChatGPT to troubleshoot my problems that came up.</p><h4><strong>Use case #1</strong>: <strong>Guiding me through implementation</strong></h4><p>When I wouldn&#8217;t know how to build a specific animation interaction pattern in my head, I used ChatGPT to walk me through it. Some of the tips it gave weren&#8217;t a 1-to-1 match for the existing version of Webflow, but that was okay. Once it told me where else to look, I was able to find the matching keywords in the current live version that got me to where I needed.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;36ffe47b-6288-4a84-9844-257bededd499&quot;,&quot;duration&quot;:null}"></div><h4><strong>Use case #2: Keeping my classes structured and well-organized</strong></h4><p>There were times when I&#8217;d realize that I&#8217;d need to apply the same exact interaction effect to similar elements. For example, the tooltip interactions were all the same. However, I would have to re-build the same interaction three times based on the way I named and identified each tooltip element. This felt unnecessary so I posed the question to ChatGPT to suggest a class folder structure that would enable me to do the work once and save me twice the time.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f49f460b-9d7e-455b-be1b-ea7022f9f7f5&quot;,&quot;duration&quot;:null}"></div><h4><strong>Use case #3</strong>: <strong>Educating me on web terminology and best practices</strong></h4><p>When it comes to sizing (text, padding, margin, divs, viewports, etc), there are several units of measurement you can choose from: px, %, em, rem, ch, vw, vh, svw, and svh. Why so many? Can&#8217;t everything be set in pixels?</p><p>Well, it turns out that there are different benefits of using each of these units. It depends on the nature of your design and the element you&#8217;re styling.</p><p>Different units of measurement (like px, %, rem, and vw) have specific uses depending on design needs. For example, pixels are best for small, fixed elements requiring precise control (like icons and borders), while percentages are better for elements that need to adapt to flexible layouts. I used ChatGPT to help demystify these nuances.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;6f4d27d7-22ab-4bd0-8bd8-1b5af85030e0&quot;,&quot;duration&quot;:null}"></div><p>I wouldn&#8217;t have known any of this without the help of ChatGPT to explain it all in a table breakdown. ChatGPT is definitely a great companion to have at your side when working in a new domain with low-risk consequences should it ever hallucinate and lead you astray.</p><h4><strong>Use case #4</strong>: <strong>Brainstorming and consulting design ideas</strong></h4><p>ChatGPT gave me a starting point that I often used but built upon later. I think it&#8217;s really good at providing leads or clues for what to explore next. When I asked ChatGPT how to add an animation on page load, it proactively provided a few simple and slightly more fancy ideas I could start with. It also raised some nifty suggestions that made the design more dynamic and less clunky such as adding a b&#233;zier keyframe transition to each animation.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;d5b53374-4add-431e-9766-209b6c5bf49b&quot;,&quot;duration&quot;:null}"></div><p>Overall, ChatGPT handled a lot of unwanted thinking for me in seconds, leaving me in the pilot&#8217;s seat to control the creative direction.</p><h3><strong><a href="https://midjourney.com/">Midjourney</a></strong></h3><p>I knew I wanted some illustrations on my site, but I&#8217;m not artist. My options would have been 1) spend days learning how to draw ($ in time, bad quality), 2)commission someone to do it for me ($ in money); or 3) find some existing digital assets that someone is selling ($ in money, but low in precise expression/customization). But lo and behold, times have changed. Midjourney exists!</p><p>I paid $7 for a monthly subscription on Midjourney to generate some nice visuals on my site. It did not disappoint. I used 118 prompts, iterating and building upon each one to tweak the first set of Clip Art-y images that divulged my prompting ineptitude. I&#8217;m so embarrassed by some of the initial images that I immediately clicked on the &#8216;Hide&#8217; button on a few of them to sweep them under the rug and forget that they ever existed. The more and more I played around with Midjourney&#8217;s features and keywords, the better the images became. By the end, I was extremely elated by the results.</p><p>Here are a few fun ones I created with the following prompt:</p><pre><code>A flat vector playful, hand-drawn illustration of a <em>[fill in the blank]</em> in the style of Matisse </code></pre><p>Once I got a few images that I liked, I was able to use the &#8220;Use in prompt&#8221; feature to reference the style in my next prompt. This was one of the most delightful features I came across since it made all the illustrations look cohesive.</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fee6539a-912c-4691-894e-10ee08288152_1024x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/214bf799-7e43-4237-9dbe-c09541aa6bea_1024x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ff0e080-71dd-42fb-beda-590cffb33aa7_1024x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8da6059-c13b-44d1-8cd0-801d90ef3de4_1024x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/062741ef-fcc0-4372-bd1d-924fb6b05863_1024x1024.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5dce88a-25d4-45f7-93b4-3e6db84e9c35_928x1232.png&quot;}],&quot;caption&quot;:&quot;Animals doing hooman things -- Images generated by Midjourney&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79f5c626-d42c-406d-8a6e-c1d362b4a735_1456x964.png&quot;}},&quot;isEditorNode&quot;:true}"></div><h2>Final result</h2><p>Here it is! Now, with newer personality-filled animations and hand-drawn illustrations, it finally reflects the personality I wanted when I first decided to start a website.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;dc2ebc8f-429c-4123-9c70-459a5f72e238&quot;,&quot;duration&quot;:null}"></div><h2>Takeaways</h2><ol><li><p><strong>AI tools unlock limitless possibilities, with human imagination and clear communication as the only constraints.</strong> Even the most complex interactions that once felt exasperating and made me want to (&#9583;&#176;&#9633;&#176;)&#9583;&#65077; &#9531;&#9473;&#9531; are now easily achievable, empowering creators to surpass their own skills.</p></li><li><p><strong>Webflow + supplemental AI tools are breaking down barriers, making design and development more accessible to non-designers and non-engineers like me. </strong>Together, these tools enable individuals to tackle creative and complex projects independently, redefining the traditional roles of product, design, and engineering in the process. Each function may begin to shift their focus towards the more complex and creative work, such as motion and interaction design.</p></li><li><p><strong>ChatGPT is a powerful assistant, but switching between tools remains a challenge.</strong> Despite the friction of tab-switching, its ability to answer questions and provide solutions far outweighs the inconvenience, and deeper integrations could streamline its utility even further by introducing contextual help and up-to-date internal knowledge.</p><ol><li><p>Update: I think Webflow is building this as we speak! <a href="https://webflow.com/ai">Webflow AI Assistant</a> is currently in limited beta as of Dec 2024.</p></li></ol></li></ol><h2>Future plans</h2><p>This project gave me a taste of how distributed generative AI tooling can enhance and transform design and development workflows. With the pace of innovation accelerating, I&#8217;m eager to dive deeper and see how these tools will reshape our workflows in ways we can&#8217;t yet imagine.</p><p>Up next:</p><p>&#127798;&#65039; Test-drive in-house copilots like Webflow&#8217;s AI Assistant to see how seamlessly it integrates into the design workflow.</p><p>&#127798;&#65039; Go all-in using next-gen full-stack generators like v0, bolt.new, and lovable.dev to build a website from the ground up using just human language prompting.</p><p>&#127798;&#65039; Combine a full-stack generator with co-pilot LLM support to code more complex design patterns and interactions</p><p>Stay tuned!</p><div><hr></div><p>Wanna see the full result? &#128064; Check out the refreshed site at <strong><a href="http://kacinguyen.webflow.io">kacinguyen.webflow.io</a></strong> (view on desktop for the best experience!)</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rS70!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rS70!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!rS70!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!rS70!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!rS70!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rS70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1162964,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rS70!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!rS70!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!rS70!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!rS70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8eac61-7c49-42b5-ab85-5881dc2d7c1c_1232x928.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Where I wish I was at this very moment: skiing on a slope of ice cream topped with sprinkles so when I fall and eat dirt I will instead be eating ice cream &#8212; <em>Generated by Midjourney</em>, <em>ofc</em></figcaption></figure></div>]]></content:encoded></item><item><title><![CDATA[25 lessons I've learned at the end of the 2-year rotational product management program]]></title><description><![CDATA[Some of the most meaningful and powerful nuggets that continue living in my head rent free]]></description><link>https://kacinguyen.substack.com/p/25-lessons-ive-learned-at-the-end</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/25-lessons-ive-learned-at-the-end</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Mon, 28 Oct 2024 03:32:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tqNY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tqNY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tqNY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!tqNY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!tqNY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!tqNY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tqNY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png" width="1232" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1232,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1522830,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tqNY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 424w, https://substackcdn.com/image/fetch/$s_!tqNY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 848w, https://substackcdn.com/image/fetch/$s_!tqNY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 1272w, https://substackcdn.com/image/fetch/$s_!tqNY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb02ce1-42cc-4f42-8705-3130a1df6fd4_1232x928.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><ol><li><p>Your manager holds disproportionate power over your growth and happiness both inside and outside of work. If you can, make it your #1 goal to choose a great manager. They won&#8217;t control your happiness directly, but they can create a positive work environment that encourages you to prioritize your well-being by promoting healthy work-life balance and encouraging open communication about your needs. Ask other RPMs which PMs they admire and respect. You&#8217;ll get a vetted list that you can use to further narrow down through meet-and-greets.</p></li><li><p>Your title can subconsciously affect how others respond to your requests. &#8216;Product Manager 1&#8217; connotes inexperience and can unfortunately also subliminally signal &#8216;this person is not important, I won&#8217;t respond to them and/or take them seriously&#8217;. &#8216;Product Manager&#8217; removes leveling as a signal and can help bring focus to the problem and not the person. This stems from the organizational philosophy that &#8220;it&#8217;s about what you do, not what you&#8217;re called&#8221;, practiced at both <a href="https://theorg.com/iterate/how-stripes-anti-heirarchy-is-leading-the-company-into-its-next-chapter">Stripe</a> and <a href="https://creatoreconomy.so/p/openai-culture-and-what-happens-next">OpenAI</a>.</p></li><li><p>Don&#8217;t be afraid to be wrong and fail. In fact, aim to prove yourself wrong. These programs have built-in learning environments for you to make mistakes with virtually no risk.</p></li><li><p>Some of the most growth can come from thinking like a Principal PM, even if you aren&#8217;t one. Don&#8217;t put yourself in a box based on what your current title says you are and limit what you can do.</p></li><li><p>You need to be the biggest advocate for yourself and your career - no one else will be. Always keep an inventory of your work and your impact, and share it loudly and proudly, especially when it comes to your mid-year/year-end reviews.</p></li><li><p>Related: Never assume your work speaks for itself; speak for your work in all forums&#8211;1:1s, experience reviews, year-end reviews, launch posts, etc. Expose your work and make your value visible and known.</p></li><li><p>There&#8217;s magic in working with a cross-functional team that hold the same values and motivations as you: doing what&#8217;s best for the customer, raising the bar of excellence for the craft, staying curious, and enjoying the process more than the outcome. Seek these people out. They&#8217;ll push your thinking and keep you sane.</p></li><li><p>You can realistically(!) achieve financial independence early if you start investing in tax-advantaged accounts now! Take the time to learn (or bother RPMs passionate about personal finance) about personal finance, especially now that you&#8217;ve got a proper job and are earning more than you ever have before. It&#8217;ll pay dividends down the road en route to early retirement. </p></li><li><p>A healthy amount of skepticism couldn&#8217;t do you harm. Question the data and the results when something seems too good to be true.</p></li><li><p>Fake it &#8216;til you make it; that&#8217;s what everyone else is secretly doing.</p></li><li><p>Community becomes especially important when you aren&#8217;t getting what you need from your direct manager. Lean on the community to fill in where your manager or team cannot. It&#8217;s likely that someone has encountered and survived a similar situation as you. Ask for help, and then return the favor by providing help to keep the community thriving.</p></li><li><p>Whether you&#8217;re going for speed or quality, make it clear what you&#8217;re prioritizing and declare it. As important as it is to have both, you can only really do one of them well. By declaring one, you end up moving faster than attempting both since everyone understands what the goal is and can rally behind it to achieve it.</p></li><li><p>A paradox to innovating in 0-1 products quickly is to throw more people at the problem. But by introducing more opinions into the mix, you increase the coordination costs of needing discussion and alignment. The best teams to work on these projects are nimble, self-sufficient, and lean, which ultimately expedites the time to execution.</p></li><li><p>Only focus on what you can control. It&#8217;s a massive waste of energy to focus your attention on people, ideas, and processes you can&#8217;t change.</p></li><li><p>Related: Work on the most impactful things; don&#8217;t spend much time on the rest. But also be a good team player and don&#8217;t say no to everyone and everything.</p></li><li><p>Find the right hills to die on. (Save your lives and your energy! No one should be dying three times a week. Seriously, that&#8217;s a lot of death for a week.)</p></li><li><p>A lot of problems can be solved when leadership is aligned at the top&#8212;this is where escalations can be useful and often necessary. Consider escalations as a tool in your toolbox, and learn how to wield them.</p></li><li><p>When you see something, say something. Be a productive complainer.</p></li><li><p>Rest assured, you&#8217;re not crazy!!! When you feel like you&#8217;re going mad, talk it out with someone you trust&#8212;ideally your manager, but if not your manager, then a trusted mentor who can provide an additional perspective and sanity check.</p></li><li><p>The key difference between the different PM levels and titles, and what vastly differentiates a principal PM from a junior PM, is the ability to influence (imo one of the most DIFFICULT skills to master).</p></li><li><p>Consider the conditions in which research was conducted before you use it as empirical data to not move forward with an approach because &#8220;it&#8217;s been tried before.&#8221; The world moves quickly, and sometimes the assumptions you&#8217;ve held in the past just no longer remain true.</p></li><li><p>You can make your own luck by simply asking for what you want. Put it out there in the world, then put it out there again, then put it out there again. The magical powers that be will make it happen.</p></li><li><p>Relationships and skills are a few durable assets that no one can take away from you, not even a company. Invest in building them, they&#8217;ll yield the largest returns.</p></li><li><p>Remember to have fun! Take advantage of the light baggage of responsibilities you have as a new grad just entering the workforce. Enjoy the extra pockets of time to learn, explore, and try new things. And as much as you think the whole fate of the company rests on your shoulders, it fortunately does not. That would be maddeningly stressful. Log off at 5. Take PTO. Go travel the world while you still can.</p></li><li><p>The best part of any rotational product management program is the other RPMs you meet in the program. They&#8217;re not just co-workers, colleagues, or work friends &#8211; they can be your personal board of advisors, figures of inspiration, and friends for life who were there with you when you transitioned from an unsure baby new grad apprentice to a confident (but weathered) adult-turned PM veteran. Make time each month to check in, catch up, and send them cool/funny things you find on the Internet.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://kacinguyen.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading On the Cusp! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Operational mindset shifts on a GenAI team]]></title><description><![CDATA[Unlearning what I learned about PM in my second rotation]]></description><link>https://kacinguyen.substack.com/p/operational-mindset-shifts-on-a-genai</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/operational-mindset-shifts-on-a-genai</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Sat, 02 Dec 2023 06:23:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cAA-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="pullquote"><p><em>Hey, hi, ho! We&#8217;re three months into my second rotation, but I still don&#8217;t know what I&#8217;m doing! And that&#8217;s okay! Because I&#8217;m learning, and that&#8217;s what really matters.</em></p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cAA-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cAA-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!cAA-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!cAA-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!cAA-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cAA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png" width="490" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:490,&quot;bytes&quot;:3147861,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cAA-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!cAA-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!cAA-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!cAA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6ed13d-6ff5-4711-b754-940d7deb649a_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#8220;GenAI Westward Expansion&#8221;, an image generated using DALL-E 3  &#129413;&#128518;</figcaption></figure></div><p>In this rotation, I&#8217;m charting a new land of PM. One lush with ambiguity, sprawling with dependencies, and lurking with pivots. This is the land of generative AI, the 21st-century California gold rush into uncharted product territory.</p><p>Throughout a series of posts, I&#8217;ll be mapping out that land acre by acre as I learn how to wield the power of the latest technology, starting with new ways of operating.</p><h2><strong>Mindset shifts</strong></h2><h3><strong>#1: Learn first, launch later</strong></h3><p>Throughout the course of a product&#8217;s lifecycle, product managers will typically spend time in one of these phases:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lRd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lRd6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 424w, https://substackcdn.com/image/fetch/$s_!lRd6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 848w, https://substackcdn.com/image/fetch/$s_!lRd6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 1272w, https://substackcdn.com/image/fetch/$s_!lRd6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lRd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png" width="1456" height="152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:152,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:29989,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lRd6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 424w, https://substackcdn.com/image/fetch/$s_!lRd6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 848w, https://substackcdn.com/image/fetch/$s_!lRd6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 1272w, https://substackcdn.com/image/fetch/$s_!lRd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b493a51-7d47-49a7-b747-29c2816a6627_1858x194.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">A typical product development process</figcaption></figure></div><p>In my first rotation, I fluttered mostly between building and releasing a capability feature that could apply to several products across the ecosystem. Build the feature for X offering, ship. Build the offering for Y product, ship. Occasionally, I dabbled in the Design phase to create a design that could scale with the number of use cases we were launching the capability for.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ptsb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ptsb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 424w, https://substackcdn.com/image/fetch/$s_!Ptsb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 848w, https://substackcdn.com/image/fetch/$s_!Ptsb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 1272w, https://substackcdn.com/image/fetch/$s_!Ptsb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ptsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png" width="1424" height="224" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:224,&quot;width&quot;:1424,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Ptsb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 424w, https://substackcdn.com/image/fetch/$s_!Ptsb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 848w, https://substackcdn.com/image/fetch/$s_!Ptsb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 1272w, https://substackcdn.com/image/fetch/$s_!Ptsb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a4464a7-eedd-4418-a14b-4d6eb3f66cd6_1424x224.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Focus areas of rotation 1</figcaption></figure></div><p>It was a Cinderella slipper, perfectly sized, fitting what I was looking for at the time. (<em>In my summer internship before this role, I never saw my feature see the light of day. So you can imagine how eager I was to see the culmination of my work live in the product being used by real(!) customers.) </em>The team already validated the customer problem and proved the technology worked. The research &amp; planning and design stage were complete, and all I had to do was take the baton and run with it.</p><p>Then generative AI entered the picture.</p><p>I switched to the generative AI team when we were just falling from the Peak of Inflated Expectations into the Trough of Disillusionment of the <a href="https://www.gartner.com/en/research/methodologies/gartner-hype-cycle">Gartner Hype Cycle</a>.</p><p>The new technology is like the Tesseract from Marvel. It glows and radiates and teases the power to do incredible things, and everyone wants their hands on it.</p><p>But what does it do?&nbsp;What exactly <em>can</em> it do (well)? <em>And when should we wield its power without imploding the universe and pulverizing everyone into dust?! </em></p><p>After learning it can&#8217;t do that much very well in our product space, we drew a <em>Go back 3 spaces</em> card and entered learning mode.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xJzk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xJzk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 424w, https://substackcdn.com/image/fetch/$s_!xJzk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 848w, https://substackcdn.com/image/fetch/$s_!xJzk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 1272w, https://substackcdn.com/image/fetch/$s_!xJzk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xJzk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png" width="1394" height="206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:206,&quot;width&quot;:1394,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xJzk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 424w, https://substackcdn.com/image/fetch/$s_!xJzk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 848w, https://substackcdn.com/image/fetch/$s_!xJzk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 1272w, https://substackcdn.com/image/fetch/$s_!xJzk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac7268b-9faf-47da-b675-57447498c1e4_1394x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Focus of rotation 2 (my current rotation) on the Slope of Enlightenment</figcaption></figure></div><p>Our team research spanned across the customer, the technology, the processes, the metrics&#8212; pretty much everything. Things were changing so rapidly that there was just too much to learn overnight for one individual to handle. To handle this, one of the team&#8217;s rituals was sharing what we hoped to learn at the beginning of every week and what we learned at every standup. Whatever we learned individually was shared with the rest of the team to expedite every stage of the product development phases we were in.</p><p>Generative AI ushered in a new way of operating. In this world, launching takes a backseat to learning until we feel confident about what types of problems the technology is world-class at solving.</p><h3><strong>#2: Building new norms</strong></h3><p>Onboarding onto this team, I often found myself in different situations asking &#8220;<em>What does the team typically do?&#8221;</em> only for my manager to reply &#8220;<em>There&#8217;s nothing typical yet</em>.&#8221;</p><p><em>You&#8217;re telling me that this team hasn&#8217;t yet figured out all the secrets to working with generative AI?!</em></p><p>I assumed they had all the answers neatly laid out in front of us, everything figured out. Alas, that was far from reality. It took me a bit to internalize that we were working with technology so fundamentally new and different that it confounds almost everyone in tech.</p><p>We are an early-stage product working on a mature product with millions of users. Naturally, I expected existing practices and a few &#8220;<em>this is how we&#8217;ve been doing it on the team</em>&#8221; to learn from. I was awaiting tried-and-true steps to take and patterns to follow because they&#8217;ve been known to work in the past. But there weren&#8217;t, not with generative AI. We were trained and experienced in making product iterations and incremental improvements, not launching new products altogether and focusing on the minimum viable product let alone an AI-MVP. The new norm on the team became having no norms at all.</p><p>No norms to work with can be a pretty exciting place to be. A blank canvas means having the unfettered freedom to build new norms and heavily shape the team culture. As PMs, we get to be the ones to build unencumbered by any pre-existing traditions or engrained practices.</p><p>I&#8217;ve never worked at a startup, but this intuitively feels like one with its embryonic team rituals. I like it.</p><h3><strong>#3: Timely escalations as a habit</strong></h3><p>Generative AI poses an existential threat to many large tech incumbents. After all, it's quite powerful and <em>anyone</em> can harness that power if they take two seconds to search &#8216;How to create an LLM.&#8217; Being on an AI team, we&#8217;re reminded of this threat on our heels quite frequently and are constantly prodded to move fast to thwart it.</p><p><em>Move fast.</em> A phrase notoriously inculcated by startups where it&#8217;s easier to achieve due to a lack of bureaucracy and tech debt. At a big company that has more than its fair share of both of those, it looks like quick escalations.</p><p>Take this scenario:</p><blockquote><p><em>Me: I&#8217;ve validated a feature with a customer and know I want to build it.</em></p><p><em>*Goes to Person A, B, and C from Team Apple, Blueberry, and Cantaloupe who I know work on components that my feature will need*</em></p><p><em>Me: Ok, I also know I have to work with Team Dewberry since they own the security component of my feature but I don&#8217;t know who Person D from that team should be.</em></p><p><em>Now I&#8217;m two days into building out this feature and Person G and H from Team Guava and Honeydew emerge from the woodwork and unveil that their teams own the identity and motion components of my feature and that they&#8217;re already working on it.</em></p><p><em>Tada! Suddenly, we have two similar but slightly different versions to reconcile since there are platform teams we didn&#8217;t know about moving in different directions.</em></p><p><em>Me: Ok. Which components do we keep and which do we replace?</em></p><p><em>*Churn, churn, and churn&#8230; oh, do I see butter forming?*</em></p></blockquote><p>Platform dependencies are important to building one cohesive and seamless product experience and reducing redundancy, but they do so at the cost of velocity. Adding teams can stretch out the time it takes to align on decisions and prolong the time it takes to build when the platform team has competing priorities. When teams aren&#8217;t prioritized, they may go off and build their duplicate version of the solution. Later on, these versions must be reconciled and the decision churn renews.</p><p>When you encounter a knot of platform dependencies that your team alone can&#8217;t untangle in a reasonably swift manner, lean on your leaders to step in and help reconcile. As a team expected to build up defenses against generative AI-breathing dragons, we&#8217;ve been encouraged to employ this skill whenever we experience undue churn. It turns out that what takes you days or maybe even weeks to do can be done in an hour-long meeting by leadership. Who knew?</p><p>Escalate as necessary to get the teams aligned and marching back together in the same direction.</p><h2><strong>Mindset constant: customer needs first</strong></h2><p>Our job as PMs is to advocate for our customers, understand their needs, and solve their problems. It doesn&#8217;t matter to the customer what technology we use to do this. What matters most is what technology can do for them. How does technology solve their problems better than existing solutions or workarounds?</p><p>It&#8217;s all too easy to get swept up by the hype of new technologies. As exciting as generative AI is, we need to remember that technology remains just a means to an end. Our focus should always remain on the individuals we&#8217;re building solutions for: our intrepid customers.</p>]]></content:encoded></item><item><title><![CDATA[Procrastinator perfectionism & Optimism as a double-edged sword]]></title><description><![CDATA[My belated reflections on product management 6 months into my first rotation]]></description><link>https://kacinguyen.substack.com/p/procrastinator-perfectionism-and</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/procrastinator-perfectionism-and</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Mon, 16 Oct 2023 02:00:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!itOX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!itOX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!itOX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 424w, https://substackcdn.com/image/fetch/$s_!itOX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 848w, https://substackcdn.com/image/fetch/$s_!itOX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!itOX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!itOX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg" width="1456" height="1097" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1097,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!itOX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 424w, https://substackcdn.com/image/fetch/$s_!itOX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 848w, https://substackcdn.com/image/fetch/$s_!itOX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!itOX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9f3974c-254f-4dc9-b778-38318180cb0d_1600x1205.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">On a very long &amp; chilly walk along the Embarcadero&#8202;&#8212;&#8202;gotta get those 10,000&nbsp;steps!Greetings dear readers, diary &amp; future self,</figcaption></figure></div><p>It&#8217;s been a while since we last talked! I&#8217;ve procrastinated on writing this for various reasons (see learning #3 for the main reason). But I&#8217;m learning to go against my perfectionist tendencies and just get my imperfect thoughts out there.</p><p>So here goes it: nuggets from my first six months in a rotational product management program. Delivered straight to your internet door. &#128233;</p><h2><strong>What goes up must come down</strong></h2><p>You know those first two weeks of freshman year in college when it feels like someone just hit the refresh button on life? It&#8217;s a new chapter, and suddenly we have the freedom to write whatever story we&#8217;d like. <em>You mean, I can have</em> i<em>ce cream for dinner? </em>Indeed. Life is good.</p><p>But then: the not-so-fun parts of college begin to creep in&#8212;the midterms stress, the homesickness, the loneliness, the club rejections&#8212;all chiseling away at your idealistic image of what college is supposed to be like.</p><p>Enter the same story, aged a little with a wrinkle here and there.</p><p>Six months in put me just past the honeymoon stage of early grad PM life. Alas, the shininess of the program&#8217;s promises has worn off leaving me to face off with the reality of being a young new grad in a large tech company.</p><p>It went a little like this:</p><ul><li><p>From <em>I&#8217;m going to learn fast, move quick!</em> &#8594; To <em>I&#8217;m blocked. I don&#8217;t have access to XYZ team&#8217;s dependent data. Guess I&#8217;ll have to wait for Sally to get back from vacation.</em></p></li><li><p>From <em>I&#8217;m going to solve problems X, Y, and Z</em> &#8594; To <em>I&#8217;m just going to solve X. Y isn&#8217;t prioritized by leadership to be resourced. We don&#8217;t have the right technology in place to solve Z.</em></p></li><li><p>From <em>I&#8217;m going to develop and apply all my technical design &amp; data analysis skills </em>&#8594; To <em>I&#8217;m going to develop my stakeholder management, triad partner collaboration, and communication skills.</em></p></li><li><p>Most tragic one yet, from <em>New grad? Attend this development workshop and receive a free Uber Eats voucher!</em> &#8594; To <em>You&#8217;re on your own! Get your own food. </em>Gone are the golden days.</p></li></ul><p>It&#8217;s a classic coming-of-age tale. Girl starts work with an abundance of optimism and naivete. Girl struggles with various obstacles to ship a feature. Girl must come to terms with the limitations and characteristics of big organization and limitations: bureaucracy, politics, and dependencies that can hamper velocity and autonomy. But in the process, girl becomes woman. A <em>working</em> woman, I might add. Aheh.</p><p>What goes up, must come down. Innocence lost, but wisdom found.</p><h2><strong>Get comfortable with the &#8220;</strong><em><strong>yes, and&#8217;s&#8221;</strong></em></h2><p>Surpise, plans change! Your team becomes understaffed after a staff engineer moves teams, an unexpected dependency is discovered setting back the timeline, and you&#8217;re asked to share aloud thoughts on a strategy or design you&#8217;ve never seen before on the spot.</p><p>As a fastidious planner, I would be aghast if I wasn&#8217;t given the heads up for these things &#8212; <em>I need to plan for it!</em> I&#8217;d exclaim.</p><p>But product management is a continuously running five-act play of improvisation. It involves taking what you&#8217;re given and running with it time and time again.</p><p>I&#8217;m learning to get better at this skill. Curveballs are expected and normal so best to plan for them by keeping flexibility in mind and brandishing the courage to march forward even when things don&#8217;t go to plan.</p><h2><strong>Procrastinator perfectionism (my worst enemy)</strong></h2><p><em>I&#8216;m gonna put this off until I have the right information to get started.</em></p><p><em>I&#8217;ll hold off on committing until I feel more confident it&#8217;s the right decision for me.</em></p><p>Famous last words.</p><p>I tend to wait for the perfect conditions before I start anything. But in doing so, I hold myself back because the perfect conditions tend never to arise.</p><p>When these feelings surface, I try to step back and remind myself that now is a good time to start. Perfect won&#8217;t happen right away. In fact, it may never happen. But that shouldn&#8217;t hold you or anyone back from striving towards something that&#8217;s still <em>really great</em>. Almost always, something is better than nothing.</p><h2><strong>Re-defining self-worth</strong></h2><p>From the moment I entered the workforce, I began tying my worth to that defined by the corporate world. If I didn&#8217;t perform well against the PM competencies, I felt inferior like I didn&#8217;t belong in this role at this company on this team. In retrospect, this sounds silly.</p><ol><li><p>For starters, Growth Mindset &#8482;! Anyone and everyone can improve with time and deliberate effort. It&#8217;s good to be self-aware about where there&#8217;s room to grow.</p></li><li><p>But most importantly, your self-worth should not, <em>I repeat</em>, should not, be calculated by measures of capitalist productivity. Life is much grander than work. Remember that you play many roles beyond an employee or a coworker. How would you calculate your self-worth if being a good friend/daughter/son/plant mother/cat father/home cook/part-time student/etc. was the judging criteria?</p></li></ol><p>You are doing the best you can given your circumstances that only you have visibility on.</p><h2><strong>Optimism as a double-edged sword</strong></h2><p>In many situations, optimism is great to have. When you&#8217;re optimistic, you tend to persevere.</p><p>I&#8217;m often told that I&#8217;m quite an optimistic person. I cherish my optimism more than I deplore it. However, every quality becomes a weakness when taken to an extreme. At its extreme, optimism means seeing everything as an &#8220;opportunity to learn&#8221; and taking on additional work that I probably otherwise shouldn&#8217;t. Other times, it means not being critical enough to question the viability of an approach since I&#8217;m optimistic what we have will work.</p><p>Over-optimism leads to an overestimation of the benefits and an underestimation of the costs.</p><p>I&#8217;m practicing pausing, debating with myself, and pushing back more often. When it comes to countering the opportunity to learn, I think about being intentional about the work I take on and correspondingly setting up the right boundaries to protect my time to do what&#8217;s best for my growth. When it comes to plans and ideas, I&#8217;m trying to get better at playing devil&#8217;s advocate to help the team arrive at the best and most accurate solution.</p><h2><strong>Being more assertive</strong></h2><p>When I started the role, most of what I worked on was drawn out for me. My projects had already been scoped and my training sessions were pre-selected. I was essentially working off a script written with my name on it.</p><p>A little bit of passivity is normal when you first start a new job at a new company. After the first few months of onboarding though, you&#8217;re expected to take the reins of your job and write the stories that will give your career your happy ending.</p><p>If you want a fulfilling rotation (and career!), be assertive. Identify what you want to do and make it happen.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://medium.com/pm-diaries/a-2-month-overdue-6-month-check-in-d423bd910813&quot;,&quot;text&quot;:&quot;See original post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://medium.com/pm-diaries/a-2-month-overdue-6-month-check-in-d423bd910813"><span>See original post</span></a></p><div><hr></div><p><em>The PM Diaries</em> is a new outlet of mine to document my career journey. But secretly, it&#8217;s a forcing mechanism to surrender my thoughts to pixels &amp; paper and produce something I could call my own, all at a sunk cost of $5/month. Here&#8217;s hoping that $5 stretches further for you than it does for me.&#9786;</p><p>~ Kaci</p>]]></content:encoded></item><item><title><![CDATA[Zero to PM: My first 5 months as a product manager fresh out of college]]></title><description><![CDATA[Three lessons in PM that books could never teach me]]></description><link>https://kacinguyen.substack.com/p/zero-to-pm-my-first-5-months-as-a</link><guid isPermaLink="false">https://kacinguyen.substack.com/p/zero-to-pm-my-first-5-months-as-a</guid><dc:creator><![CDATA[Kaci Nguyen]]></dc:creator><pubDate>Sat, 14 Oct 2023 16:00:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-AVz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-AVz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-AVz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-AVz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-AVz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-AVz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-AVz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg" width="1456" height="1097" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1097,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-AVz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-AVz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-AVz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-AVz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6654d5b-79f9-4c94-923f-69f8d742a49b_1600x1205.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of my first SF activities&#8202;&#8212;&#8202;kayaking in the Bay by Oracle&nbsp;Park</figcaption></figure></div><p>Around this time last year, I breathed a sigh of relief as I closed all of my product management interview prep tabs. Each click of an X lifted a weight off my shoulder, decluttering my mind as it had my browser. Recruiting was over, I got the job.</p><p>I remember spending +100 hours in my spare time unraveling articles, devouring highly recommended books, and overpacking as much PM in my brain as it could hold before concepts would start springing back out.</p><p>Who knew that, despite cramming my brain with theories, anecdotes, and principles, I could never be adequately prepared for stepping into the role myself?</p><p>Books and videos cover theory in a perfect world, but the real world is imperfect. The real world introduces people and events as variables that you can&#8217;t calculate yet that can drastically change your performance.</p><p>Over the past five months, I learned a few things that nothing except actually being in the role could prepare me for.</p><div><hr></div><h4><strong>About how frequently I&#8217;d question my abilities and qualification</strong></h4><p>As a senior in college, I was considered top of the chain. I had four years of college experience under my belt, more than every other class (except the super seniors, though they&#8217;re lumped with the seniors in my head.) I knew which classes to take, which professors not to take, where to study, and which orgs to join. My fellow seniors and I&#8211; we were suave, at least in the eyes of freshmen. We had that coolness factor simply because we were seniors with four years of college wisdom, and we could legally drink.</p><p>When I started this entry-level PM role, my social capital was reset to zero. I was once again the baby who&#8217;s just been birthed into the corporate world with nothing to my name. I knew nothing about the company internally, which training to take, who the best managers were, where to find the best coffee and snacks in the building, and which Slack channels to join. And, to rub salt in the wound, everyone here could legally drink. On this new campus, I was the fumbling, bright-eyed, and bushy-tailed freshman who looked up to the senior PMs.</p><p>I felt incompetent and small starting out. In one of my projects, I was in charge of a feature launch that was delayed multiple times due to code freezes, an application migration, and a misaligned deployment schedule with a dependent team. My inner critic would pester me: <em>You should&#8217;ve asked the right questions to the engineers beforehand to set the right timeline expectations. You should&#8217;ve worked faster, harder, and more diligently to avoid this. If you had a technical background, you would&#8217;ve seen this coming!</em></p><p>In another one of my projects, I was working with multiple dependent teams to scale an existing feature to a new global market. While ramping up on this project, I&#8217;d already reached an impasse. It&#8217;s not like there were any disagreements (yet), but rather no one would respond to my questions and pleas for information. Again, my inner critic would prance on my shoulder touting: <em>Of course, no one would respond to you, why should they? Your questions and requests are dumb and not worth their valuable time.</em></p><p>Things never seemed to work out the way I planned them to, and I couldn&#8217;t help but blame myself. However, my manager reassured me that a lot of those things were just out of my control. She put it into perspective: I&#8217;m coming into a large, relationships-based, functionally-structured organization as a newbie with zero social capital and zero work experience. I can&#8217;t anticipate everything. Escalate when you&#8217;re blocked. It&#8217;s not your fault.</p><p>Dear diary, give yourself grace and permission to fail as an entry-level new grad. Make a lot of mistakes and learn from them because forgiveness for not knowing now is a lot easier than later.</p><div><hr></div><h4><strong>About the importance of owning who you are and voicing your&nbsp;beliefs</strong></h4><p>Growing up in an Asian household, I was taught to just do my job, go with the flow, keep my head down, stay in my lane, and let my work speak for itself. In the American corporate world, especially as a product manager, that couldn&#8217;t be further from what you should do.</p><p>In my first month and a half, I was often invited to small and large group meetings where I never said a word. I&#8217;d sit and nod, trying to absorb what was being said and make sense of it, and then leave. I felt guilty for being there and adding extra clutter and noise to the room even when I said nothing.</p><p>As a PM, you&#8217;re hired and paid for the way you think. You create value for the company when you share your opinion and make good decisions. What kind of PM am I if I don&#8217;t say something useful? Of course, I was still onboarding onto the product, the customers, the industry, and the job itself. These meetings were purely observational learning opportunities. I had to give myself grace.</p><p>Following my 90-day mark, I was asked more and more often, &#8220;Kaci, what do you think?&#8221;<em> </em>whenever the wider PM team was discussing a problem, approach, or situation. I&#8217;d feel an instant pang of panic reverberate throughout my body.</p><p>Yes, I had a better understanding of the product after playing around with it. Yes, I formed a clearer picture of who the customers were after reading customer feedback and leading customer interviews. Yes, I strengthened my grasp on the industry and its competitors after perusing internal decks and articles online. Yes, I <em>could</em> pull from these repositories of knowledge to proffer a meaningful, informed opinion that my team <em>could</em> seriously consider. But everyone else in the room already had a deep, growing knowledge of all of the above. Could I <em>really</em> add anything new? What do I know that they don&#8217;t?</p><p>Maybe not much. Maybe my knowledge was incomparable. But as it turns out, the knowledge you lend to the team sometimes isn&#8217;t as important as your perspective.</p><p>One day, I told my manager that I felt like I could never contribute something worthwhile while I was so new to the team and the company. Everyone seemed to know everything already, and that didn&#8217;t leave much space for me.</p><p>She shook her head and posed, &#8220;You carry with you so many unique perspectives as a Gen Z, Vietnamese-American woman coming out of college that we (the team) couldn&#8217;t bring to the table. That is already so valuable. We want to hear from this perspective.&#8221;</p><p>It took a while for me to internalize what she was saying. But she&#8217;s right. It doesn&#8217;t always matter how much we know about something. We don&#8217;t have to be the subject-matter experts of our fields. Some of the most creative thought comes from the woven, disparate events we experience in our lives starting in childhood. Each of us has a uniquely constructed perspective that&#8217;s been shaped and sculpted throughout our life: every experience you go through and every person you encounter chip away at how you see the world until it forms the lens we look through today. Apply that to whatever repositories of knowledge you have, and that becomes your value worth creating a space for.</p><p>Dear diary, remember to honor and celebrate your unique portfolio of experiences, knowledge, and insights by sharing it. Everyone, including those you&#8217;re building for, is better off when you do.</p><h2><strong>About how easily PM can easily transform work into life</strong></h2><p>In product management, there&#8217;s so much to learn, so much to read, and so much you can do as someone who&#8217;s supposed to have a whole closet of hats to wear. As someone both new to PM, new to the company, and new to the 9&#8211;5 schedule, it&#8217;s been a challenge for me to draw the line between when work ends and when life starts. My backlog of work would multiply by the hour:</p><ul><li><p>Complete HR &amp; compliance training.</p></li><li><p>Read through project doc.</p></li><li><p>Read through dependent project doc to understand first project doc.</p></li><li><p>Research what microservices are.</p></li><li><p>Set up interview guide.</p></li><li><p>Respond to Slack message. Respond to another Slack message. Set Slackbot reminder to respond to Slack message 1 &amp; 2.</p></li><li><p>Set up calendar invites for 1:1 meetings.</p></li><li><p>Learn data schemas.</p></li></ul><p>I was itching to complete it all as soon as possible, so I could start adding value to the company and not anchor the team as a dead weight. And so I kept going past 5 pm, and past 6 pm, and sometimes past 7 pm so I could continue checking off pre-requisite boxes to prove my belonging and worth.</p><p>The more I did this, the more life felt less vibrant and exciting. Is that all to it in life? To work and meet your company&#8217;s KPIs year over year? To grow only in your career and nothing else?</p><p>There&#8217;s so much more to life than that. Life&#8217;s about growing more into yourself and your potential: exploring and doing more of what you love, exercising and eating healthy, building and strengthening relationships with those you love, and simply loving and feeling loved.</p><p>Your growth continues no matter where you choose to invest your time. Just be intentional with how you want to invest it, and make every second of that time count.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://medium.com/pm-diaries/zero-to-pm-my-first-5-months-as-a-product-manager-fresh-out-of-college-f82efc9b9ebc&quot;,&quot;text&quot;:&quot;See original post&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://medium.com/pm-diaries/zero-to-pm-my-first-5-months-as-a-product-manager-fresh-out-of-college-f82efc9b9ebc"><span>See original post</span></a></p><div><hr></div><p><em>The PM Diaries</em> is a new outlet of mine to document my career journey. But secretly, it&#8217;s a forcing mechanism to surrender my thoughts to pixels &amp; paper and produce something I could call my own, all at a sunk cost of $5/month. Here&#8217;s hoping that $5 stretches further for you than it does for me.&#9786;</p><p>~ Kaci</p>]]></content:encoded></item></channel></rss>