Steve Simkins

Hand Crafted Weather

Showers And Thunderstorms 73°FLookout Mountain, TN

now-weather.png

This weekend I found myself itching to code something, but not with AI. I’ve been slowly trudging through a course where you build HTTP from TCP in Go, which has been good, but lacks the drive that small project brings. I still wanted to do something in Go, and then I remembered a small little feature I wanted to bring to Posts; a little weather badge inspired by Vrypan. It’s a small and rather useless feature, but I like it so ¯_(ツ)_/¯

Overall this was not that complicated; just basic DB operations and API calls, but the act of writing it all out and thinking through each piece was so cathartic. Everything from breaking down the UX, finding the right API, writing the table migrations, all of it just made me slow down and really think through every section that needed updating. I thoroughly enjoyed each piece.

Could AI have done this much faster? Absolutely, but I would have missed out on a relaxing little puzzle to solve. I still have to use AI regularly on the job, but on the weekends, it’s fun to set a little challenge that brings a small piece of life to your website.

For those interested, here are some details on the approach I took:

  • My Posts app works a lot like bearblog, and I wanted the weather to be something like a frontmatter attribute that could be customized or auto-populated via an API request.

  • Went with a pretty basic CSV pattern: {conditions},{temperature},{city},{state}. This made the DB entry a single string, and parsing pretty straight forward.

  • I used api.weather.gov for the cases where the field was not manually entered. While not the most ergonomic, the API is free which I will not complain about. Does take a little parsing to get what I wanted into the CSV value.

  • Since all my Posts data is accessed via API on my /now page, I was able to add another simple attribute and parsing method for icons to build a nice little widget on both individual posts with the attribute, but also the index /now page.

As usual, all the code is open source

Would highly recommend taking some time to build with your hands in the age of fast paced AI. Unplug, slow down, and grow.