<?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>Forem: Najea Reghabi</title>
    <description>The latest articles on Forem by Najea Reghabi (@najeeaa).</description>
    <link>https://forem.com/najeeaa</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%2F3290125%2Fa711febe-d6fa-4308-a3dc-6f58815276e1.png</url>
      <title>Forem: Najea Reghabi</title>
      <link>https://forem.com/najeeaa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/najeeaa"/>
    <language>en</language>
    <item>
      <title>Image Creator</title>
      <dc:creator>Najea Reghabi</dc:creator>
      <pubDate>Sat, 26 Jul 2025 00:47:39 +0000</pubDate>
      <link>https://forem.com/najeeaa/image-creator-4p9n</link>
      <guid>https://forem.com/najeeaa/image-creator-4p9n</guid>
      <description>&lt;p&gt;What I Built&lt;br&gt;
I set out to build a fun, interactive web application called the "On-demand Coloring Page Creator." The app allows a user to type in any theme (like "dinosaurs" or "space adventure"), and using AI, it generates a unique, black-and-white, line-art coloring page ready to be printed or saved.&lt;/p&gt;

&lt;p&gt;I used a two-step conversational process in Google AI Studio to create the app:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Initial Prompt:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Create a web application called 'Coloring Page Creator'. The design must be clean and user-friendly. The app needs a main title, a text input field for a theme with the placeholder text 'What do you want to color today?', and a primary button that says 'Generate Page'. When the button is clicked, it must call an image generation API to create a 'black and white, minimalist, clean line-art, coloring book page' based on the user's theme. While generating, show a 'Loading...' message. Then, display the generated image."&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Refinement Prompt:
I then used the iterative chat feature to improve the user experience with this follow-up prompt:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"Great. Now add three example buttons under the text input with the themes 'Fantasy Forest', 'Ocean Life', and 'Space Adventure'. Clicking a button should fill the text input with that theme."&lt;br&gt;
Demo&lt;br&gt;
Here is the link to the fully deployed and working application on Google Cloud:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://app-303402048936.us-west1.run.app" rel="noopener noreferrer"&gt;Try the Live Coloring Page Creator Here!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My Experience&lt;br&gt;
This track was an incredible, hands-on journey into the realities of web development with AI. My key takeaways weren't just about using the tool, but about solving real-world developer problems.&lt;/p&gt;

&lt;p&gt;API Keys are Serious Business: My biggest lesson was in API Key management. I learned not only how to generate a key but the critical importance of keeping it secret. I now understand that posting a key publicly is a major security risk, and it's a lesson I will carry through my entire development career.&lt;br&gt;
Local vs. Live is a Huge Hurdle: I spent a lot of time debugging why my app wouldn't work when run from a local file. This taught me a fundamental web concept: browser security policies (CORS) prevent local files from making API calls. The solution—using a local server or deploying the app to the cloud—was a major "aha!" moment. It's the difference between a file on a hard drive and a real application on the internet.&lt;br&gt;
AI as a Debugging Partner: What was most surprising was how the process of the AI failing actually helped me learn. By seeing the errors and working through them step-by-step, I gained a much deeper understanding of the underlying technology than if it had just worked perfectly on the first try.&lt;/p&gt;

</description>
      <category>deved</category>
      <category>learngoogleaistudio</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
