Send me a message in a panel…

On my birthday a few weeks ago, one of things I got was something I’ve wanted to play with for a while, the Divoom Pixoo64 pixel frame. This is pixel art frame you can hang on your wall and with an app, select art, clock faces, and more. It’s fun, although the app itself isn’t my favorite. But – what excites me is that it has an API you can use to change what’s shown on the frame. I actually built a demo of this with Webflow you can see below: Play Video I was thinking about how else I could play with the API and decided to do something a bit risky – build a tool that lets you (yes, you!) send me a message right to my device. How did I do it?... more →
Posted in: JavaScript

Using Val Town and Gemini for Sports Ball Stuff

This is trivial as heck as the kids say, but I really want to explore Val Town more this year and I thought of a great, and simple use for it. Both my wife and I are big Saints fans (this is their year, honest) and attend most of the games. If they’re not playing at home, we’re absolutely watching it on TV. We both really enjoy watching football, but honestly, not enough to watch ESPN and follow the news. I thought – why not simply get a summary of NFL news from the past week and build an automation of it? I had this running in less than ten minutes with Val Town. First, the code makes use of Google’s Node SDK for working with Gemini. I setup my environment variable first... more →
Posted in: JavaScript

Animated video backgrounds via a Web Component and ColorThief

Earlier this year, the epic ColorThief library had a pretty significant update. I blogged about a simple demo I built with it but I was fascinated by one particular demo on their site. The "observe" function in ColorThief lets you monitor a video source and grab the colors at a particular frame. Their demo uses this to create a lovely shadow background of the video. I believe some TVs have this feature as well, and honestly I’d worry that would get annoying, but the ColorThief demo was pretty cool, so I thought I’d try to build it with a web component. The idea would be – take any basic video element and wrap it like so: <video-bgshadow> <video controls width="250">... more →
Posted in: JavaScript

Another Game: My Little Mortal Combat

Hello awesome readers! I’m happy to announce my latest web game, My Little Mortal Combat, a mashup of two epic franchises, My Little Pony and Mortal Kombat. This began as an idea, just the name, that I recorded in Microsoft To Do in September of 2019. Yes, almost seven years ago. It sat there, at the bottom of my ‘idea’ list, until about a month ago when in the shower (not joking), it popped up in my head along with the basic mechanics of how the game would play. Right now the game is just missing one feature (I’d rather not talk about until I figure out how I’m going to do it) but definitely needs some balancing work. I enjoy playing games without knowing the details... more →
Posted in: JavaScript

Links For You (4/26/26)

I was supposed to post this last week (I try to keep to a schedule of every two weeks), but I didn’t get around to it because… nope, that’s it. That’s the reason. Because. And that’s good enough, amiright!?!? The heat is slowly cranking up here in Louisiana and I’m dreading the full on summer, but things do slow down a bit when the kids aren’t in school and that’s something I greatly appreciate. Before getting into this weeks links, I was reminded a few weeks back that my wife actually reads my posts so… hi baby, I love you. Super useful web components FTW – <form-saver> First up is a really simple and really useful web component,... more →
Posted in: JavaScript

Building a Simple Markdown PWA App

While I didn’t share it on the blog, last week I tasked Claude with using Electron to build a Markdown viewer app. It was part test (how well can Claude work with Electron) and part real need – I work with Markdown files all the time but didn’t have a simple "view focused" application for it. I was sure there open source or paid app options out there, but I wanted my own. Claude did a pretty good job (you can see the source here) but one thing stood out to me – the size of the bundled app. I created both a Mac and Windows distribution and both were around 90 megs. That’s not huge of course, but still felt like a lot for what could – in theory –... more →
Posted in: JavaScript

Summarizing Docs with Built-in AI

Back in January of this year, I blogged about on-device summarization of PDFs: Summarizing PDFs with On-Device AI . In that post, I made use of Chrome’s Summary API and PDF.js to create summaries of PDFs completely within the browser. I thought I’d take a look at extending that demo into more document types, specifically Office. And even more specifically – Word, Excel, and PowerPoint. Here’s what I came up with. officeParser FTW So here comes the fun part. Last weekend I had this demo completely done using a few different libraries. Then – earlier this week one of the developer newsletters I subscribe to shared officeParser. This nifty library handles Office, PDF,... more →
Posted in: JavaScript

Testing OCR with Chrome Built-in AI

Sorry for the lack of posting this month. I’m on the way back home from speaking at CodeStock so I’ve been on the road a bit, and work has been incredibly busy (which is good!) so my usual blog cadence has slipped a bit. Luckily I had a great question in my session on Chrome’s Built-in AI which led to a bit of investigating last night. The question involved how well Chrome’s AI could do OCR on an image. I had a demo in my presentation showing using AI to describe an image and another to generate a list of tags, but not one specifically for OCR. Here’s what I found. Oh, before I get into the code – remember that as of the time I’m writing this, the Prompt... more →
Posted in: JavaScript
1 2 3 111