{"slug": "what-building-my-yarn-stash-taught-me-about-working-with-ai", "title": "What building My Yarn Stash taught me about working with AI", "summary": "Software engineer Sarah (last name not provided) built My Yarn Stash, a real application with users, auth, database, and billing, during winter break last December, and learned that AI amplified her clarity and punished her for ambiguity after an AI agent deleted her entire database. She now puts guardrails in her AI workflow, such as instructing Copilot to never delete databases and to use migrations instead, and separates chats by context to improve AI performance and thinking partnership.", "body_md": "AI told me it was going to delete my database, and I let it. Every little bit of my data, gone with a single command. So I’m going to share what building a real application with AI taught me as a software engineer.\n\nI built [My Yarn Stash](https://myyarnstash.app): a real app with real users, auth, a database, billing, and all the unglamorous stuff that shows up when you want software to last. Most of it happened during my winter break last December, with a little more in January.\n\nFair warning: AI tooling has evolved a lot since then, and my workflow is different now. Focus on the lessons, not the tool names. Those lessons are what make you a better software engineer.\n\nI wanted the final product, of course. I’m also one of the users. But I wanted to answer one question: **what actually changes when you use AI as a long-term collaborator**, across planning, design, building, and shipping?\n\nI asked the AI agent to make a schema change. It suggested removing the file and recreating it with a new schema. I said yes.\n\nAll of the test data I had built to stress-test edge cases, hours of manual entries, deleted in one command because AI treated my database like a throwaway file.\n\nTechnically, AI didn’t do anything wrong. It did exactly what made sense if you assume a database is disposable. The problem was me. I hadn’t put any guardrails in place.\n\n**If you don’t watch anything else, keep this: put guardrails in your AI workflow.** In one line: AI amplified my clarity and punished me for ambiguity.\n\nAfter I calmed down and recreated the database, I did what any developer should do in the first place. I put rules in my Copilot instructions: never delete a database, do migrations instead, and back up before anything destructive.\n\nEver since then, none of my AI assistants have tried deleting databases. The AI didn’t change its behavior. I changed mine. Vague instructions give you unpredictable results, and that has shaped how I work with AI ever since.\n\nI got more deliberate about context. Each request got its own chat. Billing in one thread, AI extraction in another, launch strategy in its own chat.\n\nIt wasn’t about being tidy. It was context management. When everything lives in one single chat, AI gets slow, confused, hallucinates, and starts compacting the context window. That’s a waste of your time and your tokens.\n\nSeparate chats had a side effect I wasn’t expecting: they made AI a better thinking partner. Every important decision went into a markdown file in my own words. Sometimes I asked AI to verify it matched what we’d agreed. That lived next to the code as documentation. It forced me to understand how my application worked, and it gave both of us a source of reference.\n\nSome of My Yarn Stash I had strong opinions about. Language and framework for the backend. Auth0 for auth, FastAPI, minimal JavaScript and CSS. Those weren’t up for debate, so I told AI up front. Handing those to AI would have added noise.\n\nFor the parts I didn’t have strong opinions on, like which payment gateway to use or where to deploy, I still didn’t ask “what should I use?” That’s too vague. I gave it my constraints. The conversation became trade-offs, the way it would with a colleague.\n\nAI didn’t say “you should use this.” It helped me think through the decision, understand the pros and cons, and come up with something I felt confident about.\n\nPlanning conversations usually happened with ChatGPT on my phone, over coffee, before I even opened my computer. By the time I sat down, I had already gone through the hard parts.\n\nThe boring, well-defined tasks went to GitHub Copilot as issues, so I could focus on what actually needed me. For the ones I handled myself, I switched models on purpose: a lighter one for quick interactions, a heavier one when precision mattered more than speed and money.\n\nLooking back at the database deletion, I think it happened because I got comfortable and stopped pushing back on suggestions. Picking a good model for a given task is still a skill. Understanding the decision and applying constraints matter more. That judgment comes from testing different approaches. There is no documentation if you’re building something new, and AI doesn’t remove your responsibility. It makes it matter more.\n\nI’m not a designer. CSS and JavaScript are not my strong suit. I’m a Python person. I built everything functional first, then tried to make it pretty once the foundation was solid.\n\nTo improve that bare-bones design, I used Stitch by Google, which turns descriptions into UI. For the first pass I dropped the app URL and said “give me a design.” It made something pretty. It was not what I wanted.\n\nSo I went back to my planning partner and asked it to write a document: tone, color, the vibe I wanted to convey. Then I went back to Stitch with screenshots, that branding document, and the same specific constraints. That worked way better.\n\nThat’s my definition of taste: the tools work better once you define what you want. Even if you don’t have the words for it, you can ask AI to help you find the words.\n\nIf you’re trying to find your footing with AI, build something real. Step away from the tutorials and the pre-made prompts. Build something with users, data you can’t lose, and decisions that pile up over time. You will hit the boundaries yourself, and those difficulties will teach you more than anything else.\n\nI wrote this up in more depth here: [AI-powered software development flow: lessons from shipping My Yarn Stash](/ai-powered-development-workflow/).\n\nIf this helped, tell me in the comments: what’s the scariest thing an AI tool did to your codebase?", "url": "https://wpnews.pro/news/what-building-my-yarn-stash-taught-me-about-working-with-ai", "canonical_source": "https://jtemporal.com/my-yarn-stash-ai-lessons-video/", "published_at": "2026-08-26 03:00:00+00:00", "updated_at": "2026-08-31 14:26:06.240494+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents"], "entities": ["My Yarn Stash", "GitHub Copilot", "ChatGPT", "Auth0", "FastAPI"], "alternates": {"html": "https://wpnews.pro/news/what-building-my-yarn-stash-taught-me-about-working-with-ai", "markdown": "https://wpnews.pro/news/what-building-my-yarn-stash-taught-me-about-working-with-ai.md", "text": "https://wpnews.pro/news/what-building-my-yarn-stash-taught-me-about-working-with-ai.txt", "jsonld": "https://wpnews.pro/news/what-building-my-yarn-stash-taught-me-about-working-with-ai.jsonld"}}