Building My Own Social Network Poster in Astro

Today is a big day for Astro, not only do you get Astro v6 (it just released a few hours ago!), you also get one of my demos! Ok, one of these is more important than the other, but, I’m really excited about v6 and hope to have a demo of the new features to share soon. With that being said, I’m also sharing a demo I started work on a few weeks ago and finally wrapped up this past weekend – Social Beast. What is Social Beast Social Beast is a web app meant to be run locally (although I have some thoughts on that restriction and will share at the end) that handles posting to multiple social networks at once. Right now "multiple" is two: Mastodon Bluesky It doesn’t... more →
Posted in: JavaScript

Testing Live Content Collections in Astro V6

Yesterday, Astro V6 formally launched. I say "formally" as it’s been available to test for a little while, but with me still being pretty new to Astro I’ve kept to the main release only. Now that V6 is the default, I thought it was time to dig into it a bit. One feature in particular stood out as being really useful to me – live content collections. One of the reasons I’ve been digging Astro so much is that it nicely straddles the SSG world and Node.js server worlds. When building your app, you can make logical decisions about what should be done at build time versus what should be done dynamically. It’s like having Express and Eleventy rolled into one... more →
Posted in: JavaScript

Dynamically Adjusting Image Text for Contrast

Yesterday I was pleasantly surprised to discover that one of my favorite JavaScript libraries, Color Thief, had gotten a major update. Color Thief examines an image and can tell you the dominant color as well as the five most used colors. I thought this was pretty cool, and over the past, I kid you not, 14 years, I’ve blogged about it a few times: Demo of Color Palettes and PhoneGap – from way back in 2012 Capturing camera/picture data without PhoneGap – in 2013 Drag and drop image matching search at Behance – do people still use Behance? New Camera Hotness from Chrome – "new" as of 2017 Building a Progressive Color Thief – this was me exploring... more →
Posted in: JavaScript

Using Astro for a Combined RSS View and Generator

Ok, before I start, let me just clarify this demo is kind of a remix of my earlier post about building an RSS aggregator in Astro. I did run into some interesting issues this time around though and I figured it was worth a share. At Webflow, our developer docs are separated into different sections per product. For most of our developer products, we’ve got changelogs. So for example, here’s the changelog for our Data APIs and here’s one for our MCP server. We try to be good stewards of our developer community and ensure we document everything as clearly as possible. Each of our changelogs has an RSS feed as well so if you’re using a feed reader, it’s an easy to keep... more →
Posted in: JavaScript

Using Val Town to Get Me to the Movies

My wife and I both love going to the movies, but sometimes a few months will go by without us making it out there. Mostly we just forget what’s coming out and don’t realize till it’s already on a streaming app. I thought it would be nice to build a tool that could help remind me of upcoming movie releases so we can make our theater going more of a consistent habit. To accomplish this, I used the The Movie Database APIs and Val Town. The First Version Before I even considered building a tool like this, I investigated the TMDB reference to see how easy it was to get upcoming releases. Turns out, there’ve got an endpoint just for that: Upcoming Movies If you carefully read... more →
Posted in: JavaScript

ColdFusion Wrappers for Bluesky and Mastodon

It’s been a hot minute since I opened a repo for ColdFusion code, but I thought I’d package up my previous wrapper for Mastodon support, port over my BoxLang Bluesky module, and properly release the code on GitHub for folks who want it: https://github.com/cfjedimaster/coldfusion-social-wrappers Right now I’m using one repo for both Bluesky and Mastodon. Usually I’d separate them, but with the "support" being a grand total of one file each, I figured no one would mind getting the "extra" code if they only care about one. I’ll also note the code is very much focused on posting, not reading data, but part of the reason I wanted to package this up... more →
Posted in: JavaScript

Links For You (2/22/26)

This is where I’d usually comment about how the past two weeks seemed to fly by in a blink, but I’m tired of saying that so… oh crap, too late. To be fair, part of the reason the time flew by this week was me being out of town for my first offsite with Webflow. I got to meet my boss, coworkers, and learn more about our company and what our plans are for the year. I’m really happy I joined Webflow and I’m looking forward to the future. It feels like it’s been a while since I could say that and damn do I appreciate having a good job. An AI Drama in Four Parts This is, to put it bluntly, a pretty crazy story about AI and automation gone wrong. Start off with "An... more →
Posted in: JavaScript

Three Plug-N-Play CSS Libraries

For probably over a decade, when I wanted to make a demo/site look nice and didn’t really care about making it unique, I’d go to Bootstrap. Bootstrap had a nice, clean look and as I was usually employing it for demos, or admin screens, I didn’t care if it looked like every other Bootstrap site. While Bootstrap was mostly simple, it’s also wordy as heck. Bootstrap has an insane love affair with div tags and even a simple Bootstrap page feels like the line number goes up 4X. Again, that’s fine, but I found myself wishing for something a bit simpler. That’s where the frameworks I’m sharing today come in. For the most part, these libraries require little... more →
Posted in: JavaScript
1 2 3 4 5 111