{"id":8597,"date":"2026-03-25T09:25:12","date_gmt":"2026-03-25T07:25:12","guid":{"rendered":"https:\/\/norttipaikalle.fi\/?p=8597"},"modified":"2026-05-21T09:02:09","modified_gmt":"2026-05-21T06:02:09","slug":"vibe-coding","status":"publish","type":"post","link":"https:\/\/norttipaikalle.fi\/fi\/vibe-coding\/","title":{"rendered":"Vibe coding &#8211; What I&#8217;ve learned"},"content":{"rendered":"<h2 class=\"wp-block-heading\">That I enjoy it.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s replaced doom scrolling as my dopamine source \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prompts should be direct. Not polite.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I couldn&#8217;t for the life of me understand why getting the system prompt for the <a href=\"https:\/\/norttipaikalle.fi\/saas\/ai-powered-chat-bot\/\" type=\"page\" id=\"8336\">ChatBot<\/a> dialled in was such a chore.  I would find myself nearly yelling at the computer, &#8220;Just gather the information, and send me an email!!&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mistakes to avoid (which I have made..)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Giving ague, &#8220;this should happen ..&#8221; prompts.  These will work just fine with polite genteel folks, but  AIs \/ LLMs will probably ignore this altogether and leave you feeling frustrated.  Replace instead with &#8220;You MUST ..&#8221; and &#8220;NEVER do &#8230;&#8221; statements.  Amazingly, the AI won&#8217;t be offended.<\/li>\n\n\n\n<li>Having more than system prompt.  This, you would have thought, is self-evident.  Then I realised I had a rock solid system prompt which was working fine, and then I created a &#8220;yes, but &#8230;&#8221; prompt file which, to say the least, was woolly in it&#8217;s logic.   Keep the behavioural instruction in just one file.  Any other files are for knowledge only.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Use Git<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For instance, I &#8216;m running Claude Code on my PC.  Even before the code starts cooking, tell it to use a local Git repo. to track and manage the code changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230; and make sure it does actually do it &#8230; Ask me how I know this..<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">It&#8217;s like teaching a toddler with ADHD to make pancakes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Yelling, &#8220;The button is too low!&#8221; doesn&#8217;t get things done any quicker.<\/li>\n\n\n\n<li>When code needs changing in some way, start the prompt with the actual file name of where the button code is. Give the LLM something to go with. This prevents the wrong file from being updated.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Give your LLM bestie something to &#8216;look at&#8217;.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Source code, error logs etc.  It&#8217;s where I would start if there was a problem.  Assuming that the LLM \/ AI can read my mind is pointless.  It&#8217;s an LLM &#8211; Large Language Model.   It might pass the Turing Test better than me somethings, but it&#8217;s not a mind reader.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When there is a stubborn bug, ask the AI what would help get things done quicker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mine bluntly told me to paste in the error logs&#8230; \ud83e\udee3<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Code audits are important.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Errors do build up over time.  Especially when an LLM is given control of the keyboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This prompt found a bunch of silent errors and bugs and stuff; missing validation steps, excessive inline css code, legacy code remenants.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ok.. let's go through the whole code base carefully and audit it. We've done a lot together. \n                                                                                                                                                 \nWe are looking for:                                                                                                                            \n  - dupliacted css which can be better moved to style.css                                                                                        \n  - redundant code                                                                                                                               \n  - silent bugs or errors.                                                                                                                       \n  - anything else an expert programmer would be looking for.                                                                                     \n                                                                                                                                                 \nQuestions?   <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This is what came back:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>All done. Here's a summary of what was implemented:\n\nBugs fixed:\n  - functions.js \u2014 priority field input listeners now only attach once (data-attribute guard), preventing exponential accumulation on repeated scans\n  - functions.js \u2014 early-return guard if scan page elements are missing\n  - dashboard.php \u2014 template tab click handlers now use event delegation on the container instead of re-attaching to all tabs on each add\n\nPHP hardening:\n  - auth-handler.php \u2014 removed all 5 @file_put_contents suppressors in logging functions; failures now surface in server error log\n  - auth-handler.php \u2014 account activation now has the same token length early-return guard as the password reset validator\n  - dashboard.php \u2014 webhook URL capped at 2048 chars before filter_var check\n\nCSS consolidation:\n  - Added .btn-lg, .form-group--inline, .flex-col, .icon-sm, .data-table to style.css\n  - Applied across about.php, admin.php, dashboard.php, register.php \u2014 23 inline style blocks replaced<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">AI&#8217;s are people pleasers.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s daft, but use this to your advantage.  Train your AI bestie to know what you like.  &#8220;You check for bugs before deployment.  I like this.&#8221;.  This isn&#8217;t ego stroking, it&#8217;s trying your LLM to work in a prodctive way.  Why we even need to do this, I&#8217;ll never know.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I swear .. something I think the AI burns my tokens for fun..<\/h2>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Some stuff I built ..<\/h2>\n\n\n\n<div class=\"wp-block-query is-layout-flow wp-block-query-is-layout-flow\"><ul class=\"columns-3 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-6a662b0d wp-block-post-template-is-layout-grid\"><li class=\"wp-block-post post-8473 page type-page status-publish has-post-thumbnail hentry\">\n<figure style=\"aspect-ratio:16\/9\" class=\"wp-block-post-featured-image\"><a href=\"https:\/\/norttipaikalle.fi\/fi\/saas\/cardscan-accelerate-your-sales-pipeline\/\" target=\"_self\"  ><img data-recalc-dims=\"1\" decoding=\"async\" width=\"800\" height=\"488\" src=\"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/7620913-e1774047052878.jpeg?resize=800%2C488&#038;ssl=1\" class=\"has-border-color has-custom-background-border-color wp-post-image\" alt=\"CardScan &#8211; Accelerate your sales pipeline\" style=\"border-width:1px;width:100%;height:100%;object-fit:cover;\" srcset=\"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/7620913-e1774047052878.jpeg?w=800&amp;ssl=1 800w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/7620913-e1774047052878.jpeg?resize=300%2C183&amp;ssl=1 300w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/7620913-e1774047052878.jpeg?resize=768%2C468&amp;ssl=1 768w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/7620913-e1774047052878.jpeg?resize=18%2C12&amp;ssl=1 18w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/7620913-e1774047052878.jpeg?resize=400%2C244&amp;ssl=1 400w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n<h2 class=\"wp-block-post-title has-medium-font-size\">CardScan &#8211; Accelerate your sales pipeline<\/h2>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-03-20T20:16:59+02:00\">2026-03-20<\/time><\/div>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">CardScan.online sends contact information directly to your sales team, and connects you directly to your contact. Instantly. <\/p><\/div>\n<\/li><li class=\"wp-block-post post-8336 page type-page status-publish has-post-thumbnail hentry\">\n<figure style=\"aspect-ratio:16\/9\" class=\"wp-block-post-featured-image\"><a href=\"https:\/\/norttipaikalle.fi\/fi\/saas\/ai-powered-chat-bot\/\" target=\"_self\"  ><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1380\" height=\"776\" src=\"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?resize=1380%2C776&#038;ssl=1\" class=\"has-border-color has-custom-background-border-color wp-post-image\" alt=\"AI powered Chat-bot\" style=\"border-width:1px;width:100%;height:100%;object-fit:cover;\" srcset=\"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?w=1380&amp;ssl=1 1380w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?resize=1024%2C576&amp;ssl=1 1024w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?resize=768%2C432&amp;ssl=1 768w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?resize=18%2C10&amp;ssl=1 18w, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?resize=400%2C225&amp;ssl=1 400w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n<h2 class=\"wp-block-post-title has-medium-font-size\">AI powered Chat-bot<\/h2>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-03-13T14:37:50+02:00\">2026-03-13<\/time><\/div>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Turn website visitors into qualified leads automatically An AI assistant trained on your business, built for therapists, consultants, small service companies, and anyone else who does\u2019t want to babysit an&hellip; <\/p><\/div>\n<\/li><\/ul>\n\n\n\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Vibing coding.  I&#8217;ve reluctantly found that I like it!<\/p>","protected":false},"author":1,"featured_media":8351,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ai_generated_summary":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,90,37],"tags":[218],"class_list":["post-8597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-business","category-tips-and-tricks","tag-ai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vibe coding - What I&#039;ve learned &#8211; N\u00f6rtti paikalle<\/title>\n<meta name=\"description\" content=\"Vibe Coding Tips: What I&#039;ve Learned Using AI.Vibe coding has brought creative freedom, and also ... great responsibility.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/norttipaikalle.fi\/fi\/vibe-coding\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vibe coding - What I&#039;ve learned &#8211; N\u00f6rtti paikalle\" \/>\n<meta property=\"og:description\" content=\"Vibe Coding Tips: What I&#039;ve Learned Using AI.Vibe coding has brought creative freedom, and also ... great responsibility.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/norttipaikalle.fi\/fi\/vibe-coding\/\" \/>\n<meta property=\"og:site_name\" content=\"N\u00f6rtti paikalle\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/norttipaikalle.fi\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/norttikotiin.fi\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-25T07:25:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-21T06:02:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1380\" \/>\n\t<meta property=\"og:image:height\" content=\"776\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alex\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Kirjoittanut\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex\" \/>\n\t<meta name=\"twitter:label2\" content=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/\"},\"author\":{\"name\":\"Alex\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#\\\/schema\\\/person\\\/425b438ebd45ba6eadbbaf868ca3921c\"},\"headline\":\"Vibe coding &#8211; What I&#8217;ve learned\",\"datePublished\":\"2026-03-25T07:25:12+00:00\",\"dateModified\":\"2026-05-21T06:02:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/\"},\"wordCount\":494,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/norttipaikalle.fi\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bot.jpg?fit=1380%2C776&ssl=1\",\"keywords\":[\"AI\"],\"articleSection\":[\"Blog\",\"Business\",\"Tips and tricks\"],\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/\",\"url\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/\",\"name\":\"Vibe coding - What I've learned &#8211; N\u00f6rtti paikalle\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/norttipaikalle.fi\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bot.jpg?fit=1380%2C776&ssl=1\",\"datePublished\":\"2026-03-25T07:25:12+00:00\",\"dateModified\":\"2026-05-21T06:02:09+00:00\",\"description\":\"Vibe Coding Tips: What I've Learned Using AI.Vibe coding has brought creative freedom, and also ... great responsibility.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/norttipaikalle.fi\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bot.jpg?fit=1380%2C776&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/norttipaikalle.fi\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bot.jpg?fit=1380%2C776&ssl=1\",\"width\":1380,\"height\":776,\"caption\":\"Vibe coding, ChatBot, AI\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/vibe-coding\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/norttipaikalle.fi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vibe coding &#8211; What I&#8217;ve learned\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#website\",\"url\":\"https:\\\/\\\/norttipaikalle.fi\\\/\",\"name\":\"N\u00f6rtti paikalle\",\"description\":\"Making IT easy\",\"publisher\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/norttipaikalle.fi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#organization\",\"name\":\"N\u00f6rtti paikalle\",\"url\":\"https:\\\/\\\/norttipaikalle.fi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/norttipaikalle.fi\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/cropped-nerd-1.png\",\"contentUrl\":\"https:\\\/\\\/norttipaikalle.fi\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/cropped-nerd-1.png\",\"width\":512,\"height\":512,\"caption\":\"N\u00f6rtti paikalle\"},\"image\":{\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/norttipaikalle.fi\",\"https:\\\/\\\/www.instagram.com\\\/norttipaikalle\",\"http:\\\/\\\/www.linkedin.com\\\/in\\\/alexjmetcalfe\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/norttipaikalle.fi\\\/#\\\/schema\\\/person\\\/425b438ebd45ba6eadbbaf868ca3921c\",\"name\":\"Alex\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/220a78e7bb51d0a9a77cc1e00477e2f446955320fe4500f492bb2117190c2cf8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/220a78e7bb51d0a9a77cc1e00477e2f446955320fe4500f492bb2117190c2cf8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/220a78e7bb51d0a9a77cc1e00477e2f446955320fe4500f492bb2117190c2cf8?s=96&d=mm&r=g\",\"caption\":\"Alex\"},\"sameAs\":[\"https:\\\/\\\/norttipaikalle.fi\",\"https:\\\/\\\/www.facebook.com\\\/norttikotiin.fi\",\"https:\\\/\\\/www.instagram.com\\\/norttipaikalle\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/alexjmetcalfe\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@Norttipaikalle\"],\"url\":\"https:\\\/\\\/norttipaikalle.fi\\\/fi\\\/author\\\/admin_7yw3e97h\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vibe coding - What I've learned &#8211; N\u00f6rtti paikalle","description":"Vibe Coding Tips: What I've Learned Using AI.Vibe coding has brought creative freedom, and also ... great responsibility.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/norttipaikalle.fi\/fi\/vibe-coding\/","og_locale":"fi_FI","og_type":"article","og_title":"Vibe coding - What I've learned &#8211; N\u00f6rtti paikalle","og_description":"Vibe Coding Tips: What I've Learned Using AI.Vibe coding has brought creative freedom, and also ... great responsibility.","og_url":"https:\/\/norttipaikalle.fi\/fi\/vibe-coding\/","og_site_name":"N\u00f6rtti paikalle","article_publisher":"https:\/\/www.facebook.com\/norttipaikalle.fi","article_author":"https:\/\/www.facebook.com\/norttikotiin.fi","article_published_time":"2026-03-25T07:25:12+00:00","article_modified_time":"2026-05-21T06:02:09+00:00","og_image":[{"width":1380,"height":776,"url":"https:\/\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg","type":"image\/jpeg"}],"author":"Alex","twitter_card":"summary_large_image","twitter_misc":{"Kirjoittanut":"Alex","Arvioitu lukuaika":"3 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#article","isPartOf":{"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/"},"author":{"name":"Alex","@id":"https:\/\/norttipaikalle.fi\/#\/schema\/person\/425b438ebd45ba6eadbbaf868ca3921c"},"headline":"Vibe coding &#8211; What I&#8217;ve learned","datePublished":"2026-03-25T07:25:12+00:00","dateModified":"2026-05-21T06:02:09+00:00","mainEntityOfPage":{"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/"},"wordCount":494,"commentCount":0,"publisher":{"@id":"https:\/\/norttipaikalle.fi\/#organization"},"image":{"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?fit=1380%2C776&ssl=1","keywords":["AI"],"articleSection":["Blog","Business","Tips and tricks"],"inLanguage":"fi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/norttipaikalle.fi\/vibe-coding\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/","url":"https:\/\/norttipaikalle.fi\/vibe-coding\/","name":"Vibe coding - What I've learned &#8211; N\u00f6rtti paikalle","isPartOf":{"@id":"https:\/\/norttipaikalle.fi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#primaryimage"},"image":{"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?fit=1380%2C776&ssl=1","datePublished":"2026-03-25T07:25:12+00:00","dateModified":"2026-05-21T06:02:09+00:00","description":"Vibe Coding Tips: What I've Learned Using AI.Vibe coding has brought creative freedom, and also ... great responsibility.","breadcrumb":{"@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/norttipaikalle.fi\/vibe-coding\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#primaryimage","url":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?fit=1380%2C776&ssl=1","contentUrl":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?fit=1380%2C776&ssl=1","width":1380,"height":776,"caption":"Vibe coding, ChatBot, AI"},{"@type":"BreadcrumbList","@id":"https:\/\/norttipaikalle.fi\/vibe-coding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/norttipaikalle.fi\/"},{"@type":"ListItem","position":2,"name":"Vibe coding &#8211; What I&#8217;ve learned"}]},{"@type":"WebSite","@id":"https:\/\/norttipaikalle.fi\/#website","url":"https:\/\/norttipaikalle.fi\/","name":"N\u00f6rtti paikalle","description":"Making IT easy","publisher":{"@id":"https:\/\/norttipaikalle.fi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/norttipaikalle.fi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/norttipaikalle.fi\/#organization","name":"N\u00f6rtti paikalle","url":"https:\/\/norttipaikalle.fi\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/norttipaikalle.fi\/#\/schema\/logo\/image\/","url":"https:\/\/norttipaikalle.fi\/wp-content\/uploads\/2022\/03\/cropped-nerd-1.png","contentUrl":"https:\/\/norttipaikalle.fi\/wp-content\/uploads\/2022\/03\/cropped-nerd-1.png","width":512,"height":512,"caption":"N\u00f6rtti paikalle"},"image":{"@id":"https:\/\/norttipaikalle.fi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/norttipaikalle.fi","https:\/\/www.instagram.com\/norttipaikalle","http:\/\/www.linkedin.com\/in\/alexjmetcalfe"]},{"@type":"Person","@id":"https:\/\/norttipaikalle.fi\/#\/schema\/person\/425b438ebd45ba6eadbbaf868ca3921c","name":"Alex","image":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/secure.gravatar.com\/avatar\/220a78e7bb51d0a9a77cc1e00477e2f446955320fe4500f492bb2117190c2cf8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/220a78e7bb51d0a9a77cc1e00477e2f446955320fe4500f492bb2117190c2cf8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/220a78e7bb51d0a9a77cc1e00477e2f446955320fe4500f492bb2117190c2cf8?s=96&d=mm&r=g","caption":"Alex"},"sameAs":["https:\/\/norttipaikalle.fi","https:\/\/www.facebook.com\/norttikotiin.fi","https:\/\/www.instagram.com\/norttipaikalle","https:\/\/www.linkedin.com\/in\/alexjmetcalfe\/","https:\/\/www.youtube.com\/@Norttipaikalle"],"url":"https:\/\/norttipaikalle.fi\/fi\/author\/admin_7yw3e97h\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2026\/03\/bot.jpg?fit=1380%2C776&ssl=1","jetpack-related-posts":[{"id":5308,"url":"https:\/\/norttipaikalle.fi\/fi\/hiding-email-addresses-from-bots\/","url_meta":{"origin":8597,"position":0},"title":"Protect your email: Hiding email addresses on WordPress","author":"Alex","date":"2025-03-20","format":false,"excerpt":"Email addresses, commonly found on webpages, are a vital point of contact for businesses and individuals alike. Without sufficient protection, these email addresses can be harvested by automated bots crawling the web. This exposes the recipient to a significantly higher risk of receiving spam emails and being targeted by phishing\u2026","rel":"","context":"Kategoriassa &quot;Best practice&quot;","block_context":{"text":"Best practice","link":"https:\/\/norttipaikalle.fi\/fi\/category\/blog\/best-practice\/"},"img":{"alt_text":"Hiding email addresses, hands typing","src":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/03\/pexels-photo-7709101-e1742903081789.jpeg?fit=867%2C520&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/03\/pexels-photo-7709101-e1742903081789.jpeg?fit=867%2C520&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/03\/pexels-photo-7709101-e1742903081789.jpeg?fit=867%2C520&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/03\/pexels-photo-7709101-e1742903081789.jpeg?fit=867%2C520&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":5021,"url":"https:\/\/norttipaikalle.fi\/fi\/automation-and-integration\/","url_meta":{"origin":8597,"position":1},"title":"Automatisointi ja integrointi liiketoimintasi tehostamiseksi","author":"Alex","date":"2025-02-06","format":false,"excerpt":"Automation and integration, done properly, brings together many disparate systems into a cohesive whole. It facilitates the fluid movement of data between email, spreadsheets, invoicing, e-commerce, scheduling and more.","rel":"","context":"Kategoriassa &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/norttipaikalle.fi\/fi\/category\/blog\/"},"img":{"alt_text":"Automation and integration, SPF, DKIM and DMARC","src":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2024\/01\/pexels-photo-270360-edited.jpeg-e1742542725732.webp?fit=766%2C460&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2024\/01\/pexels-photo-270360-edited.jpeg-e1742542725732.webp?fit=766%2C460&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2024\/01\/pexels-photo-270360-edited.jpeg-e1742542725732.webp?fit=766%2C460&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2024\/01\/pexels-photo-270360-edited.jpeg-e1742542725732.webp?fit=766%2C460&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1903,"url":"https:\/\/norttipaikalle.fi\/fi\/osticket-customer-support\/","url_meta":{"origin":8597,"position":2},"title":"osTicket gives an effortless support experience","author":"Alex","date":"2023-01-10","format":false,"excerpt":"Meet osTicket. osTicket has been with me for around 7 years or so.\u00a0 It was an absolute game changer when it was deployed. A shared mailbox for customer support can quickly become a jumbled mixture of support requests and business emails. Think of osTicket as an effective drop-in replacement for\u2026","rel":"","context":"Kategoriassa &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/norttipaikalle.fi\/fi\/category\/blog\/"},"img":{"alt_text":"N\u00f6rtti Paikalle. IT Services for families, and businesses. osTicket","src":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2023\/01\/pexels-photo-3823489-edited.jpeg?fit=1199%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2023\/01\/pexels-photo-3823489-edited.jpeg?fit=1199%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2023\/01\/pexels-photo-3823489-edited.jpeg?fit=1199%2C1200&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2023\/01\/pexels-photo-3823489-edited.jpeg?fit=1199%2C1200&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2023\/01\/pexels-photo-3823489-edited.jpeg?fit=1199%2C1200&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1124,"url":"https:\/\/norttipaikalle.fi\/fi\/disaster-recovery-sometimes-life-just-is\/","url_meta":{"origin":8597,"position":3},"title":"When things don\u2019t go as planned.  Like in Str\u00f6ms\u00f6 ..","author":"Alex","date":"2022-08-31","format":false,"excerpt":"There are a good few ways of saying it. \u201dToo err is human.\u201d, Murphey\u2019s law.. In Finland we might also hear, \u201dEl\u00e4m\u00e4 on..\u201d (life is), or \u201cEi mennyt niin kuin Str\u00f6ms\u00f6ss\u00e4\u201d (It didn\u2019t go as in Str\u00f6ms\u00f6 (village)). The point is, that despite all our best planning, for one reason\u2026","rel":"","context":"Kategoriassa &quot;Best practice&quot;","block_context":{"text":"Best practice","link":"https:\/\/norttipaikalle.fi\/fi\/category\/blog\/best-practice\/"},"img":{"alt_text":"Demonstrates the need for a disaster recovery plan.","src":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/08\/img_0413.jpg?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/08\/img_0413.jpg?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/08\/img_0413.jpg?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/08\/img_0413.jpg?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/08\/img_0413.jpg?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4340,"url":"https:\/\/norttipaikalle.fi\/fi\/website-hosting-with-renewable-energy\/","url_meta":{"origin":8597,"position":4},"title":"Pelastetaan planeetta sivusto kerrallaan!","author":"Alex","date":"2025-01-17","format":false,"excerpt":"Internetin energiankulutuksen osuus maailman hiilidioksidip\u00e4\u00e4st\u00f6ist\u00e4 on noin 2 prosenttia, ja perinteinen web-hosting on pitk\u00e4lti riippuvainen fossiilisista polttoaineista. Valitsemalla uusiutuvalla energialla toimivan hosting-palvelun tuet puhtaampaa ja vihre\u00e4mp\u00e4\u00e4 planeettaa.","rel":"","context":"Kategoriassa &quot;Best practice&quot;","block_context":{"text":"Best practice","link":"https:\/\/norttipaikalle.fi\/fi\/category\/blog\/best-practice\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/01\/Solar-Energy-e1742903168856.jpg?fit=860%2C516&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/01\/Solar-Energy-e1742903168856.jpg?fit=860%2C516&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/01\/Solar-Energy-e1742903168856.jpg?fit=860%2C516&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2025\/01\/Solar-Energy-e1742903168856.jpg?fit=860%2C516&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2115,"url":"https:\/\/norttipaikalle.fi\/fi\/saving-the-world-one-laptop-at-a-time\/","url_meta":{"origin":8597,"position":5},"title":"Saving the world one laptop at a time","author":"Alex","date":"2023-02-14","format":false,"excerpt":"\u201cSaving the world. One laptop at a time.\u201d is a phrase close to my heart. I have thought about using it as a slogan, but it only describes a part of what I do. One strong theme from my childhood was sustainable living. My parents had a large garden in\u2026","rel":"","context":"Kategoriassa &quot;Blog&quot;","block_context":{"text":"Blog","link":"https:\/\/norttipaikalle.fi\/fi\/category\/blog\/"},"img":{"alt_text":"N\u00f6rtti paikalle. Saving the world. One laptop at a time. IT Services for families, and businesses.","src":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/11\/img_7062-scaled.jpg?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/11\/img_7062-scaled.jpg?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/11\/img_7062-scaled.jpg?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/11\/img_7062-scaled.jpg?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/norttipaikalle.fi\/wp-content\/uploads\/2022\/11\/img_7062-scaled.jpg?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/posts\/8597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/comments?post=8597"}],"version-history":[{"count":22,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/posts\/8597\/revisions"}],"predecessor-version":[{"id":8880,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/posts\/8597\/revisions\/8880"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/media\/8351"}],"wp:attachment":[{"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/media?parent=8597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/categories?post=8597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/norttipaikalle.fi\/fi\/wp-json\/wp\/v2\/tags?post=8597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}