<?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: Glen Hobby</title>
    <description>The latest articles on Forem by Glen Hobby (@glen_talking_cat).</description>
    <link>https://forem.com/glen_talking_cat</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%2F3461877%2F704e3921-f975-4458-b1e7-f216c102f3c9.jpg</url>
      <title>Forem: Glen Hobby</title>
      <link>https://forem.com/glen_talking_cat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/glen_talking_cat"/>
    <language>en</language>
    <item>
      <title>WeatherWise</title>
      <dc:creator>Glen Hobby</dc:creator>
      <pubDate>Tue, 30 Dec 2025 23:58:56 +0000</pubDate>
      <link>https://forem.com/glen_talking_cat/weatherwise-2c7</link>
      <guid>https://forem.com/glen_talking_cat/weatherwise-2c7</guid>
      <description>&lt;p&gt;&lt;em&gt;This is my submission for the &lt;a href="https://dev.to/challenges/mux-2025-12-03"&gt;DEV's Worldwide Show and Tell Challenge Presented by Mux&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What I Built&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hi,&lt;br&gt;
I've built a weather app but with a difference.  Weather websites are  boring and tend to throw as much data at the user as possible, making site navigation complicated, confusing and &lt;strong&gt;definitely&lt;/strong&gt; not fun.  I asked myself, "What if weather forecasting was actually fun - and so I built WeatherWise".&lt;br&gt;
WeatherWise provides localised weather forecasting presented in a colorful and fun way.  Weather alerts can be set up along with graphs of weather data.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;My Pitch Video&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here is my pitch video&lt;br&gt;


&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://player.mux.com/clIemBH3z3GmJfQBvNhrp7Tgiej8h3gtZIKqerPL5K00?metadata-video-title=WeatherWise&amp;amp;amp%3Bvideo-title=WeatherWise" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage.mux.com%2FclIemBH3z3GmJfQBvNhrp7Tgiej8h3gtZIKqerPL5K00%2Fthumbnail.webp" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://player.mux.com/clIemBH3z3GmJfQBvNhrp7Tgiej8h3gtZIKqerPL5K00?metadata-video-title=WeatherWise&amp;amp;amp%3Bvideo-title=WeatherWise" rel="noopener noreferrer" class="c-link"&gt;
            Mux Player
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fplayer.mux.com%2Ffavicon.ico"&gt;
          player.mux.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Demo&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here is link to the live demo - have fun!&lt;br&gt;
&lt;a href="https://mighty-wave-38776-69ef4ef4d5ec.herokuapp.com/html/index.html" rel="noopener noreferrer"&gt;https://mighty-wave-38776-69ef4ef4d5ec.herokuapp.com/html/index.html&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Story Behind It
&lt;/h2&gt;

&lt;p&gt;I love surfing and spend a lot of time on weather websites watching weather data.  Pretty much universally these sites suck.  Recently, our government (Australia) released a new version of their weather bureau's website and this was almost universally canned by the general public.  Comments like hard to follow, difficult to find relevant information.  I just thought the site looked awful.&lt;br&gt;&lt;br&gt;
The pain point for me was "I hate looking at horrible weather sites and having to navigate through far too much, complex data".  Perhaps this is just the way it has to be as there is a lot of data associated with weather.  But I kept asking myself, does it really have be this way?  Can't it be fun and still provide weather information.  This was the motivation behind creating WeatherWise.  &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Technical Highlights&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;It's built on Node.JS with the usual HTML,CSS and JavaScript.  I've used Google maps so the user can select a weather location.  Open-Meteo for weather API calls along with rate limiting.  There are weather alerts that will email an alert and graphs to create visual presentations of data. I try and match the background colors to the weather.  There's even an Easter Egg if the weather conditions are right!  &lt;/p&gt;

&lt;p&gt;Enjoy&lt;br&gt;
Glen Hobby&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>muxchallenge</category>
      <category>showandtell</category>
      <category>video</category>
    </item>
    <item>
      <title>Code Yourself</title>
      <dc:creator>Glen Hobby</dc:creator>
      <pubDate>Sun, 19 Oct 2025 07:01:51 +0000</pubDate>
      <link>https://forem.com/glen_talking_cat/code-yourself-1071</link>
      <guid>https://forem.com/glen_talking_cat/code-yourself-1071</guid>
      <description>&lt;p&gt;The birth of AI chatbots magicked me into a universe of self creation I could, up to now, find only in distant sci fi worlds.  Prose became my Javascript and I swam deep in the ocean of natural language to find my muse.  &lt;/p&gt;

&lt;p&gt;But inspiration isn’t enough — I had to translate wonder into working code.  So, in the last month or so, I've created many Chatbots exploring how an API works.  I barely knew this acronym yet now it became my midwife to access the different AI models.  I had to learn that each AI vendor builds their API just different enough that your code will break and break till the point that you are almost breaking until you learn exactly the semantics of each API call.  Refactoring an API call is a hidden rock that will surely sink any ship if not carefully managed.  I briefly explored RAG extending my Chatbot's capabilities to access local documentation.  &lt;/p&gt;

&lt;p&gt;I learnt why the JavaScript await operator exists — because code, like life, doesn’t always run on schedule.  Every API has its own dialect, and I kept breaking things until I finally learned to listen.  This was all new learnings for me.  At times a painful birthing process as repeatedly I would be baffled by code errors that my VS Code AI editor (Github CoPilot and then Claude) couldn't lead me out of.  The try catch block and console.log method were my life preservers in a wild and stormy sea of baffling code. &lt;/p&gt;

&lt;p&gt;I had fun writing image and video generation apps that used AI to create anything I could type.  I created my own versions of Midjourney and NightCafe and watched in awe as fearsome war ships flew across the screen that only minutes ago had been text from my fingers.  Every line of code felt like another verse in the song of coding myself into being.&lt;/p&gt;

&lt;p&gt;My recent creation addresses an ongoing problem I was finding.  Repeatedly I was asking the same question to many different AI models.  Despite what OpenAI might tell you, there is not one AI model for all usages.  ChatGPT is not my only friend.  There are so many others out there I can befriend too.  From one prompt, why can't I ask the same quesiton to all my friends and then pick and choose the answer I want?&lt;/p&gt;

&lt;p&gt;And so Claude and I dived deeply into creating an app that enables this.  Of course I had to learn what Electron is and then it required a database to save results.  Which one to use?  I learnt how to use Supabase and what a schema is.  I learnt about authentication and user priveledges.  &lt;/p&gt;

&lt;p&gt;Resilience builds from the many challenges life's stumbling journey brings.  Time has weighed it's heavy hand on me as I have a full time job and a family.  Sorrow and loss were the demon shadows that chased me along this keyboard highway as both my parents, mother in law and family dog have now passed away.  I was stood down from my job for two weeks.  In that quiet space left by loss, I found solace in creation. Coding wasn’t just learning — it was healing.&lt;/p&gt;

&lt;p&gt;Claude and I worked together all day with only YouTube's coding techno music to set the brain wave pattern. &lt;/p&gt;

&lt;p&gt;Now my app is nearing completion and we have the ability to send a prompt off to multiple AI agents.  This has been my journey of not just learning about colloborative coding between myself and my friends the AI agents, but what might be possible for any of us to create what we can imagine.  In learning to code machines, I was really learning to code myself.  This has been more than a coding journey — it’s been a remix of my own life. In coding with AI, I didn’t just build apps. I coded myself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05gc2qe2laia05qp4bpq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05gc2qe2laia05qp4bpq.png" alt=" " width="800" height="585"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0vdr5648qxk2ela55jlm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0vdr5648qxk2ela55jlm.png" alt=" " width="800" height="526"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5vei3wxqfv4s6difhyx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5vei3wxqfv4s6difhyx.png" alt=" " width="800" height="996"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
