<?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[Building Slow]]></title><description><![CDATA[Can a Product Manager with no coding skills build a successful app?]]></description><link>https://buildingslow.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!zPPW!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30b16291-0f1c-44fa-8435-f21c77d36d38_1024x1024.png</url><title>Building Slow</title><link>https://buildingslow.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 12 May 2026 18:31:28 GMT</lastBuildDate><atom:link href="https://buildingslow.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Nick White]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[buildingslow@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[buildingslow@substack.com]]></itunes:email><itunes:name><![CDATA[Nick White]]></itunes:name></itunes:owner><itunes:author><![CDATA[Nick White]]></itunes:author><googleplay:owner><![CDATA[buildingslow@substack.com]]></googleplay:owner><googleplay:email><![CDATA[buildingslow@substack.com]]></googleplay:email><googleplay:author><![CDATA[Nick White]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Building Product the Linear Way]]></title><description><![CDATA[Learning from the best]]></description><link>https://buildingslow.substack.com/p/building-product-the-linear-way</link><guid isPermaLink="false">https://buildingslow.substack.com/p/building-product-the-linear-way</guid><dc:creator><![CDATA[Nick White]]></dc:creator><pubDate>Mon, 03 Feb 2025 19:09:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zPPW!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30b16291-0f1c-44fa-8435-f21c77d36d38_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Introduction</strong></h1><p>Linear has set the bar when it comes to modern software development, delivering a product that's beautiful, reliable, and effective at supporting winning outcomes. The project management industry is crowded with legacy players and few tools are beloved - Linear is changing that narrative. They're constantly winning new customers of all sizes and across all markets (OpenAI, Ramp, Cursor, and Substack are just a few examples), and their competitors' users long to switch. A recent survey of tech industry professionals by Lenny Rachitsky revealed that Linear is the tool most respondents would switch to if they could, making it an excellent case study in product development. The following is an in depth, evidence based guide to how Linear builds its product.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.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://buildingslow.substack.com/subscribe?"><span>Subscribe now</span></a></p><h1><strong>Core Principles</strong></h1><h2><strong>The Speed-Quality Connection</strong></h2><p>Linear challenges the common belief that speed and quality are inherently at odds. As their Head of Product Nan Yu explains: "People talk about this as if there were a trade-off because when they think about speed, they over-index on rushing or being sloppy. What they should be indexing on is being really competent."</p><h4>How to Apply This:</h4><p>- Get working prototypes in users' hands within the first 10% of development time</p><p>- Focus on building expertise that enables rapid, high-quality execution</p><p>- Create tight feedback loops that enable quick iteration without sacrificing quality</p><h2><strong>Deep Customer Understanding</strong></h2><p>From Nan Yu: "I want to feel as bad as our customers do." This foundational statement reveals Linear's uncommonly deep approach to customer empathy. Yu elaborates, "They come to us with a request, 'Hey, we want X,' and there's something motivating it... What is the actual emotional valence that is motivating whatever you're telling me? My job is to convince our customers that there's a better, more efficient way to get their work done." This quote highlights how Linear balances deep empathy with opinionated product direction &#8211; they don't just solve problems as presented, but dig deeper to find better solutions. Linear's sales team has noted that this distinctive approach to customer conversations, where he "keeps digging and digging" until he reaches genuine insights, is a key asset in building relationships with customers. This persistence in questioning is key to their product development process.</p><p>From CEO Karri Saarinen: "We do things well or we don't do them at all." This commitment to quality extends to customer understanding &#8211; superficial user research isn't enough. Linear invests the time to truly understand user needs before building solutions.</p><h3>Interview Technique:</h3><p>Yu approaches customer conversations with a unique methodology focused on emotional discovery:</p><p>1. Start with the surface request ("Hey, we want X")</p><p>2. Look beyond analytical frameworks like "five whys" or standard personas</p><p>3. Probe for emotional context ("How do you feel about this?")</p><p>4. Continue the conversation until you understand the actual moments of friction</p><p>5. Identify the specific situations where users felt bad or frustrated</p><p>6. See if you can get them to be real with you (&#8220;This week I made this mistake&#8230;&#8221;)</p><h4>A Real Example from Linear:</h4><p>When discussing project dates, a customer initially requested more date fields. Through deeper conversation, Yu uncovered the real story: "I had this thing happen where I marked the ship date of this project as December 30th because it's a Q4 project... and then my marketing team lost their mind because they're like 'We can't ship something on December 30th. Everyone's on vacation.'" This revealed the true emotional pain point &#8211; feeling bad about miscommunication and date precision.</p><p>The solution wasn't more date fields, but rather allowing flexible date specificity &#8211; users can now specify "December project," "Q4 project," or "second half of 2024" based on their comfort level with committing to specific dates.</p><h3>Key Principles for Customer Interviews:</h3><p>1. Look Past Initial Requests</p><p>- Surface-level asks often mask deeper needs</p><p>- The first request is rarely the real problem</p><p>- Keep asking questions until you find emotional triggers</p><p>2. Find the Bad Feelings</p><p>- Identify moments where users felt frustrated or disappointed</p><p>- Look for patterns in emotional responses</p><p>- Understand the context that creates negative experiences</p><p>3. Seek Specific Stories</p><p>- Ask for concrete examples of problems</p><p>- Get details about actual situations</p><p>- Understand the full context of challenges</p><p>4. Build Solutions for Emotions</p><p>- Design features that prevent bad feelings</p><p>- Focus on emotional outcomes, not just functional ones</p><p>- Validate solutions against emotional success criteria</p><h4>Practical Application:</h4><p>When Linear's customers asked for custom fields (a common feature request), deeper investigation revealed that 40% of cases were about tracking customer requests. Instead of adding complex customization that would burden users, they built an integrated customer request system that automatically captures and connects customer context &#8211; solving the emotional need (feeling confident about customer relationships) without creating new friction.</p><h2><strong>Focus and Prioritization</strong></h2><p>Linear's success stems from an unwavering commitment to focus. As CEO Karri Saarinen emphasizes: "Almost nothing else really matters, especially in the beginning. You need to build something that people want. That's what you should focus on."</p><h3>Opinionated Development</h3><p>Linear maintains strong opinions about what makes good software. As Yu notes: "Decisions are driven by taste and opinions rather than endless A/B tests."</p><h4>Key Practices:</h4><p>- Take clear stances on product decisions</p><p>- Focus on solving core problems exceptionally well</p><p>- Be willing to say no to features that would compromise the product's vision</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.substack.com/p/building-product-the-linear-way?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://buildingslow.substack.com/p/building-product-the-linear-way?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2><strong>Development Practices</strong></h2><h3>Early Product Development</h3><p>Linear's approach to early product development emphasizes careful user selection and gradual scaling. As Saarinen describes their early days: "We knew that the software doesn't work for all kinds of companies... we use that waitlist as a way to find the right kind of users."</p><h3>Initial Development Strategy:</h3><p>1. Start With Core Functionality</p><p>- Focus on basic, essential features</p><p>- Build an MVP that's immediately usable</p><p>- Prioritize professional-grade UI from day one</p><p>2. Controlled Growth</p><p>- Use a waitlist to manage early access</p><p>- Personally onboard initial users</p><p>- Iterate based on direct feedback</p><p>3. Price Testing</p><p>Linear used an innovative approach to early pricing: "Early on we let people choose the price that they want to pay for the product." This helped validate willingness to pay and identify appropriate price points.</p><h3>Staged Release Process</h3><p>Linear has developed a sophisticated yet practical approach to shipping new features. As Saarinen describes their process:</p><p>1. Internal Testing: "After you have some designs in place or some design ideas, just put it into the app and ship it to production. It's only visible to us so we internally can test it out."</p><p>2. Early Access: "The next stage is we look for a customer that could be interested in this feature or we just ask people to opt in to some beta program."</p><p>3. Refinement: During early access, "the experience can be a little janky or it's not that polished, but we're okay with it because we are saying 'It's not finished. We just want to get your feedback early so we can make it better.'"</p><p>4. General Release: "Once we get to the full general release, then we pay more attention to the actual polish or the craft."</p><p>This staged approach allows Linear to:</p><p>- Validate concepts quickly</p><p>- Get real user feedback early</p><p>- Maintain quality standards</p><p>- Build confidence in features before wide release</p><p>For major features, they often work directly with specific customers. As Saarinen notes: "We usually try to find a large company because sometimes it's hard to imagine these things, how they should work. It's better if someone is willing to work with us."</p><h3>Implementation Steps:</h3><p>1. Break features into testable components</p><p>2. Build minimal working versions rapidly</p><p>3. Test with internal users first</p><p>4. Expand to beta users gradually</p><p>5. Refine based on real usage</p><h2><strong>Feature Decision Framework</strong></h2><p>Linear takes a strong stance on prioritizing individual contributors (ICs) over management-focused features.</p><h3>Why They Focus on ICs:</h3><p>When evaluating feature requests, particularly around customization and reporting, Linear identifies fundamental misalignments of incentives:</p><p>- Middle managers often request customization features to make reporting easier</p><p>- These features typically come at the cost of making IC workflows worse</p><p>- ICs, who are measured on code contributions, not ticket updates, will disengage from processes that create friction</p><p>- When ICs disengage, the data becomes unreliable, making even the reporting features ineffective</p><p>As Yu explains: "This is the exact kind of thing that leads to this bloatedness that makes ICs hate their lives... If it fits that description, we're just saying 'No.' There's no debate."</p><h3>The Core Belief:</h3><p>Linear's stance isn't just about saying no to middle managers. It's about understanding that:</p><p>1. ICs don't have to use any specific tool - they get measured on code output, not process adherence</p><p>2. When forced to use cumbersome tools, ICs will do the minimum possible</p><p>3. This leads to poor data quality, making even manager-focused features ineffective</p><p>4. The only way to succeed is to make the tool something ICs actively want to use</p><p>Example in Practice:</p><p>When customers asked for custom fields for tracking customer requests, Linear identified that this would add complexity for ICs. Instead of adding customization, they built an integrated customer request system that automatically captures and connects customer context&#8212;solving the business need without creating friction.</p><h3>Lessons for Product Managers:</h3><p>1. Identify True Incentives</p><p>- Look beyond the immediate feature request</p><p>- Understand how different user groups are measured and motivated</p><p>- Find where incentives conflict between user groups</p><p>2. Choose Your Core User</p><p>- Be willing to optimize for one user group over others</p><p>- Understand the downstream effects of your choices</p><p>- Build conviction around these hard trade-offs</p><p>3. Find Win-Win Solutions</p><p>- Look for ways to solve management needs without compromising IC experience</p><p>- Focus on automated solutions over manual processes</p><p>- Build features that naturally generate the data managers need</p><p>4. Maintain Clear Principles</p><p>- Develop clear criteria for feature decisions</p><p>- Be willing to say no to revenue if it compromises core principles</p><p>- Build organizational alignment around these choices</p><h2><strong>Communication and Documentation</strong></h2><h3>PRD Structure</h3><p>Linear uses a three-section format:</p><p>1. Context</p><p>- Core motivation</p><p>- Marketing rationale</p><p>- Success metrics</p><p>2. Usage Scenarios</p><p>- Real user stories</p><p>- Specific use cases</p><p>- Expected outcomes</p><p>3. Milestones</p><p>- Development phases</p><p>- Testing points</p><p>- Release criteria</p><h3>Product-Sales Integration</h3><p>Linear views product management as both building and selling. Yu emphasizes: "Product management is as much a selling function as it is a building function."</p><p>Actions for PMs:</p><p>- Join sales calls regularly</p><p>- Help craft product messaging</p><p>- Contribute to marketing content</p><p>- Bridge the gap between technical capabilities and market needs</p><h3>Product Communication Principles</h3><p>Linear takes a disciplined approach to product messaging, focusing on capabilities and benefits rather than comparative claims. As Yu explains: "Comparative descriptors like 'faster, better, more, easier, simpler' are, for the most part, banned from our product messaging."</p><h4>Core Framework:</h4><p>1. Capabilities: Binary statements about what the product can do</p><p>2. Benefits: Concrete results users experience</p><p>3. Emotional Resonance: The lasting impact on users' lives</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uqRj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uqRj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 424w, https://substackcdn.com/image/fetch/$s_!uqRj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 848w, https://substackcdn.com/image/fetch/$s_!uqRj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 1272w, https://substackcdn.com/image/fetch/$s_!uqRj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uqRj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png" width="1258" height="290" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:1258,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53878,&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_!uqRj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 424w, https://substackcdn.com/image/fetch/$s_!uqRj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 848w, https://substackcdn.com/image/fetch/$s_!uqRj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 1272w, https://substackcdn.com/image/fetch/$s_!uqRj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a4ff6b5-ec65-42e5-86f7-9eb4cd5698a3_1258x290.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">A simple example</figcaption></figure></div><p>Yu emphasizes: "The best product features are those that have emotional resonance with users. The feature here is not 'longer battery life' or even 'all day battery' &#8211; it's 'leave your charger at home.'"</p><h4>Implementation Guidelines:</h4><p>1. Avoid Comparative Language</p><p>- Remove terms like "faster," "better," "more," "easier"</p><p>- Focus on concrete capabilities instead of relative improvements</p><p>- Describe what users can do, not how it compares</p><p>2. Highlight Clear Capabilities</p><p>- Use binary, definitive statements</p><p>- Create clear before-and-after scenarios</p><p>- Focus on what's newly possible</p><p>3. Emphasize User Benefits</p><p>- Connect features to emotional outcomes</p><p>- Describe the impact on daily life</p><p>- Focus on memorable, shareable benefits</p><p>This approach helps create product messaging that resonates more deeply with users and is more likely to be shared. As Yu notes, "Capabilities draw a stark before-and-after story, and benefits emotionally connect with the customer. If all goes well, these are the things that customers will remember and tell each other."</p><h2><strong>Quality Control</strong></h2><h3>Zero-Bug Philosophy</h3><p>Linear implements a strict zero-bug policy through several key practices:</p><p>Goalie Rotation System</p><p>- Two engineers rotate weekly as "goalies"</p><p>- Primary responsibility: address all incoming customer reports</p><p>- Goalies actively monitor support channels for direct customer interaction</p><p>- Issues are either fixed directly or assigned to appropriate team members</p><p>- Focus on rapid response: sometimes fixing and deploying within hours</p><p>Response Time Goals</p><p>- Official SLA: One week for bug resolution</p><p>- Unofficial internal target: 24-hour resolution</p><p>- Engineers start each day by addressing outstanding issues before product work</p><p>- Weekly reviews of SLA performance</p><p>- Target: Maximum two ongoing issues per engineer</p><p>Quality Metrics</p><p>- Track resolution time for customer-reported issues</p><p>- Monitor bug frequency per feature area</p><p>- Review bug patterns in weekly team meetings</p><p>- Use data to identify areas needing systematic improvement</p><h4>Implementation Strategy:</h4><p>1. Initial Clean-up</p><p>- Acknowledge that transitioning to zero-bug requires initial investment</p><p>- Potentially pause feature work to clear existing backlog</p><p>- Create sustainable processes for ongoing maintenance</p><p>2. Prioritization Framework</p><p>- Customer-impacting bugs take precedence over new features</p><p>- As Yu explains: "When you're building a new product, you're building something that the customer hasn't seen yet. Prioritizing that over something that the customer uses and doesn't work doesn't make sense."</p><p>3. Judgment Calls</p><p>- Empower engineers to use judgment on bug severity</p><p>- Some reported issues may be marked "Won't Do":</p><p>- Cannot be reproduced</p><p>- Affect very few users</p><p>- Cost/benefit doesn't justify fix</p><h3>Deadline Management</h3><p>Linear takes a unique approach to deadlines, treating them as extreme priorities when used. As Head of Product Nan Yu explains: "The only way to make deadlines real is to take them so seriously that they are basically like a P0 problem, and everything else has to not matter in comparison."</p><h4>Key Principles:</h4><p>1. Selective Use</p><p>- Use deadlines sparingly</p><p>- Reserve primarily for major marketing launches</p><p>- Recognize each missed marketing window is permanently lost</p><p>2. Total Commitment</p><p>- When a deadline is set, it becomes the absolute priority</p><p>- Engineers focus exclusively on deadline work</p><p>- No context-switching or parallel projects</p><p>- Product managers ruthlessly cut scope to ensure delivery</p><p>3. Early Preparation</p><p>- Start shipping working versions in first 10% of timeline</p><p>- Focus on having a shippable (though possibly limited) product</p><p>- Create space for iterations and polish</p><p>- Enable real yes/no shipping decisions</p><h4>Implementation Approach:</h4><p>1. Scope Management</p><p>- Continuously evaluate what's essential vs. nice-to-have</p><p>- Be willing to cut features to maintain quality</p><p>- Focus on having something shippable, even if minimal</p><p>2. Team Alignment</p><p>- Ensure everyone understands deadline significance</p><p>- Create clear priorities</p><p>- Eliminate distractions and competing priorities</p><p>3. Quality Standards</p><p>- Maintain core quality requirements even under deadline</p><p>- Focus on shipping something smaller but excellent</p><p>- Never compromise on fundamental user experience</p><h4>Release Date Communication</h4><p>The Linear product team maintains two separate release dates to ensure communication clarity. The engineering team has their own dev complete target date. This date reflects when the team expects the feature to be ready to go in to production. Then, a rollout date is set for 1 to 2 weeks after the dev complete date. This date is shared with the GTM team, and is the date the feature would actually be turned on in production for whichever group of users are being targeted in the release.</p><h2><strong>Organizational Philosophy</strong></h2><h3>Individual Contributor Focus</h3><p>Linear's organizational structure reflects their product philosophy. As Saarinen explains: "We have this very individual contributor focus, which means that instead of having lots of managers and a lot of layers of managers, we have maybe one person with the manager title in the company."</p><h3>Key Principles:</h3><p>1. Empower Builders</p><p>- Give control to those doing the work</p><p>- Trust engineers and designers to shape the product</p><p>- Minimize management layers</p><p>2. Learn Through Building</p><p>Saarinen emphasizes: "When you're actually building something, you see a lot of opportunities, how it could be better... When you give that kind of control or autonomy to the team who actually building it, the results can be much better."</p><p>3. Focus on Execution</p><p>- Prioritize doing over managing</p><p>- Expect everyone to fix problems</p><p>- Maintain flat structure</p><h3>Practical Implementation</h3><h4>For New Features</h4><p>1. Start with extreme versions</p><p>- Build the fastest possible solution</p><p>- Build the safest possible solution</p><p>- Find the right balance through testing</p><p>2. Release Strategy</p><p>- Internal testing first</p><p>- Expand to beta users</p><p>- Gradual rollout to all users</p><h4>For Product Decisions</h4><p>1. Identify misaligned incentives</p><p>- Look for conflicts between different user groups</p><p>- Find win-win solutions where possible</p><p>- Make clear choices when trade-offs are necessary</p><p>2. Validate Through Usage</p><p>- Monitor early adoption</p><p>- Track engagement patterns</p><p>- Gather qualitative feedback</p><h1><strong>Key Takeaways for Product Managers</strong></h1><h2><strong>1. Speed Through Expertise</strong></h2><p>- Invest in building deep domain knowledge</p><p>- Create processes that enable rapid iteration</p><p>- Focus on learning quickly rather than building perfectly</p><h2><strong>2. Customer Empathy</strong></h2><p>- Dig for emotional context in user feedback</p><p>- Look beyond feature requests to understand root causes</p><p>- Build solutions that transform workflows</p><p>- Don&#8217;t just talk to customers in discovery interviews, join sales calls as well</p><h2><strong>3. Clear Decision Making</strong></h2><p>- Maintain strong opinions about what makes good software</p><p>- Be willing to say no to features that compromise vision</p><p>- Focus on solving core problems exceptionally well</p><h2><strong>4. Quality Focus</strong></h2><p>- Implement clear quality standards</p><p>- Create processes for maintaining quality at speed</p><p>- Never compromise on core user experience</p><p>Remember: Linear's success comes from the careful integration of these principles. The goal isn't to copy their approach exactly, but to understand and adapt these practices to your specific context and needs.</p><h2><strong>Sources</strong></h2><ol><li><p><a href="https://www.youtube.com/watch?v=6KpWP8WC71w&amp;list=TLGGU2ccUFRTSuowMzAyMjAyNQ">#21 Product Design - Karri Saarinen (Linear) | Builders' Studio: a Founder School by Slush</a></p></li><li><p><a href="https://www.youtube.com/watch?v=VKGJ5HHAQcc&amp;list=TLGGpdz5oG_qclEwMzAyMjAyNQ">#9: Nan Yu (Head of Product at Linear)</a></p></li><li><p><a href="https://www.youtube.com/watch?v=I4vvBidQcck&amp;list=TLGGwish9sf9h18wMzAyMjAyNQ">Config 2024: The heirloom tomato org chart (Nan Yu, Head of Product, Linear) | Figma</a></p></li><li><p><a href="https://www.youtube.com/watch?v=3RYUA-ccgbw&amp;list=TLGGAaqXqUTm_rcwMzAyMjAyNQ">Future of Product Management From the Era of AI | Linear Karri Saarinen</a></p></li><li><p><a href="https://x.com/thenanyu/status/1884963324464361677">@thenanyu "I generally write about product..." x.com</a></p></li><li><p><a href="https://linear.app/blog/a-design-reset">A Design Reset (Part I)</a></p></li><li><p><a href="https://linear.app/blog/how-we-redesigned-the-linear-ui">How We Redesigned the Linear UI (Part II)</a></p></li><li><p><a href="https://www.lennysnewsletter.com/p/how-linear-builds-product?utm_source=publication-search">Lenny&#8217;s Newsletter: How Linear Builds Product</a></p></li><li><p><a href="https://www.youtube.com/watch?v=R1bwdtQL5uU&amp;list=TLGGZENOcL5bsUowMzAyMjAyNQ">Karri Saarinen (Linear) &#8211; Conversations on Quality (Episode 02)</a></p></li><li><p><a href="https://www.youtube.com/watch?v=AI_UMnTM4o8">Linear: move fast with little process (with first Engineering Manager Sabin Roman)</a></p></li><li><p><a href="https://www.youtube.com/watch?v=4muxFVZ4XfM">Inside Linear: Building with taste, craft, and focus | Karri Saarinen (co-founder, designer, CEO)</a></p></li><li><p><a href="https://www.youtube.com/watch?v=nTr21kgCFF4&amp;t=1s">Linear&#8217;s secret to building beloved B2B products | Nan Yu (Head of Product)</a></p></li></ol>]]></content:encoded></item><item><title><![CDATA[1.0.3: Focus on the Main Thing]]></title><description><![CDATA[Validating the idea before a pivot]]></description><link>https://buildingslow.substack.com/p/103-focus-on-the-main-thing</link><guid isPermaLink="false">https://buildingslow.substack.com/p/103-focus-on-the-main-thing</guid><dc:creator><![CDATA[Nick White]]></dc:creator><pubDate>Sat, 21 Dec 2024 02:20:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!PIpL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I released version 1.0.3 about a week ago with one clear mission: validating whether the three-task limit works for users the way I believe it should.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.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">Building Slow is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><p>The feedback so far has focused on two main points:</p><ul><li><p>"Why can't I type more tasks into the box?"</p></li><li><p>"I really need to add more than three tasks!"</p></li></ul><p>The core philosophy behind Did You Do It differs from traditional todo apps. I believe a truly productive day isn't about writing down 20 tasks and completing 8 of them. It's about identifying your few most important priorities and actually completing them all.</p><p>I could be wrong about this. Users might disagree, and I'm open to pivoting if needed. But before abandoning the three-task limit, I want to give this core hypothesis a proper test.</p><p>Looking deeper into the feedback, I've noticed two patterns:</p><ol><li><p>Users don't realize there's a three-task limit, leading to confusion when they can't enter more text</p></li><li><p>There's a misunderstanding about the app's purpose - it's not meant to be an exhaustive list of daily tasks</p></li></ol><p>Version 1.0.3 tackles these issues by revamping the text entry experience. I've updated both the placeholder text and instruction field to be clearer. The text entry field is now dynamic - when users hit the three-task limit, it clearly explains why they can't add more.</p><p>While I believe in the three-task limit as a key to productivity, what matters most is what users will embrace and use. The coming weeks will show how this plays out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PIpL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PIpL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 424w, https://substackcdn.com/image/fetch/$s_!PIpL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 848w, https://substackcdn.com/image/fetch/$s_!PIpL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 1272w, https://substackcdn.com/image/fetch/$s_!PIpL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PIpL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif" width="184" height="397.8378378378378" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:444,&quot;resizeWidth&quot;:184,&quot;bytes&quot;:3165554,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&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_!PIpL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 424w, https://substackcdn.com/image/fetch/$s_!PIpL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 848w, https://substackcdn.com/image/fetch/$s_!PIpL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 1272w, https://substackcdn.com/image/fetch/$s_!PIpL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b1d7b36-e772-4280-9263-ed27de351318_444x960.gif 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 role="img" 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><title></title><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>]]></content:encoded></item><item><title><![CDATA[Failure]]></title><description><![CDATA[My first real roadblock]]></description><link>https://buildingslow.substack.com/p/failure</link><guid isPermaLink="false">https://buildingslow.substack.com/p/failure</guid><dc:creator><![CDATA[Nick White]]></dc:creator><pubDate>Wed, 11 Dec 2024 03:00:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1305ca03-3017-478f-ae54-b56e39d9ced6_224x244.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So far, building this app has been relatively smooth sailing. I've been collaborating with AI assistants (Claude and ChatGPT) to brainstorm ideas, preview solutions, and generate code. However, tonight I hit my first real roadblock where AI assistance fell short.</p><p>Recent user feedback suggested adding voice-to-text for task entry - a reasonable request that would improve accessibility. This seemed like a straightforward feature to implement since iOS has built-in voice-to-text capabilities, and the user experience design would be fairly standard.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.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">Building Slow is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><h4>Diving In</h4><p>I started by following the AI's implementation instructions:</p><ul><li><p>Add specific declarations to the info.plist file</p></li><li><p>Create a new SpeechRecognizer.swift file with the necessary code</p></li><li><p>Integrate the SpeechRecognizer throughout the existing codebase</p></li></ul><p>The initial implementation went smoothly - no errors appeared when saving the code, and the build process completed successfully. However, when testing on my device, the app crashed with this message:</p><pre><code>This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSSpeechRecognitionUsageDescription key with a string value explaining to the user how the app uses this data.</code></pre><p>Despite the error message pointing to the Info.plist file, my configuration appears correct. I even double-checked by having both ChatGPT and Claude provide complete XML configurations, but implementing their solutions didn't resolve the issue.</p><p>In my day job managing other apps, when I encounter crashes like this, they're often resolved by deleting and reinstalling the app to clear any conflicts between test and production versions. I tried that here, but no luck - same crash, same error.</p><h4>A Cry for Help</h4><p>So here I am, stuck on implementing voice-to-text. If anyone reading this spots what I'm doing wrong, please reach out! I have some other features I'm successfully implementing for my next release, so progress definitely hasn't ground to a halt. But, for now, I'll need to allocate some debugging time during each release cycle until I can crack this one.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.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">Building Slow is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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[Version 1.0.2]]></title><description><![CDATA[Making my first user focused updates]]></description><link>https://buildingslow.substack.com/p/version-102</link><guid isPermaLink="false">https://buildingslow.substack.com/p/version-102</guid><dc:creator><![CDATA[Nick White]]></dc:creator><pubDate>Sat, 07 Dec 2024 03:00:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CNJk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today marked the first update I&#8217;ve made to the app. Everything I did either came from user feedback or is intended to simply make the user experience better.</p><div><hr></div><h4>Update 1: Drag and drop task cards</h4><p>This is the most requested feature, and it makes sense! People add cards in a given order, but then want to reorder them in some way. At the minute, I&#8217;m not designing a feature to accommodate <em>why</em> they want to reorder, I just want to allow them to do it.</p><p>The question of why they want to reorder is an interesting one though. Right now, I can think of three reasons:</p><ul><li><p>To arrange tasks in order of execution</p></li><li><p>To arrange tasks by priority</p></li><li><p>To arrange tasks by effort required</p></li></ul><p>I&#8217;d be interested to know if there are others. And maybe one day, if there is an overwhelming reason why people want to reorder, I&#8217;ll iterate on the feature with that in mind.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CNJk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CNJk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 424w, https://substackcdn.com/image/fetch/$s_!CNJk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 848w, https://substackcdn.com/image/fetch/$s_!CNJk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 1272w, https://substackcdn.com/image/fetch/$s_!CNJk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CNJk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif" width="192" height="416" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1300,&quot;width&quot;:600,&quot;resizeWidth&quot;:192,&quot;bytes&quot;:1596746,&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;: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_!CNJk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 424w, https://substackcdn.com/image/fetch/$s_!CNJk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 848w, https://substackcdn.com/image/fetch/$s_!CNJk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 1272w, https://substackcdn.com/image/fetch/$s_!CNJk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026c173-bec7-4634-b786-43b856b7c4bc_600x1300.gif 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 role="img" 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><title></title><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><div><hr></div><h4>Update 2: Clarity in onboarding</h4><p>One thing I&#8217;ve heard from users so far is that they would like to be able to add more tasks. As I&#8217;ve asked more, it seems they want to be able to map out their <em>whole</em> day, instead of just the most important things they want to achieve that day.</p><p>While I understand this sentiment, and may one day build towards that, right now the intention of the app is to encourage users to accomplish the most important things in their day. Recently, I heard the CRO at my company say that every morning he asks his team to name the one thing that they must do to make their day a success. I really like this sentiment. <s>Stephen Covey</s> Jalen Hurts <a href="https://www.facebook.com/JClarkNBCS/posts/keep-the-main-thing-the-main-thing-jalen-hurts-had-a-message-for-his-eagles-afte/1075979670561720/">said it best</a>: &#8220;You gotta keep the main thing the main thing.&#8221;</p><p>This is the philosophy behind Did You Do It. Yes, we start our days with a million things to do, and accumulate even more as the day progresses. But when we begin each day, there are typically just one to three things that, if accomplished, would make that day successful. </p><p>So for now, dear user, you&#8217;re stuck with three tasks. But to help future users to understand this concept, I tweaked the design of the second onboarding screen slightly to try to drive home the app&#8217;s ethos towards productivity a bit more clearly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dQox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dQox!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 424w, https://substackcdn.com/image/fetch/$s_!dQox!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 848w, https://substackcdn.com/image/fetch/$s_!dQox!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 1272w, https://substackcdn.com/image/fetch/$s_!dQox!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dQox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png" width="192" height="417.1636363636364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2868,&quot;width&quot;:1320,&quot;resizeWidth&quot;:192,&quot;bytes&quot;:141482,&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_!dQox!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 424w, https://substackcdn.com/image/fetch/$s_!dQox!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 848w, https://substackcdn.com/image/fetch/$s_!dQox!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.png 1272w, https://substackcdn.com/image/fetch/$s_!dQox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3ab7081-ba9b-458e-8b4d-03e4c2beaa0f_1320x2868.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 role="img" 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><title></title><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">Onboarding before</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lAEw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lAEw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 424w, https://substackcdn.com/image/fetch/$s_!lAEw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 848w, https://substackcdn.com/image/fetch/$s_!lAEw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 1272w, https://substackcdn.com/image/fetch/$s_!lAEw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lAEw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png" width="192" height="417.1636363636364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2868,&quot;width&quot;:1320,&quot;resizeWidth&quot;:192,&quot;bytes&quot;:148374,&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_!lAEw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 424w, https://substackcdn.com/image/fetch/$s_!lAEw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 848w, https://substackcdn.com/image/fetch/$s_!lAEw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.png 1272w, https://substackcdn.com/image/fetch/$s_!lAEw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0026edcb-bff4-471c-aa92-f45ce65229a4_1320x2868.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 role="img" 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><title></title><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">Onboarding after</figcaption></figure></div><div><hr></div><h4>Update 3: Display today&#8217;s date and other main screen UI improvements</h4><p>Pretty simple here. I added the date to the main screen. It serves as a simple reminder to the user that it&#8217;s all about today. It also adds a nice amount of extra content to the screen to fill it out a little. </p><p>I also made some accessibility improvements. Placeholder text is a little darker to increase the contrast ratio and the borders around some of the elements are a little bit sharper.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!riGH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!riGH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 424w, https://substackcdn.com/image/fetch/$s_!riGH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 848w, https://substackcdn.com/image/fetch/$s_!riGH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 1272w, https://substackcdn.com/image/fetch/$s_!riGH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!riGH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png" width="192" height="417.1636363636364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2868,&quot;width&quot;:1320,&quot;resizeWidth&quot;:192,&quot;bytes&quot;:149642,&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_!riGH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 424w, https://substackcdn.com/image/fetch/$s_!riGH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 848w, https://substackcdn.com/image/fetch/$s_!riGH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.png 1272w, https://substackcdn.com/image/fetch/$s_!riGH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fb06100-4b9c-4791-8fca-4b71279f584d_1320x2868.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 role="img" 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><title></title><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>So there you have it. Did You Do It wasn&#8217;t just a one time thing. I actually released, got users, and iterated. If you want to help develop Did You Do It even further, be sure to head over and <a href="https://apps.apple.com/us/app/did-you-do-it/id6738845256">download it in the app store</a>!</p>]]></content:encoded></item><item><title><![CDATA[So What Did I Build?]]></title><description><![CDATA[In my last post, I shared my plan to build an iOS app using AI as my development partner.]]></description><link>https://buildingslow.substack.com/p/so-what-did-i-build</link><guid isPermaLink="false">https://buildingslow.substack.com/p/so-what-did-i-build</guid><dc:creator><![CDATA[Nick White]]></dc:creator><pubDate>Mon, 02 Dec 2024 22:43:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ae8a5ca1-e38f-43f9-8d46-4c4ace497323_128x128.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my last post, I shared my plan to build an iOS app using AI as my development partner. In this post, I&#8217;ll talk about what I actually built.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.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 Building Slow! 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><p>It's called "Did You Do It" - a radically simple task manager that embraces the idea that getting stuff done doesn't need to be complicated. You can download it from the App Store here: <strong><a href="https://apps.apple.com/us/app/did-you-do-it/id6738845256">Did You Do It</a></strong></p><p>Do I really think the world needs yet another productivity app? Absolutely not. But it strikes me that this is a pretty simple concept to get started with. And, if I&#8217;m being totally honest, part of the reason I personally have never really liked any of the productivity apps out there is that I think they all overcomplicate it. The memes really are right: Apple Notes is generally all you need.</p><p>So I asked myself: What's the absolute minimum you need to get stuff done?</p><p>The answer is surprisingly simple:</p><ol><li><p>Decide what you're going to do</p></li><li><p>Do it</p></li><li><p>Acknowledge whether you did it or not</p></li><li><p>Move on</p></li></ol><p>That's it. That's the app.</p><p>"Did You Do It" strips away all the complexity of traditional task managers. You can only have three tasks at a time (because if everything is important, nothing is), and there are no complicated features to get in your way. Just honest accountability and a focus on what really matters.</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/7496923c-7328-4d23-9649-10bd76e5960e_1320x2868.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfd7a560-78ed-4fed-874c-1e142792ee50_1320x2868.png&quot;}],&quot;caption&quot;:&quot;Did You Do It&quot;,&quot;alt&quot;:&quot;Some screenshots showing the interface of Did You Do It&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48c654d8-41ac-44e1-8571-1654806e0b49_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p></p><p>I can&#8217;t say I&#8217;m rushing to show off technical implementation, and I&#8217;d be horrified if the engineers I work with saw the codebase, but it works. It&#8217;s a monolithic product with code written entirely by AI. My influence came on the UX side. I defined how the app should look, feel, and behave, and I defined what the copy should say. I&#8217;ll write about this in a different post, but I came away impressed by how effective the AI coding really was.</p><p>In the end, this took about 9 hours to build over Thanksgiving weekend. To my surprise, the submission to Apple was the easiest part and they approved it on the first try!</p><p>I really want to start iterating, but I need to hear from users first. So here is the <strong><a href="https://apps.apple.com/us/app/did-you-do-it/id6738845256">download link</a></strong> one more time. Get in there and hit the feedback button to help shape the future of &#8220;Did You Do It&#8217;&#8217;! Oh, and make sure to leave a 5 star review in the App Store, even if you hate it</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.substack.com/p/so-what-did-i-build?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Building Slow! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.substack.com/p/so-what-did-i-build?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://buildingslow.substack.com/p/so-what-did-i-build?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[Why "Build Slow"?]]></title><description><![CDATA[An introduction to my attempt to build, maintain, and grow a fully functioning iOS app with no coding knowledge]]></description><link>https://buildingslow.substack.com/p/why-build-slow</link><guid isPermaLink="false">https://buildingslow.substack.com/p/why-build-slow</guid><dc:creator><![CDATA[Nick White]]></dc:creator><pubDate>Mon, 02 Dec 2024 21:44:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/aa0fcf02-4649-45dc-9d30-f18c3fdfdb85_1534x302.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to "Build Slow"! This space exists to document my journey as a Product Manager with no coding skills as I attempt to use AI to help me build, launch, and grow a software product. Specifically, I'm going to build an iOS app.</p><p>And let me reiterate: I have no idea how to code. In fact, I'm so bad at it that I need to Google the correct way to write <code>print("Hello, World!")</code> every single time. So hopefully this journey will be fun, insightful, inspiring, and not <em>too</em> personally embarrassing for me.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.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 Building Slow! 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><h3>Why build an app?</h3><p>I'm a Product Manager at a tech company where I work with two different teams. One team builds a web application, while the other builds the iOS and Android mobile versions of that same application. I entered tech product management from outside the industry, and have very limited technical knowledge.</p><p>While I've been in tech for a decent amount of time now, I feel like I need to do more to empathize with my teams. So I thought I would do what they do (well, sort of... they actually write their own code). I want to understand the cathartic experience of seeing something you built work for the first time, to feel the frustration of debugging an error, and to experience the satisfaction that comes from closing your laptop after a productive building session.</p><p>I chose an iOS app because it seems like the most straightforward path to distribution. I don't need to pay for a web domain, I can release through the App Store (though "easily" might be stretching it), and I don't need to account for users on multiple interfaces.</p><p>But my intent goes beyond simple empathy. The advent of AI tools has unleashed capabilities I never had before. I use AI constantly in my role to be more efficient and insightful. I see tech influencers everywhere talking about how easy it is to build products with AI. So, I'm going to put that to the test and see if I can evolve from being a PM empowered by AI to becoming a fully technical builder.</p><p>Finally, building an iOS app just seems fun. You get to release something, hear what people think of it, and solve new problems. Best of all, you decide the goals and metrics, you choose when the work gets done, and you get to deal with all the tech debt!</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.substack.com/p/why-build-slow?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Building Slow! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://buildingslow.substack.com/p/why-build-slow?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://buildingslow.substack.com/p/why-build-slow?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h3>So here we go!</h3><p>Who knows where this app will end up. I might not even make it to the App Store. But you better believe we're going to try. Make sure you subscribe to keep up to date with my progress and find out what it is I am actually building.</p>]]></content:encoded></item></channel></rss>