<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tim</title>
    <description>The latest articles on DEV Community by Tim (@tzador).</description>
    <link>https://dev.to/tzador</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1072420%2F0dbebd37-f0f3-4c54-91df-37f16a907778.jpeg</url>
      <title>DEV Community: Tim</title>
      <link>https://dev.to/tzador</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tzador"/>
    <language>en</language>
    <item>
      <title>🚀 Tailwind CSS v4: What is New</title>
      <dc:creator>Tim</dc:creator>
      <pubDate>Tue, 17 Dec 2024 21:58:26 +0000</pubDate>
      <link>https://dev.to/tzador/tailwind-css-v4-what-is-new-137k</link>
      <guid>https://dev.to/tzador/tailwind-css-v4-what-is-new-137k</guid>
      <description>&lt;p&gt;Disclamer: This article has been written by ChatGPT based on scraped search results using &lt;a href="https://llminer.deno.dev/" rel="noopener noreferrer"&gt;LLMiner&lt;/a&gt; (search query -&amp;gt; to single markdown tool).&lt;/p&gt;




&lt;p&gt;Tailwind CSS v4.0 has finally landed in beta, and oh boy, it’s packed with some &lt;strong&gt;groundbreaking changes&lt;/strong&gt; that will supercharge your development workflow. From a &lt;strong&gt;blazing-fast engine rewrite&lt;/strong&gt; to a sleek new &lt;strong&gt;CSS-first configuration&lt;/strong&gt;, this release feels like putting jet fuel in your project. Whether you’re an existing Tailwind fan or a newcomer, buckle up as we explore everything that’s new in Tailwind CSS v4.0!&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 A New High-Performance Engine — Oxide
&lt;/h2&gt;

&lt;p&gt;Tailwind CSS v4.0 introduces &lt;strong&gt;Oxide&lt;/strong&gt;, a ground-up rewrite of its engine. The numbers are jaw-dropping:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Build Type&lt;/th&gt;
&lt;th&gt;Tailwind v3.4&lt;/th&gt;
&lt;th&gt;Tailwind v4.0 Beta&lt;/th&gt;
&lt;th&gt;Improvement&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Full Build&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;378ms&lt;/td&gt;
&lt;td&gt;100ms&lt;/td&gt;
&lt;td&gt;🚀 3.78x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Incremental Build (New CSS)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;44ms&lt;/td&gt;
&lt;td&gt;5ms&lt;/td&gt;
&lt;td&gt;🚀 8.8x&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Incremental Build (No New CSS)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;35ms&lt;/td&gt;
&lt;td&gt;192µs&lt;/td&gt;
&lt;td&gt;🚀 182x&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Yes, you read that right — builds now complete in microseconds when no new CSS is generated.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This turbocharged speed comes from several key improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rust-Powered:&lt;/strong&gt; Performance-critical parts of the framework are written in Rust.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Parser:&lt;/strong&gt; Tailwind ditches PostCSS for its own optimized parser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lightning CSS Integration:&lt;/strong&gt; Transpiling, prefixing, and minification happen faster than ever.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎯 Why Does It Matter?
&lt;/h3&gt;

&lt;p&gt;The longer you work on a project, the more incremental builds you run. Now, every tweak feels &lt;em&gt;instant&lt;/em&gt;. Faster builds mean more productivity — and more time to binge-watch that series you’ve been neglecting. 😎&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 CSS-First Configuration
&lt;/h2&gt;

&lt;p&gt;Say goodbye to &lt;code&gt;tailwind.config.js&lt;/code&gt; clutter. Tailwind CSS v4.0 lets you configure your design tokens &lt;strong&gt;directly in CSS&lt;/strong&gt; with the new &lt;code&gt;@theme&lt;/code&gt; directive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s1"&gt;"tailwindcss"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;@theme&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--color-primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;oklch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0.84&lt;/span&gt; &lt;span class="m"&gt;0.18&lt;/span&gt; &lt;span class="m"&gt;117.33&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="py"&gt;--font-sans&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"Inter"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--spacing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.25rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This modernizes your workflow by aligning configurations closer to where they belong — your CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 Benefits
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Less JavaScript:&lt;/strong&gt; Reduce your JS footprint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native CSS Variables:&lt;/strong&gt; Use theme values inline or with libraries like Motion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplified Overrides:&lt;/strong&gt; Easily extend or reset design tokens using &lt;code&gt;--*: initial&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Need flexibility? Tailwind still supports the classic JS config for backward compatibility.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌈 Modernized Colors with P3 Gamut
&lt;/h2&gt;

&lt;p&gt;Colors in v4.0 now default to &lt;strong&gt;OKLCH&lt;/strong&gt; instead of RGB, enabling:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wider Gamut:&lt;/strong&gt; More vibrant, modern colors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smooth Gradients:&lt;/strong&gt; Better interpolation for gradient utilities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s a vivid example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"bg-linear-45 from-indigo-500 to-teal-400"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The improved gradients, combined with utilities like &lt;code&gt;bg-conic-*&lt;/code&gt; and &lt;code&gt;bg-radial-*&lt;/code&gt;, bring your designs to life with &lt;strong&gt;minimal effort&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🪄 Automatic Source Detection
&lt;/h2&gt;

&lt;p&gt;Remember configuring the dreaded &lt;code&gt;content&lt;/code&gt; array? Forget about it. Tailwind CSS v4.0 introduces &lt;strong&gt;zero-config content detection&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatically scans your project for templates.&lt;/li&gt;
&lt;li&gt;Ignores &lt;code&gt;.gitignore&lt;/code&gt; files, binary files, and junk.&lt;/li&gt;
&lt;li&gt;Works seamlessly with Vite’s module graph.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For edge cases, you can explicitly add sources using the &lt;code&gt;@source&lt;/code&gt; directive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s1"&gt;"tailwindcss"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;@source&lt;/span&gt; &lt;span class="s1"&gt;"../node_modules/my-library/src/components"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🤯 TL;DR:
&lt;/h3&gt;

&lt;p&gt;Less setup, smarter detection, and fewer headaches.&lt;/p&gt;




&lt;h2&gt;
  
  
  📐 Container Queries — Native Support
&lt;/h2&gt;

&lt;p&gt;No more plugins! Tailwind v4.0 brings &lt;strong&gt;native container query&lt;/strong&gt; support to the core library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"@container"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"grid grid-cols-3 @max-md:grid-cols-1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- Magic happens here --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can even combine &lt;code&gt;@min-*&lt;/code&gt; and &lt;code&gt;@max-*&lt;/code&gt; variants for &lt;strong&gt;powerful responsive designs&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Composable Variants
&lt;/h2&gt;

&lt;p&gt;Variants in Tailwind CSS v4.0 are now composable. This means you can chain complex selectors &lt;em&gt;like a boss&lt;/em&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"group"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"group-has-data-active:opacity-100"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- Shine bright like a diamond --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want even more? Combine &lt;code&gt;not-*&lt;/code&gt;, &lt;code&gt;in-*&lt;/code&gt;, and &lt;code&gt;has-*&lt;/code&gt; variants for ultimate flexibility.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧊 3D Transforms
&lt;/h2&gt;

&lt;p&gt;Tailwind CSS v4.0 introduces &lt;strong&gt;3D transforms&lt;/strong&gt; for the first time! Say hello to &lt;code&gt;rotate-x-*&lt;/code&gt;, &lt;code&gt;scale-z-*&lt;/code&gt;, &lt;code&gt;translate-z-*&lt;/code&gt;, and more:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"transform-3d rotate-x-45 scale-z-110 translate-z-20"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Look, I’m in 3D!
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want depth? Combine with &lt;code&gt;perspective-*&lt;/code&gt; utilities:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"perspective-normal"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"transform-3d rotate-x-30 shadow-lg"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    3D Shadow Power
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🧹 Breaking Changes You Need to Know
&lt;/h2&gt;

&lt;p&gt;Tailwind v4.0 cleans up some old baggage. Here are the key removals and changes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Removed Deprecated Utilities:&lt;/strong&gt; Say goodbye to &lt;code&gt;text-opacity-*&lt;/code&gt;, &lt;code&gt;flex-grow-*&lt;/code&gt;, and others.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Default Border Color:&lt;/strong&gt; &lt;code&gt;border&lt;/code&gt; now defaults to &lt;code&gt;currentColor&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rings Default to 1px:&lt;/strong&gt; Consistent with using &lt;code&gt;outline-*&lt;/code&gt; for focus rings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separate CLI and PostCSS Plugins:&lt;/strong&gt; Install these separately when needed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Pro Tip:&lt;/em&gt; Use the Tailwind upgrade tool to migrate your project painlessly.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏁 How to Upgrade to Tailwind CSS v4.0 Beta
&lt;/h2&gt;

&lt;p&gt;Getting started is easy. Install the beta release and plugins of your choice:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using Vite:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;tailwindcss@next @tailwindcss/vite@next
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Using PostCSS:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;tailwindcss@next @tailwindcss/postcss@next
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Using the CLI:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;tailwindcss@next @tailwindcss/cli@next
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the upgrade tool:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx tailwindcss@next upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Test your project, fine-tune, and enjoy the ride!&lt;/p&gt;




&lt;h2&gt;
  
  
  🎉 Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Tailwind CSS v4.0 is a &lt;strong&gt;game changer&lt;/strong&gt; for modern web development. With its turbocharged Oxide engine, streamlined configuration, vibrant color updates, and powerful utilities, it’s hard not to be excited. This beta release already feels polished, and I can’t wait to see what developers build with it.&lt;/p&gt;

&lt;p&gt;Ready to dive in? 🚀 Upgrade now and let Tailwind v4.0 take your CSS workflow to the next level!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What’s your favorite new feature in Tailwind CSS v4.0? Drop a comment and let’s discuss!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Happy coding! 👨‍💻👩‍💻&lt;/p&gt;

&lt;p&gt;`&lt;/p&gt;

</description>
      <category>abotwrotethis</category>
      <category>tailwindcss</category>
      <category>webdev</category>
      <category>css</category>
    </item>
    <item>
      <title>ChatGPT and Prompt Engineering</title>
      <dc:creator>Tim</dc:creator>
      <pubDate>Thu, 10 Aug 2023 21:52:37 +0000</pubDate>
      <link>https://dev.to/tzador/chatgpt-and-prompt-engineering-261e</link>
      <guid>https://dev.to/tzador/chatgpt-and-prompt-engineering-261e</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;0. References&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1. Introduction to ChatGPT and Prompt Engineering&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;1.1. What is ChatGPT?&lt;/li&gt;
&lt;li&gt;1.2. The Importance of Prompt Engineering&lt;/li&gt;
&lt;li&gt;1.3. Evolution of ChatGPT and Prompt Engineering&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2. Fundamentals of Prompting&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;2.1. Understanding Prompts: Basics and Beyond&lt;/li&gt;
&lt;li&gt;2.2. Crafting Your First Prompt: Step-by-Step&lt;/li&gt;
&lt;li&gt;2.3. Common Mistakes and How to Avoid Them&lt;/li&gt;
&lt;li&gt;2.4. The Anatomy of an Effective Prompt&lt;/li&gt;
&lt;li&gt;2.5. Prompt Length and Complexity: Finding the Balance&lt;/li&gt;
&lt;li&gt;2.6. Adapting Prompts for Different Audiences&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3. Hands-on Prompt Engineering Techniques&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;3.1. Contextual Prompting: Practical Examples&lt;/li&gt;
&lt;li&gt;3.2. Refining Prompts: Iterative Testing and Feedback&lt;/li&gt;
&lt;li&gt;3.3. Scenario-based Prompting: Crafting for Specific Use Cases&lt;/li&gt;
&lt;li&gt;3.4. Using External Data to Inform Prompt Creation&lt;/li&gt;
&lt;li&gt;3.5. Adapting Prompts for Different AI Models&lt;/li&gt;
&lt;li&gt;3.6. Feedback Loops: Incorporating User Responses&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4. Applications of Prompt Engineering in Real-world Scenarios&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;4.1. ChatGPT for Business: Sales and Marketing Prompts&lt;/li&gt;
&lt;li&gt;4.2. Enhancing Customer Support: FAQ and Troubleshooting Prompts&lt;/li&gt;
&lt;li&gt;4.3. ChatGPT in Education: Crafting Educational and Quiz Prompts&lt;/li&gt;
&lt;li&gt;4.4. Event Planning and Management with ChatGPT&lt;/li&gt;
&lt;li&gt;4.5. Using ChatGPT in Research and Data Analysis&lt;/li&gt;
&lt;li&gt;4.6. Crafting Prompts for Entertainment and Gaming&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5. Challenges and Solutions in Prompt Engineering&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;5.1. Addressing Biases: Examples and Remedies&lt;/li&gt;
&lt;li&gt;5.2. Overcoming Ambiguity: Crafting Clearer Prompts&lt;/li&gt;
&lt;li&gt;5.3. Ethical Considerations and Crafting Responsible Prompts&lt;/li&gt;
&lt;li&gt;5.4. Handling Sensitive and Controversial Topics&lt;/li&gt;
&lt;li&gt;5.5. Multilingual Prompting: Challenges and Techniques&lt;/li&gt;
&lt;li&gt;5.6. Ensuring Consistency in Responses&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6. Practical Case Studies&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;6.1. Email Communication: Crafting Prompts for Outreach&lt;/li&gt;
&lt;li&gt;6.2. Creative Writing: Story Starters and Poetry Prompts&lt;/li&gt;
&lt;li&gt;6.3. Professional Assistance: Legal, Medical, and Technical Prompts&lt;/li&gt;
&lt;li&gt;6.4. ChatGPT in E-commerce: Product Descriptions and Reviews&lt;/li&gt;
&lt;li&gt;6.5. Crafting Prompts for News Summarization and Analysis&lt;/li&gt;
&lt;li&gt;6.6. ChatGPT in Social Media: Engagement and Content Creation&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7. Advanced Prompt Engineering&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;7.1. Generative AI and Prompt Engineering&lt;/li&gt;
&lt;li&gt;7.2. Multi-turn Conversations: Crafting Follow-up Prompts&lt;/li&gt;
&lt;li&gt;7.3. The Art of Elicitation: Getting Specific Answers&lt;/li&gt;
&lt;li&gt;7.4. Personalizing Prompts for Individual Users&lt;/li&gt;
&lt;li&gt;7.5. Adapting Prompts for Voice Assistants and Audio Interfaces&lt;/li&gt;
&lt;li&gt;7.6. Integrating ChatGPT with Other AI Tools and Platforms&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;8. Resources and Tools for Hands-on Practice&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;8.1. Prompt Databases: Exploring and Using Repositories&lt;/li&gt;
&lt;li&gt;8.2. Community Workshops and Collaborative Prompt Crafting&lt;/li&gt;
&lt;li&gt;8.3. Tools and Platforms for Testing and Refining Prompts&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;

&lt;p&gt;&lt;strong&gt;9. Conclusion and Next Steps&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;9.1. The Future Landscape of AI Prompting&lt;/li&gt;
&lt;li&gt;9.2. Continuous Learning and Staying Updated&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  0. References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.kanaries.net/articles/chatgpt-prompt-engineering"&gt;ChatGPT Prompt Engineering - Kanaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://markwiemer.medium.com/unlock-the-power-of-chatgpt-with-prompt-engineering-46aa760e929a"&gt;Unlock the Power of ChatGPT with Prompt Engineering - Mark Wiemer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.imaginarycloud.com/blog/chatgpt-prompt-engineering/"&gt;ChatGPT Prompt Engineering - Imaginary Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/what-prompt-engineering-how-normal-people-search-chat-gpt-surahio"&gt;What is Prompt Engineering and How Normal People Search Chat GPT? - LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unstop.com/blog/introduction-to-prompt-engineering-in-chat-gpt"&gt;Introduction to Prompt Engineering in Chat GPT - Unstop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.datacamp.com/tutorial/a-beginners-guide-to-chatgpt-prompt-engineering"&gt;A Beginner's Guide to ChatGPT Prompt Engineering - DataCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freecodecamp.org/news/how-to-communicate-with-ai-tools-prompt-engineering/"&gt;How to Communicate with AI Tools: Prompt Engineering - FreeCodeCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sendboard.com/blog/chat-gpt-prompt-engineering-for-email"&gt;Chat GPT Prompt Engineering for Email - SendBoard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.computerworld.com/article/3691253/how-to-train-your-chatbot-through-prompt-engineering.html"&gt;How to Train Your Chatbot Through Prompt Engineering - ComputerWorld&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.allabtai.com/chatgpt-prompt-engineering-research/"&gt;ChatGPT Prompt Engineering Research - All About AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://towardsdatascience.com/best-practices-in-prompt-engineering-a18d6bab904b"&gt;Best Practices in Prompt Engineering - Towards Data Science&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.abc.net.au/news/science/2023-04-02/prompt-engineers-share-their-tips-on-using-chatgpt-generative-ai/102165132"&gt;Prompt Engineers Share Their Tips on Using ChatGPT Generative AI - ABC News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://filtergrade.com/is-prompt-engineering-the-future-of-ai/"&gt;Is Prompt Engineering the Future of AI? - FilterGrade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.wired.com/story/11-tips-better-chatgpt-prompts/"&gt;11 Tips for Better ChatGPT Prompts - Wired&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackernoon.com/how-to-talk-to-chatgpt-an-intro-to-prompt-engineering"&gt;How to Talk to ChatGPT: An Intro to Prompt Engineering - HackerNoon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.popautomation.com/post/what-is-prompt-engineering"&gt;What is Prompt Engineering? - Pop Automation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.promptingguide.ai/models/chatgpt"&gt;Models: ChatGPT - Prompting Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theguardian.com/technology/2023/jul/29/ai-prompt-engineering-chatbot-questions-art-writing-dalle-midjourney-chatgpt-bard"&gt;AI Prompt Engineering: Chatbot Questions, Art, Writing, DALL-E, Midjourney, ChatGPT, Bard - The Guardian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.unite.ai/prompt-engineering-in-chatgpt/"&gt;Prompt Engineering in ChatGPT - Unite AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://readysetcloud.io/blog/allen.helton/prompt-engineering"&gt;Prompt Engineering - Ready Set Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.analyticsinsight.net/beginners-guide-to-chatgpt-for-prompt-engineering/"&gt;Beginner's Guide to ChatGPT for Prompt Engineering - Analytics Insight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.allganize.ai/blog/comprehensive-compilation-of-chatgpt-principles-and-concepts-usage-and-prompt-engineering"&gt;Comprehensive Compilation of ChatGPT Principles and Concepts, Usage, and Prompt Engineering - Allganize&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.kdnuggets.com/2023/06/art-prompt-engineering-decoding-chatgpt.html"&gt;The Art of Prompt Engineering: Decoding ChatGPT - KDnuggets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.promptstacks.com/prompt-engineering/prompt101"&gt;Prompt Engineering 101 - PromptStacks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  1. Introduction to ChatGPT and Prompt Engineering
&lt;/h2&gt;

&lt;p&gt;ChatGPT, a model developed by OpenAI, has revolutionized the way we interact with AI. It's not just about the model's ability to generate human-like text, but also how we, as users, can guide its responses. This guidance is achieved through prompt engineering.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.1. What is ChatGPT?
&lt;/h3&gt;

&lt;p&gt;ChatGPT is a variant of the GPT (Generative Pre-trained Transformer) model, specifically fine-tuned for human-like conversations. It's capable of generating coherent and contextually relevant text over long passages. But like any tool, its effectiveness depends on how it's used. Think of ChatGPT as a highly skilled artist, and the prompt as the brush. The way you use this brush determines the outcome of the painting.&lt;/p&gt;

&lt;p&gt;For instance, asking ChatGPT "Tell me about the solar system" might yield a general overview. But with a more specific prompt like "Describe the unique features of each planet in the solar system", you guide the model towards a more detailed and structured response.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.2. The Importance of Prompt Engineering
&lt;/h3&gt;

&lt;p&gt;Prompt engineering is the art and science of crafting effective prompts to guide AI models like ChatGPT. A well-engineered prompt can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extract more accurate information.&lt;/li&gt;
&lt;li&gt;Guide the model to think critically or creatively.&lt;/li&gt;
&lt;li&gt;Avoid biases or controversial outputs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, instead of asking the model, "Write a story", you could prompt, "Write a suspenseful short story set in a haunted mansion". The latter not only provides genre and setting but also sets the tone, ensuring a more targeted response.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.3. Evolution of ChatGPT and Prompt Engineering
&lt;/h3&gt;

&lt;p&gt;The journey of ChatGPT, from its initial version to the latest, has been marked by significant improvements in its ability to understand and generate text. But as the model evolved, so did the understanding of its users. They realized that the key to harnessing ChatGPT's power lay in effective prompting.&lt;/p&gt;

&lt;p&gt;Early users of ChatGPT often used trial and error to get desired outputs. But as the community shared their experiences, patterns began to emerge. These patterns, or best practices, formed the foundation of prompt engineering. From simple questions, users moved to multi-part prompts, conditional statements, and even role-playing scenarios to get the most out of ChatGPT.&lt;/p&gt;

&lt;p&gt;For instance, instead of asking "What is the capital of France?", one might say "Imagine you're a geography teacher. Explain to your students what the capital of France is and its significance". This not only fetches the answer but also provides an educational context around it.&lt;/p&gt;

&lt;p&gt;In conclusion, while ChatGPT is a marvel of modern AI, its true potential is unlocked when combined with effective prompt engineering. As we delve deeper into this guide, we'll explore the nuances of crafting prompts that can turn this AI model into a versatile tool for various applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Fundamentals of Prompting
&lt;/h2&gt;

&lt;p&gt;Prompts are the foundation of interaction with models like ChatGPT. They guide the model's response and determine the quality and relevance of the output. Mastering the art of prompting is essential for extracting the most value from AI platforms.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.1. Understanding Prompts: Basics and Beyond
&lt;/h3&gt;

&lt;p&gt;A prompt is essentially the input you provide to the model. It's the question, statement, or phrase that instructs the model on what you want. For instance, if you ask ChatGPT, "Tell me a joke about cats," the entire sentence is the prompt. The model will then generate a response based on its training and the context provided by the prompt.&lt;/p&gt;

&lt;p&gt;Example: "Describe the Eiffel Tower."&lt;br&gt;
ChatGPT might respond with a detailed description of the Eiffel Tower, its history, and significance.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.2. Crafting Your First Prompt: Step-by-Step
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Define Your Objective&lt;/strong&gt;: Understand what you want from the model. Is it a detailed answer, a joke, a story, or a fact?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be Clear and Specific&lt;/strong&gt;: The more specific you are, the more accurate the response will be.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test and Refine&lt;/strong&gt;: After receiving the model's response, refine your prompt if necessary to get the desired output.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example: Instead of "Tell me about apples," you might say, "Provide nutritional information about apples."&lt;/p&gt;

&lt;h3&gt;
  
  
  2.3. Common Mistakes and How to Avoid Them
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Being Too Vague&lt;/strong&gt;: This might lead to generic responses. Always aim for specificity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overloading the Prompt&lt;/strong&gt;: Avoid asking multiple questions in one prompt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assuming Model Knowledge&lt;/strong&gt;: Always provide necessary context.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2.4. The Anatomy of an Effective Prompt
&lt;/h3&gt;

&lt;p&gt;An effective prompt is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear&lt;/li&gt;
&lt;li&gt;Concise&lt;/li&gt;
&lt;li&gt;Contextual&lt;/li&gt;
&lt;li&gt;Free of biases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example: Instead of "Tell something," use "Describe the process of photosynthesis."&lt;/p&gt;

&lt;h3&gt;
  
  
  2.5. Prompt Length and Complexity: Finding the Balance
&lt;/h3&gt;

&lt;p&gt;While longer prompts can provide more context, they might also confuse the model. It's essential to strike a balance between providing enough information and overwhelming the model.&lt;/p&gt;

&lt;p&gt;Example: "Explain quantum physics" vs. "Provide a brief overview of quantum physics for a high school student."&lt;/p&gt;

&lt;h3&gt;
  
  
  2.6. Adapting Prompts for Different Audiences
&lt;/h3&gt;

&lt;p&gt;The way you frame a prompt should vary based on your audience. For children, the language should be simpler, while experts might expect more technical details.&lt;/p&gt;

&lt;p&gt;Example: "Explain rain to a five-year-old" vs. "Discuss the meteorological conditions leading to rainfall."&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Hands-on Prompt Engineering Techniques
&lt;/h2&gt;

&lt;p&gt;Prompt engineering is a blend of art and science. It's about understanding the capabilities of the model, the needs of the user, and crafting a prompt that bridges the two. This chapter delves deep into practical techniques that can be employed to get the desired output from ChatGPT.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1. Contextual Prompting: Practical Examples
&lt;/h3&gt;

&lt;p&gt;Context is key when it comes to prompting. For instance, instead of asking ChatGPT "Tell me a joke", you can provide more context: "Tell me a science joke about atoms". This narrows down the scope and ensures the response is more in line with what you're looking for.&lt;/p&gt;

&lt;p&gt;Another example: Instead of "Translate this", you might say "Translate the following English text to French: 'Hello, how are you?'". By specifying the languages, you give clear instructions to the model.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2. Refining Prompts: Iterative Testing and Feedback
&lt;/h3&gt;

&lt;p&gt;It's rare to get the perfect prompt on your first try. Iterative testing involves crafting a prompt, observing the model's response, refining the prompt based on the output, and testing again. For instance, if you ask ChatGPT "Describe the weather", and it provides a generic answer, you might refine it to "Describe today's weather in Paris" for a more specific response.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.3. Scenario-based Prompting: Crafting for Specific Use Cases
&lt;/h3&gt;

&lt;p&gt;Different scenarios require different prompts. If you're using ChatGPT for a business application, you might ask "Provide a summary of the quarterly sales report". For a creative application, you could prompt "Write a short story about a dragon and a knight".&lt;/p&gt;

&lt;h3&gt;
  
  
  3.4. Using External Data to Inform Prompt Creation
&lt;/h3&gt;

&lt;p&gt;Sometimes, it's beneficial to reference external data or events. For instance, "Given the recent stock market crash, provide an analysis of tech stocks" or "Considering the latest research on climate change, explain the effects on polar bears".&lt;/p&gt;

&lt;h3&gt;
  
  
  3.5. Adapting Prompts for Different AI Models
&lt;/h3&gt;

&lt;p&gt;While ChatGPT is versatile, there are other models with specific strengths. If you're using a model trained on legal documents, you might prompt "Explain the implications of the new tax law". For a model trained on medical data, "Describe the symptoms of Lyme disease" would be more appropriate.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.6. Feedback Loops: Incorporating User Responses
&lt;/h3&gt;

&lt;p&gt;Feedback loops involve using the user's response to inform the next prompt. If a user asks "What's the capital of France?" and then follows up with "What about Germany?", the model should recognize the context from the previous question and provide the answer.&lt;/p&gt;

&lt;p&gt;In conclusion, prompt engineering is about understanding, experimenting, and refining. It's a dynamic process that, when mastered, can unlock the true potential of ChatGPT and similar models.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Applications of Prompt Engineering in Real-world Scenarios
&lt;/h2&gt;

&lt;p&gt;Prompt engineering is not just a theoretical concept; it has practical applications across various domains. By understanding the context and crafting precise prompts, one can harness the full potential of ChatGPT in diverse real-world scenarios.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.1. ChatGPT for Business: Sales and Marketing Prompts
&lt;/h3&gt;

&lt;p&gt;In the business world, ChatGPT can be a game-changer. For instance, sales teams can use prompts like "Provide a concise pitch for our new product" to generate elevator pitches. Marketing teams, on the other hand, might use "Describe the unique selling points of our service" to craft compelling ad copy.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2. Enhancing Customer Support: FAQ and Troubleshooting Prompts
&lt;/h3&gt;

&lt;p&gt;Customer support can be enhanced using ChatGPT. Prompts such as "Explain the steps to reset the password" or "Provide solutions for connection issues" can help in generating instant responses for frequently asked questions or common troubleshooting scenarios.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.3. ChatGPT in Education: Crafting Educational and Quiz Prompts
&lt;/h3&gt;

&lt;p&gt;Educators can leverage ChatGPT for creating educational content. Prompts like "Summarize the theory of relativity" or "Craft a quiz on the French Revolution" can aid in generating study materials and assessments.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.4. Event Planning and Management with ChatGPT
&lt;/h3&gt;

&lt;p&gt;For event planners, prompts such as "List down the essentials for a beach wedding" or "Provide a checklist for a corporate seminar" can be invaluable in ensuring nothing is overlooked.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.5. Using ChatGPT in Research and Data Analysis
&lt;/h3&gt;

&lt;p&gt;Researchers can use ChatGPT for data analysis. By prompting "Analyze the trends in the given data" or "Predict the outcomes based on historical data", they can get insights without diving deep into manual analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.6. Crafting Prompts for Entertainment and Gaming
&lt;/h3&gt;

&lt;p&gt;In the entertainment sector, ChatGPT can be used to craft storylines, character backstories, or even game scenarios. Prompts like "Create a backstory for a rogue elf" or "Design a puzzle for an escape room game" can lead to intriguing results.&lt;/p&gt;

&lt;p&gt;Remember, the key to effective prompt engineering lies in understanding the context, being precise, and iterating based on feedback. As you delve deeper into each application, refine your prompts to get the best out of ChatGPT.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Challenges and Solutions in Prompt Engineering
&lt;/h2&gt;

&lt;p&gt;Prompt engineering, while powerful, is not without its challenges. As we delve deeper into the intricacies of crafting prompts for ChatGPT, we'll explore some common challenges and their potential solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.1. Addressing Biases: Examples and Remedies
&lt;/h3&gt;

&lt;p&gt;Every AI model, including ChatGPT, is trained on vast amounts of data. This data can sometimes contain biases, which may inadvertently reflect in the model's responses. For instance, when asked about historical figures, the model might provide more information on male figures than female ones due to historical biases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Prompt: "Tell me about famous scientists."&lt;br&gt;
Potential Bias: The model might list predominantly male scientists.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Craft a more specific prompt such as "Tell me about famous female scientists in the 20th century."&lt;/p&gt;

&lt;h3&gt;
  
  
  5.2. Overcoming Ambiguity: Crafting Clearer Prompts
&lt;/h3&gt;

&lt;p&gt;Ambiguous prompts can lead to vague or off-target responses. The clearer and more specific your prompt, the more accurate the response will be.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Prompt: "Tell me about apples."&lt;br&gt;
Ambiguity: Are we referring to the fruit or the tech company?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Specify the context: "Tell me about apples, the fruit."&lt;/p&gt;

&lt;h3&gt;
  
  
  5.3. Ethical Considerations and Crafting Responsible Prompts
&lt;/h3&gt;

&lt;p&gt;It's crucial to ensure that prompts don't encourage harmful behavior or spread misinformation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Prompt: "How to create a harmful substance?"&lt;br&gt;
Ethical Issue: Promoting potentially dangerous activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Avoid such prompts and always consider the ethical implications of the information you're seeking.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.4. Handling Sensitive and Controversial Topics
&lt;/h3&gt;

&lt;p&gt;ChatGPT can handle a wide range of topics, but care should be taken when dealing with sensitive or controversial subjects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Prompt: "Tell me about political conflicts in country X."&lt;br&gt;
Potential Issue: The response might be seen as taking a side or might be based on outdated information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Frame the prompt neutrally and factually, e.g., "Provide a historical overview of political conflicts in country X."&lt;/p&gt;

&lt;h3&gt;
  
  
  5.5. Multilingual Prompting: Challenges and Techniques
&lt;/h3&gt;

&lt;p&gt;While ChatGPT is proficient in multiple languages, nuances can sometimes be lost in translation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Prompt: "Cómo estás?" (How are you in Spanish)&lt;br&gt;
Challenge: Ensuring the response is culturally and linguistically appropriate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Test prompts in various languages and be aware of cultural nuances.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.6. Ensuring Consistency in Responses
&lt;/h3&gt;

&lt;p&gt;Consistency is key, especially when using ChatGPT for professional or official communications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
Prompt: "Provide customer support for product X."&lt;br&gt;
Challenge: Ensuring the model provides consistent information each time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Regularly test and refine prompts to ensure consistent and accurate responses.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Practical Case Studies
&lt;/h2&gt;

&lt;p&gt;Prompt engineering is not just a theoretical endeavor; it has practical applications across various domains. By examining real-world case studies, we can better understand the nuances and intricacies of crafting effective prompts for different scenarios.&lt;/p&gt;

&lt;h3&gt;
  
  
  6.1. Email Communication: Crafting Prompts for Outreach
&lt;/h3&gt;

&lt;p&gt;In the realm of email communication, especially for business outreach, crafting the right message is crucial. With ChatGPT, you can generate introductory emails, follow-ups, and even thank-you notes. For instance:&lt;/p&gt;

&lt;p&gt;Prompt: "Compose an introductory email for a new software product launch."&lt;/p&gt;

&lt;p&gt;Response: "Dear [Recipient Name], We're excited to introduce our latest software product, [Product Name], designed to streamline your workflows and enhance productivity..."&lt;/p&gt;

&lt;h3&gt;
  
  
  6.2. Creative Writing: Story Starters and Poetry Prompts
&lt;/h3&gt;

&lt;p&gt;For budding writers or those facing writer's block, ChatGPT can be a source of inspiration.&lt;/p&gt;

&lt;p&gt;Prompt: "Begin a mystery story set in a coastal town."&lt;/p&gt;

&lt;p&gt;Response: "The sleepy coastal town of Harborview had always been peaceful until one fateful summer evening when a mysterious letter arrived at the mayor's office..."&lt;/p&gt;

&lt;h3&gt;
  
  
  6.3. Professional Assistance: Legal, Medical, and Technical Prompts
&lt;/h3&gt;

&lt;p&gt;Professionals across various domains can leverage ChatGPT for preliminary advice or insights.&lt;/p&gt;

&lt;p&gt;Prompt: "Explain the basic tenets of copyright law."&lt;/p&gt;

&lt;p&gt;Response: "Copyright law is designed to protect the original creations of authors, musicians, artists, and other creators. It grants them exclusive rights to reproduce, distribute, perform, and display their works..."&lt;/p&gt;

&lt;h3&gt;
  
  
  6.4. ChatGPT in E-commerce: Product Descriptions and Reviews
&lt;/h3&gt;

&lt;p&gt;E-commerce platforms can use ChatGPT to generate product descriptions, reviews, or answer customer queries.&lt;/p&gt;

&lt;p&gt;Prompt: "Describe a wireless ergonomic keyboard."&lt;/p&gt;

&lt;p&gt;Response: "The wireless ergonomic keyboard offers a comfortable typing experience with its well-spaced keys and wrist support. Its sleek design, combined with wireless connectivity, ensures a clutter-free workspace..."&lt;/p&gt;

&lt;h3&gt;
  
  
  6.5. Crafting Prompts for News Summarization and Analysis
&lt;/h3&gt;

&lt;p&gt;For those looking to stay updated with current events, ChatGPT can provide concise summaries.&lt;/p&gt;

&lt;p&gt;Prompt: "Summarize the key points of the recent tech conference."&lt;/p&gt;

&lt;p&gt;Response: "The recent tech conference highlighted the advancements in AI, the rise of quantum computing, and the importance of digital privacy. Keynote speakers from leading tech companies shared insights on future trends..."&lt;/p&gt;

&lt;h3&gt;
  
  
  6.6. ChatGPT in Social Media: Engagement and Content Creation
&lt;/h3&gt;

&lt;p&gt;Social media managers can use ChatGPT to craft engaging posts, respond to comments, or even generate content ideas.&lt;/p&gt;

&lt;p&gt;Prompt: "Suggest a tweet about the benefits of sustainable living."&lt;/p&gt;

&lt;p&gt;Response: "Embracing sustainable living not only benefits our planet but also enriches our lives. Every small eco-friendly choice adds up to a big impact! 🌍💚 #SustainableLiving #EcoFriendlyChoices"&lt;/p&gt;

&lt;p&gt;By examining these case studies, it's evident that prompt engineering with ChatGPT has vast potential across various sectors. The key lies in understanding the specific requirements of each domain and crafting prompts that align with those needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Advanced Prompt Engineering
&lt;/h2&gt;

&lt;h3&gt;
  
  
  7.1. Generative AI and Prompt Engineering
&lt;/h3&gt;

&lt;p&gt;Generative AI models like ChatGPT have revolutionized the way we interact with machines. These models can generate human-like text based on the prompts they receive. Advanced prompt engineering involves understanding the intricacies of these models and crafting prompts that can extract the desired output.&lt;/p&gt;

&lt;p&gt;For instance, instead of asking ChatGPT, "Tell me about the Eiffel Tower," an advanced prompt might be: "Provide a detailed historical overview of the Eiffel Tower, focusing on its construction and significance."&lt;/p&gt;

&lt;h3&gt;
  
  
  7.2. Multi-turn Conversations: Crafting Follow-up Prompts
&lt;/h3&gt;

&lt;p&gt;ChatGPT can handle multi-turn conversations. This means you can craft prompts that build upon previous interactions. For example:&lt;/p&gt;

&lt;p&gt;User: "Tell me a story about a brave knight."&lt;br&gt;
ChatGPT: "Once upon a time, in a kingdom far away..."&lt;br&gt;
User: "And then what happened?"&lt;/p&gt;

&lt;p&gt;Crafting follow-up prompts requires anticipating user responses and ensuring the model maintains context.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.3. The Art of Elicitation: Getting Specific Answers
&lt;/h3&gt;

&lt;p&gt;Sometimes, you need specific information from ChatGPT. Advanced prompt engineering involves crafting questions that elicit precise answers. For example, instead of asking, "What's the weather like?", you might ask, "What's the current temperature in Paris, and is it expected to rain today?"&lt;/p&gt;

&lt;h3&gt;
  
  
  7.4. Personalizing Prompts for Individual Users
&lt;/h3&gt;

&lt;p&gt;Advanced prompt engineering can also involve personalizing prompts based on user data. For instance, if you know a user is interested in astronomy, you might craft a prompt like, "Given your interest in astronomy, would you like to know about the latest discoveries in the field?"&lt;/p&gt;

&lt;h3&gt;
  
  
  7.5. Adapting Prompts for Voice Assistants and Audio Interfaces
&lt;/h3&gt;

&lt;p&gt;With the rise of voice assistants like Alexa and Google Assistant, there's a need to adapt prompts for auditory interactions. This involves crafting prompts that are concise, clear, and easy to understand when spoken aloud.&lt;/p&gt;

&lt;h3&gt;
  
  
  7.6. Integrating ChatGPT with Other AI Tools and Platforms
&lt;/h3&gt;

&lt;p&gt;Advanced prompt engineering isn't just about ChatGPT. It's about integrating ChatGPT with other AI tools and platforms to create holistic solutions. For instance, you might integrate ChatGPT with a recommendation engine, crafting prompts that ask for book or movie recommendations based on user preferences.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Resources and Tools for Hands-on Practice
&lt;/h2&gt;

&lt;h3&gt;
  
  
  8.1. Prompt Databases: Exploring and Using Repositories
&lt;/h3&gt;

&lt;p&gt;Prompt databases are invaluable resources for anyone diving into the world of prompt engineering. These repositories often contain a wide range of prompts, from simple questions to complex scenarios, that have been tested and refined by the community. Exploring these databases can provide insights into effective prompting techniques and inspire new ideas. For instance, Promptstacks is a popular database that offers a variety of prompts tailored for ChatGPT.&lt;/p&gt;

&lt;h3&gt;
  
  
  8.2. Community Workshops and Collaborative Prompt Crafting
&lt;/h3&gt;

&lt;p&gt;Engaging with the community can significantly enhance your prompt engineering skills. Workshops, webinars, and collaborative sessions provide opportunities to learn from experts, share experiences, and get feedback on your prompts. Platforms like Medium and GitHub often host collaborative projects where enthusiasts come together to craft and refine prompts for specific applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  8.3. Tools and Platforms for Testing and Refining Prompts
&lt;/h3&gt;

&lt;p&gt;Testing and refining are crucial steps in prompt engineering. Several platforms allow users to test their prompts with ChatGPT and other AI models, gather feedback, and make necessary adjustments. For instance, OpenAI's Playground is a popular tool where you can interact with ChatGPT, test your prompts, and see how the model responds in real-time. Additionally, tools like ChatGPT Feedback Loop provide analytics on user interactions, helping prompt engineers understand where their prompts might be falling short and how they can improve.&lt;/p&gt;

&lt;p&gt;Remember, the key to effective prompt engineering is continuous learning and iteration. By leveraging these resources and tools, you can hone your skills, craft better prompts, and unlock the full potential of ChatGPT and other AI models.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Conclusion and Next Steps
&lt;/h2&gt;

&lt;p&gt;Prompt engineering has emerged as a pivotal technique in the world of AI, particularly with models like ChatGPT. As we've journeyed through the intricacies of crafting prompts, understanding their nuances, and applying them in real-world scenarios, it's evident that the art of prompting is both a science and an art.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.1. The Future Landscape of AI Prompting
&lt;/h3&gt;

&lt;p&gt;The future of AI prompting is promising. As AI models become more sophisticated, the need for precise and effective prompts will grow. We can anticipate a shift towards more adaptive models that require less explicit prompting, but the foundational principles of prompt engineering will remain relevant.&lt;/p&gt;

&lt;p&gt;For example, consider a scenario where you're asking ChatGPT for a recipe. Instead of a generic prompt like "Give me a recipe for pasta," imagine a future where the prompt is "Considering I have tomatoes, garlic, and pasta at home, and I prefer a spicy dish, can you suggest a recipe?" The evolution of prompting will move towards more contextual and personalized interactions.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.2. Continuous Learning and Staying Updated
&lt;/h3&gt;

&lt;p&gt;The world of AI is dynamic. New models, techniques, and best practices emerge regularly. For anyone keen on mastering prompt engineering, continuous learning is essential. Engage with AI communities, participate in workshops, and keep experimenting with different prompts. Remember, the best way to learn is by doing.&lt;/p&gt;

&lt;p&gt;Moreover, platforms like OpenAI regularly release updates and research papers. Staying updated with these will provide insights into the latest advancements and how they impact prompt engineering.&lt;/p&gt;

&lt;p&gt;In conclusion, prompt engineering is not just about getting the right answer from an AI model; it's about understanding the model, the user's needs, and crafting a bridge between the two. As we move forward, the role of prompt engineers will become even more crucial in shaping the AI-driven future.&lt;/p&gt;

&lt;p&gt;Thank you for joining us on this journey through the world of ChatGPT and prompt engineering. We hope you found this guide informative and are now equipped with the knowledge and tools to craft effective prompts. Happy prompting!&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>promptengineering</category>
      <category>abotwrotethis</category>
    </item>
    <item>
      <title>Yo.link - A human friendly URL Shortener</title>
      <dc:creator>Tim</dc:creator>
      <pubDate>Sat, 17 Jun 2023 05:15:37 +0000</pubDate>
      <link>https://dev.to/tzador/yolink-a-human-friendly-url-shortener-33o4</link>
      <guid>https://dev.to/tzador/yolink-a-human-friendly-url-shortener-33o4</guid>
      <description>&lt;p&gt;For a while now I had the domain &lt;a href="https://yo.link"&gt;yo.link&lt;/a&gt; sitting around, and I was wondering what to do with it.&lt;/p&gt;

&lt;p&gt;I needed a project that is simple enough to do in couple of weekends, and would also allow me to try out some of the modern tech-stack, that is SvelteKit, Auth.js, Prisma, PostgreSQL and Redis, all running on &lt;a href="https://vercel.com"&gt;Vercel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since &lt;a href="https://yo.link"&gt;yo.link&lt;/a&gt; is pretty short and sounds like "your link", implementing yet another URL shortening service was an obvious choice, but this time with a twist.&lt;/p&gt;

&lt;p&gt;Instead of putting the short-code in the URL path after the &lt;code&gt;/&lt;/code&gt; (like &lt;a href="https://bit.ly/3JkVCZ0"&gt;https://bit.ly/3JkVCZ0&lt;/a&gt;), we will put it in the subdomain part of the link, and let users choose what they want to put there (&lt;a href="https://hn.yo.link"&gt;hn.yo.link&lt;/a&gt; -&amp;gt; &lt;a href="https://news.ycombinator.com/"&gt;https://news.ycombinator.com/&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The motivation here is to create short links that are human friendly, and do not contain cryptic short-codes. Also, subdomain is the first think visitors read in a link, so nice descriptive subdomain names will help users click.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Objective
&lt;/h1&gt;

&lt;p&gt;The goal is to allow users to login into the system, choose a subdomain that they like and choose a destination URL.&lt;br&gt;
They can share the short yo link and will collect stats, on the number of clicks, broken down by hour/day/month, geo country/city, as well as browser type and type of operating system of the user.&lt;/p&gt;

&lt;p&gt;QR codes are also generated if you need to share those.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IhH_JAMj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/70hcz4ex6mjudi05thdz.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IhH_JAMj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/70hcz4ex6mjudi05thdz.jpeg" alt="Image description" width="800" height="929"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zBktZUKJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmtgnztpzbr7vif0t76h.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zBktZUKJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hmtgnztpzbr7vif0t76h.jpeg" alt="Image description" width="800" height="725"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OoHKke_6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4gmwlpz4ij8te3jsmr9c.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OoHKke_6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4gmwlpz4ij8te3jsmr9c.jpeg" alt="Image description" width="800" height="802"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Implementation
&lt;/h1&gt;

&lt;p&gt;SvelteKit was an obvious choice for me, since it can solve all the project needs in one go.&lt;br&gt;
It supports hooks (aka, middleware) which can intercept every request, and if it is a request to subdomain, we can lookup in the db if we have an associated link, and redirect to the destination if needed.&lt;/p&gt;

&lt;p&gt;Auth.js integrates nicely with SvelteKit and that what was used for authenticating users using GitHub, Twitter, Google and email magic link login.&lt;/p&gt;

&lt;p&gt;Prisma+Postgres was used as "master" database, to store the link associations and the users.&lt;/p&gt;

&lt;p&gt;Redis was used for counting stats realtime, every time a click happens, we increment a bunch of counters, which is pretty fast.&lt;/p&gt;

&lt;p&gt;Vercel was used for deployment, since they provide out of the box wildcard subdomain HTTPS certificates, can host SvelteKit project natively, and havfe offering for both PostgreSQL and Redis.&lt;/p&gt;

&lt;h1&gt;
  
  
  Feedback
&lt;/h1&gt;

&lt;p&gt;Any feedback you might have on this side project is very welcome. Thank you&lt;/p&gt;

</description>
      <category>sveltekit</category>
      <category>webdev</category>
      <category>saas</category>
      <category>javascript</category>
    </item>
    <item>
      <title>DevToo</title>
      <dc:creator>Tim</dc:creator>
      <pubDate>Tue, 23 May 2023 17:07:59 +0000</pubDate>
      <link>https://dev.to/tzador/placeholder-title-5880</link>
      <guid>https://dev.to/tzador/placeholder-title-5880</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;A suggestion and search engine for dev.to&lt;/p&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;Wacky Wildcards&lt;/p&gt;

&lt;h3&gt;
  
  
  App Link
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://devtoo.dev/"&gt;https://devtoo.dev/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bwU9olwf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/smlt0dkz90bkytdnbctt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bwU9olwf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/smlt0dkz90bkytdnbctt.png" alt="Image description" width="800" height="737"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6KbzVWvH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p7gwfu7o2219djs5wh0m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6KbzVWvH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p7gwfu7o2219djs5wh0m.png" alt="Image description" width="800" height="738"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;A search engine and suggestion system for articles published on dev.to. Discover with ease related content of dev.to, by searching for topics of interest or by finding articles that relate to a particular one.&lt;/p&gt;

&lt;p&gt;For example if you are reading an article on dev. to with this URL: &lt;br&gt;
&lt;a href="https://dev.to/nikkilopez2/understanding-vector-databases-49n3"&gt;https://dev.to/nikkilopez2/understanding-vector-databases-49n3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;you can change &lt;code&gt;dev.to&lt;/code&gt; to &lt;code&gt;devtoo.dev&lt;/code&gt; like this:&lt;br&gt;
&lt;a href="https://devtoo.dev/nikkilopez2/understanding-vector-databases-49n3"&gt;https://devtoo.dev/nikkilopez2/understanding-vector-databases-49n3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and discover more related content.&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Source Code
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/tzador/devtoo"&gt;https://github.com/tzador/devtoo&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;It is released under MIT License&lt;/p&gt;

&lt;h2&gt;
  
  
  Background (What made you decide to build this particular app? What inspired you?)
&lt;/h2&gt;

&lt;p&gt;When reading articles on dev.to, only 4 related articles are suggested at the end. I wanted a suggestion and search engine that would allow to easily discover related content on dev.to.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it (How did you utilise GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)
&lt;/h3&gt;

&lt;p&gt;GitHub actions where utilised to fetch the fresh content from dev.to by scanning the latest sitemaps. They are run using CROM scheduler and update the database with new content.&lt;/p&gt;

&lt;p&gt;For database I used for the first time PostgreSQL with &lt;code&gt;pgvector&lt;/code&gt; extension, which indexes OpenAI based vector embeddings based on Title, Description and the Tags of articles. This allows to find related articles to a given one in a speedy manner.&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources/Info
&lt;/h3&gt;

&lt;p&gt;Additionally a chrome extension and a bookmarklet has been build, so that with on click you can jump from dev.to article to a list of related ones. They also work on other websites that provide OpenGraph metadata, which can be vectorised and used as a query in our system.&lt;/p&gt;

</description>
      <category>githubhack23</category>
      <category>webdev</category>
      <category>svelte</category>
      <category>ai</category>
    </item>
    <item>
      <title>DevToo.dev Recommendation and search engine for Dev.to articles. (Work in progress submission for GitHub actions hackathon 2023)</title>
      <dc:creator>Tim</dc:creator>
      <pubDate>Sat, 20 May 2023 11:15:25 +0000</pubDate>
      <link>https://dev.to/tzador/devtoodev-recommendation-and-search-engine-for-devto-articles-work-in-progress-submission-for-github-actions-hackathon-2023-3jk1</link>
      <guid>https://dev.to/tzador/devtoodev-recommendation-and-search-engine-for-devto-articles-work-in-progress-submission-for-github-actions-hackathon-2023-3jk1</guid>
      <description>&lt;p&gt;Please take a look at &lt;a href="https://devtoo.dev"&gt;devtoo.dev&lt;/a&gt; where you can find related articles to one another from dev.to&lt;/p&gt;

&lt;p&gt;Helps you explore the dev.to knowledge base by the topics of your interest.&lt;/p&gt;

&lt;p&gt;The tech-stack is SvelteKit for the frontend talking to PostgreSQL via Prisma, everything running on &lt;a href="https://vercel.com"&gt;vercel.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The GitHub Actions are being used to fetch new articles from dev.to , there are 300k articles or so. The size is pretty heavy for Postgres, more then 2G, but it can handle it with ease.&lt;/p&gt;

&lt;p&gt;OpenAI text embedding API is used to vectorise articles metadata and user search queries.&lt;/p&gt;

&lt;p&gt;Bookmarklet and chrome extension are provided, for ease of integration with dev.to&lt;/p&gt;

&lt;p&gt;Since it is work in progress and not an actual submission yet, I really would appreciate early comments and feedback.&lt;/p&gt;

&lt;p&gt;Code is open source and available at &lt;a href="https://github.com/tzador/devtoo"&gt;github.com/tzador/devtoo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>githubhack23</category>
      <category>openai</category>
      <category>postgres</category>
      <category>svelte</category>
    </item>
    <item>
      <title>Use Emojis as Favicons</title>
      <dc:creator>Tim</dc:creator>
      <pubDate>Thu, 27 Apr 2023 00:13:19 +0000</pubDate>
      <link>https://dev.to/tzador/use-emojis-as-favicons-14e3</link>
      <guid>https://dev.to/tzador/use-emojis-as-favicons-14e3</guid>
      <description>&lt;p&gt;&lt;a href="https://emojifavicon.dev/"&gt;https://emojifavicon.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use quickly emojis as favicons for your HTML pages and Websites.&lt;/p&gt;

&lt;p&gt;Just search and copy the html code to head. Handy for your side-projects to replace the default ones.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
    </item>
  </channel>
</rss>
