{"id":499,"date":"2026-06-18T14:42:44","date_gmt":"2026-06-18T21:42:44","guid":{"rendered":"https:\/\/blogs.ubc.ca\/aichallenges\/?p=499"},"modified":"2026-06-19T11:42:42","modified_gmt":"2026-06-19T18:42:42","slug":"499","status":"publish","type":"post","link":"https:\/\/blogs.ubc.ca\/aichallenges\/2026\/06\/18\/499\/","title":{"rendered":"Vibe Code Something That Makes Your Life Easier"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">This challenge turns <em>vibe coding<\/em> toward the practical: building a small tool that handles a repetitive task in your teaching life. Along the way, you&#8217;ll confront one of the central tensions of AI-assisted creation the gap between <em>it works<\/em> and <em>I understand it<\/em>.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Vibe coding shines at practical problem-solving. With a few prompts, you can build a tool that automates something tedious no setup, no syntax, no Stack Overflow. For educators drowning in small repetitive tasks, this is genuinely appealing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s a catch worth feeling firsthand. When AI writes the code, you can end up with a working tool whose inner logic you can&#8217;t fully read. This is the heart of a real debate about vibe coding: the gap between a thing that runs and a thing you actually understand. Before we ask students to navigate that gap responsibly, it&#8217;s worth experiencing it ourselves.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Challenge<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Build a small tool that streamlines something you do often, <em>without writing the code yourself<\/em>. Then interrogate it: not just &#8220;does it work?&#8221; but &#8220;do I understand it well enough to trust it?&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pick your scenario<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pick a real, recurring annoyance\u2014the smaller and more specific, the better.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <strong>calculator or converter<\/strong> (a weighted-grade calculator, a reading-time estimator)<\/li>\n\n\n\n<li>A <strong>generator<\/strong> (flashcards from a list, discussion questions from a topic, randomized groupings)<\/li>\n\n\n\n<li>A <strong>simple dashboard<\/strong> that displays or sorts information you track regularly<\/li>\n\n\n\n<li>An <strong>organizer<\/strong> (a checklist, a cold-call name-picker, a class timer with stages)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Instructions<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Name a real annoyance:<\/strong> Choose a task you genuinely repeat, so the stakes feel real.<\/li>\n\n\n\n<li><strong>Choose your pathway:<\/strong> Stay no-code\/low-code with a tool that previews apps from chat (like <a href=\"https:\/\/claude.ai\/\">Claude<\/a>), or if you have some experienceask the AI for the actual code and run it yourself. Tools ChatGPT, Claude, Co-pilot<\/li>\n\n\n\n<li><strong>Prompt for a working draft:<\/strong> <em>Build me a simple [tool] that does [X]. I&#8217;m not a programmer make it run in the browser with no setup, and explain in plain language what it does.<\/em><\/li>\n\n\n\n<li><strong>Iterate by describing the problem, not the fix:<\/strong> Tell the AI what&#8217;s going wrong (&#8220;it breaks when the list is empty&#8221;) rather than how to solve it, and see whether it can diagnose its own work.<\/li>\n\n\n\n<li><strong>Try to read the logic:<\/strong> Ask the AI to walk you through how the tool works, step by step. Notice how much you can follow and where you simply have to take its word.<\/li>\n\n\n\n<li><strong>Stress-test it:<\/strong> Feed it strange or empty input, edge cases, or something you&#8217;d never expect a student to type. Watch what breaks.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Reflect on trust and understanding<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Does the tool actually work? How do you <em>know<\/em> did you verify it, or just trust that it ran?<\/li>\n\n\n\n<li>Could you explain to a colleague how it works? Where would you get stuck?<\/li>\n\n\n\n<li>Where would you <em>not<\/em> be comfortable relying on AI-generated code and why?<\/li>\n\n\n\n<li>What would a student need to learn to use tools like this responsibly rather than blindly?<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This challenge turns vibe coding toward the practical: building a small tool that handles a repetitive task in your teaching life. Along the way, you&#8217;ll confront one of the central tensions of AI-assisted creation the gap between it works and I understand it.<\/p>\n","protected":false},"author":2538,"featured_media":220,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,13],"tags":[],"class_list":["post-499","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-challenge","category-vibe-coding"],"_links":{"self":[{"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/posts\/499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/users\/2538"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/comments?post=499"}],"version-history":[{"count":3,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/posts\/499\/revisions"}],"predecessor-version":[{"id":503,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/posts\/499\/revisions\/503"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/media\/220"}],"wp:attachment":[{"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/media?parent=499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/categories?post=499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ubc.ca\/aichallenges\/wp-json\/wp\/v2\/tags?post=499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}