Building a Chat Integration with Google Gemini

It’s been on my queue to investigate how to use Generative AI in a ‘chat’ interface versus "one prompt and answer" mode for some time and today I finally got a chance to check it out. I’ll share my thoughts below, but once again I want to thank Allen Firstenberg for his help while I worked through some issues. As always, take what I’m sharing as the opinion of a developer still very new to this space. Any mistakes are my fault! What is GenAI chat? # Specifically, what is chat when it comes to generative AI? Nothing. Seriously. All ‘chat’ is taking your initial prompt, getting the result, then taking your next prompt and appending it. So for... more →
Posted in: JavaScript

Building a Generic RSS Parser Service with Cloudflare Workers

About once every three months I’ll write a quick JavaScript demo and attempt to fetch someone’s RSS feed… and then remember that the vast majority of RSS feeds don’t specify a CORS header to allow remote scripts to load them. I know this – and yet I still tend to forget. I thought it would be kind of fun to build a serverless API via Cloudflare Workers to handle loading, parsing, and returning a RSS feed with CORS allowed. I figured this would be pretty easy, but I ran into a snag right away. Workers and NPM Modules # Cloudflare Workers is Node.js compatible… with some issues. Cloudflare has a documentation page on it addressing what you may run into, and for... more →
Posted in: JavaScript

Building an API to List Cloudinary Images in a Folder

I was preparing to work on a Cloudinary and Apline post when I realized I needed something before I could build that demo – a list of images in a Cloudinary folder. While this is directly supported by their SDKs and REST APIs, I needed something that could be used in a public-facing web application. So with that in mind, I turned to Pipedream to build a serverless endpoint. Here’s how I did it. Raymond Camden… more →
Posted in: JavaScript

Building a Web View of a Public Google Drive Folder

I’m working on a project to help with local initiatives and as part of that effort, I needed to look into creating a nice way to display, make available, etc., files stored in Google Drive. Google Drive lets you make a folder public, and to be honest, the interface isn’t too hard to use. I’ve got a folder you can open yourself at https://drive.google.com/drive/folders/1FYLaoscxWBV_BU5sFouf7XCrv7cKktBY?usp=sharing. Here’s how it looks if you don’t want to click. Raymond Camden… more →
Posted in: JavaScript

Building a Web-Based Badge Scanner

I’m at a conference now working a booth (well, at least when I started writing this), and I really didn’t realize how much I enjoyed this part of the job. While I’ve attended a few conferences post COVID (err, well, "post" may be too strong of a word), this is the first booth I’ve worked at in years. One of the first things I did when I arrived was check and see how we were going to get contacts via badge scanning. Not surprisingly, the conference organizers suggested a native app. Me being me – I immediately thought of how the app’s features could be accomplished via the web. There’s nothing wrong with the... more →
Posted in: JavaScript

Building Table Sorting and Pagination in Alpine.js

A few months back, I realized that one of my most popular blog posts (Building Table Sorting and Pagination in Vue.js) would be an excellent opportunity to update for a more plain (or vanilla if you will) JavaScript version. That post (Building Table Sorting and Pagination in JavaScript) was pretty fun to write. As much as I enjoyed using Vue over the past few years, I find myself more and more trying to rely less on external frameworks and sticking to simpler methods of getting things done. That being said… I am also really intrigued by Alpine.js. Raymond Camden… more →
Posted in: JavaScript
1 2