Building a Simple Markdown PWA App / / No Comments 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 Tagged with: building, Markdown, simple
Summarizing Docs with Built-in AI / / No Comments 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 Tagged with: Builtin, Docs, Summarizing
Testing OCR with Chrome Built-in AI / / No Comments 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 Tagged with: Builtin, Chrome, Testing
Links For You (4/5/26) / / No Comments Happy "Three Days Before My Birthday Day"! Oh – yeah, and happy Easter too, but I’m personally a bit more excited about turning 53 as I’ve decided that’s when I’m going to grow up and act like a mature adult. Probably. Maybe. We’ll see. Now, if you, my lovely and incredibly intelligent reader, are feeling generous and you’ve gotten some good knowledge (or entertainment) from this blog, I’ll use today’s Links For You post to remind you of my Amazon Wishlist. Or even cheaper, leave me a comment below saying HBD – that’s just as good. 😉 Everything old is new again… First up is a blog post on an old topic but one... more → Posted in: JavaScript Tagged with: 4/5/26, links
You’ve gained a new achievement / / No Comments For the past month or so I’ve been obsessed with a book series that’s apparently been popular and I just didn’t realize – Dungeon Crawler Carl. Without giving too much away, it’s basically about a person, and his glorious cat, who get caught up in a real world RPG. I’m currently on book 3 (of 8) and am enjoying every page of it. It’s incredibly funny and cool at the same time. If you haven’t checked it out yet, I highly recommend picking up the first book and giving it a shot. I don’t think you’ll regret it. As I mentioned, the book series involves a man (and his cat, the cat is crucial) experiencing a real-world RPG and like a RPG,... more → Posted in: JavaScript Tagged with: achievement, gained, You've
Checking if a Movie has a Post or Mid Credit Scene / / No Comments Tell me if you done this before – you’re sitting in a movie theater after it’s ended and want to know if you should stay for a mid, or post-credit scene (also called a stinger). You open your phone, google, and end up a web page that has five gigs of ads or so and then thirty to forty paragraphs of text talking about the movie before they finally get around to actually answering the question. Yeah, I hate that too. I always tell myself, next time I’ll google ahead of time so I’ll know before going in, but I never do. If this bugs you, I built a web app that literally only tells you if the movie has these stingers – and nothing more. No context, no description... more → Posted in: JavaScript Tagged with: Checking, credit', Movie, Post, Scene
Links For You (3/22/26) / / No Comments I just shared this on my socials, but this weekend is one of those rare ones where I got not one, but two days of decent sleep, and honestly my body doesn’t even know what to think about it. "Rested" is some foreign concept that is both confusing and incredibly appreciated by my body. I’d love to say I’m going to take this well rested state and get loads of things done, but outside of this post and laundry, I don’t plan on accomplishing anything else of note. Groovy Pretty Maths It was in college when I discovered "good at math" in high school means absolutely nothing when you start going beyond basic calculus, so with that in mind, I don’t understand... more → Posted in: JavaScript Tagged with: 3/22/26, links
Two bots walk into a bar… / / No Comments My regular readers know I like to have fun with my demos. I’ll illustrate some API, framework, technique, with perhaps a somewhat silly example as a way of introducing you to something I’ve learned recently that I thought was cool. My hope is that you see me demonstrating something useful in (perhaps) an less than useful demo that helps you apply it to a real world need. Today’s post is not that. Rather, this is a completely silly, useless example and if you have any common sense, you’ll stop reading now. Still here? Good. Many, many years ago a man named Joseph Weizenbaum designed a natural language conversation program named ELIZA. It was not AI, but rather a program... more → Posted in: JavaScript Tagged with: bar..., bots, into, Walk