Building a Document Q&A System with Google Gemini / / No Comments Document summarization is a powerful and pretty darn useful feature of generative AI, but a proper "question and answer" system can really enable users to interact with a document. This is why you see various document viewing apps, like Acrobat, adding these features to their programs. I thought I’d take a look at building such a system via a simple web app to see how difficult it would be, and honestly, it wasn’t that bad. Having this in your own web app, versus an external vendor, gives you more control over the experience as well. Here’s what I built. The Stack The web app lets you drag and drop a PDF into the page, it then renders a preview of the PDF on the left... more → Posted in: JavaScript Tagged with: building, Document, Gemini, Google, system
Building a Web Based Comic Book Reader / / No Comments Ok, so I know I’ve been spending way too much time lately talking about comic books, but I’ve been reading them for roughly 80% of my life now so they’re just a natural part of my life. Now, my best friend Todd Sharp told me this crazy lie that he’s never read a comic book before, but surely that’s a lie. Surely. Earlier this week, I took a look at parsing electronic comic books and sending them to GenAI as a way to get summaries of stories. That was a fun experiment and it actually worked quite well. I thought I’d take a stab at trying a similar approach with Chrome’s Built-in AI support as well when I discovered that… wait… I don’t... more → Posted in: JavaScript Tagged with: based, book, building, Comic, Reader
Building a File-Based Router in BoxLang / / No Comments Earlier this week I took a look at BoxLang’s new rewriting feature (("URL Rewriting with BoxLang MiniServer")[https://www.raymondcamden.com/2025/08/11/url-rewriting-with-boxlang-miniserver]). It basically boils down to telling the miniserver app, "here is a file I want you to run on a 404", and given that you can write code for anything you would like, it’s really flexible. I like this approach, but it got me thinking, what if BoxLang also supported a non-code based rewriting system, something where you can define paths, and rewrites, in a file? I took a stab at architecting such a feature and thought I’d share. My Inspiration My inspiration for this idea... more → Posted in: JavaScript Tagged with: BoxLang, building, FileBased, Router
Building a Comic Book Reader in BoxLang / / No Comments I’ve been a comic book reader for just about the same amount of time as I’ve been writing code. Any computer using comic book reader (and there’s probably quite a few) will know that electronic versions of comics let you read comics on your devices. These comics typically come in one of two formats, CBR and CBZ, which are literally just RAR and ZIP files, nothing more. Over the years, I’ve had fun building my own web-based readers for this format, with my last one from a bit over three years ago, "Reading Comic Books in the Jamstack". I thought it would be fun to tackle this in BoxLang and see what worked well and what proved difficult. I’ve got a complete... more → Posted in: JavaScript Tagged with: book, BoxLang, building, Comic, Reader
Building a CSV Report CLI Tool in BoxLang / / No Comments Remember some time ago (yesterday) when I wrote about CSV parsing in BoxLang using the opencsv Java library and Maven? As I said then, my initial impetus for that post was to recreate my ColdFusion Hackathon project, but once I got it working, it turned out to be really useful for something completely different. The Data If you’re on a desktop machine and look down to your right, you’ll notice I’ve got an ad from from EthicalAds. I’ve been using them as an ad network for a bit over a year now. I’m not going to get rich anytime soon with the money I’ve earned, but it’s the first ad network in a while that felt low key and less "in your face".... more → Posted in: JavaScript Tagged with: BoxLang, building, Report, tool
Building a Jira Search Tool in BoxLang / / No Comments Developers seem to have a love/hate (or perhaps hate/despise) relationship with Jira. I’ve never minded it, but the biggest issue for me is that if I haven’t used it in a while, it can be overwhelming. Yesterday I was thinking about this and wondering if perhaps I could build my own tooling to interact with Jira via an API, if it even had one. Turns out, of course they have an API and it’s not terribly difficult to use. With that in mind, I whipped up a quick tool to search Jira via the command line with BoxLang. Jira API Basics The docs for Jira’s API are pretty good and cover the huge set of operations you can perform with it. Your root API url will be based on your... more → Posted in: JavaScript Tagged with: BoxLang, building, Jira, search, tool
Building a File Search Script in BoxLang / / No Comments My initial blog post on BoxLang used a simple script example to demonstrate how the language can be used to build shell script type utilities and it got me thinking about other ways I could use BoxLang for my own personal tools. A little over three years ago, I blogged about a Python script I built to perform searches, locally, against my blog. My blog content comes from near seven thousand Markdown files and while I’ve got a good client-side search feature, I was curious what I could from the terminal. That script did two things: Index each of the thousands of Markdown files by reading in the content and parsing the filename into a date and path value Taking search input and checking... more → Posted in: JavaScript Tagged with: BoxLang, building, file, Script, search
Building a Web App with BoxLang / / No Comments I’ve been building web apps for thirty years now, which frankly is kind of scary to see explicitly spelled out. For a large chunk of that time I built web apps using an application server, ColdFusion, where my templates would dynamically output HTML (or other formats like JSON) to return to the browser. For my non-ColdFusion readers out there, you can just replace ColdFusion with PHP or ASP and you get the basic idea. Most recently, I’ve spent a lot less time on the server and more on the front-end, but I kept coming back from time to time. Earlier this year I looked at building a simple blog in the Python-based Flask framework. I thought it would be a good exercise to try something... more → Posted in: JavaScript Tagged with: BoxLang, building