PROJECTS

Occasionally, I’ve had an idea for an app or extension that I wish existed. While I was a CS major for a brief time in college, I’m not really a developer. Sometimes I share ideas with others or ask around for someone to help me make something. But with the advent of AI-assisted vibe-coding, I’m now able to knock out some of these simple projects ‘on my own.’

These are projects I build for myself, and share them in case someone else could find them useful. Use them if you want. Tell others if you like them. But don’t worry, I know they’re rough around the edges. It’s just been a great way for me to bring some ideas to life and to build some new skills using AI at the same time.


Memory Jogger for LinkedIn

While I continue hunting for a new full-time role in early 2026, I am doing a lot more networking. A LOT more. But let’s face it: my memory for faces is pretty good, but my memory for how/where I know a person isn’t always so great.

I’ve needed a way to remind myself of how I know various people when I see them posting about opportunities or interesting topics on LinkedIn. But LinkedIn doesn’t make it easy. They bury the info for when you connected with someone, and they don’t provide any way of jogging your memory for how/why you connected with someone. There were also a few extensions out there that offered to help with the problem, but none had the feature set that I was looking for:

  • Free,
  • No account setup (or storing data on someone else’s server), but that syncs notes across devices
  • Shows notes easily in the feed with little action

Some had 1 or 2 features, but I couldn’t find one that did them all.

So I decided to solve that problem. I’ve been using the extra time between full-time roles to build skills in new areas, including using AI to code new tools and applications.

Introducing: Memory Jogger for LinkedIn (see GitHub page to view source, make suggestions, etc)

A free Chrome extension that lets you make notes for yourself on anyone’s profile. The notes will be visible only to you, stay securely locked and encrypted in your Chrome profile, and sync across your devices.

Note: I welcome feedback and bug reports, but I can’t promise I will always be able to fix any issues. Like many extensions that modify/alter elements on another website, I am at the mercy of LinkedIn’s web team and how they might change page elements, which could end up breaking this tool. I’ll fix it when I can, but offer no warranty or assurances that this tool will always work.

Also: Reviews on the Chrome Store listing are appreciated!


ShutterQueue – Universal Uploader for Photographers

I’ve been an amateur/semi-pro photographer for a long time, and I’ve enjoyed participating in various photography platforms online over the decades. But I’ve found it frustrating that most photo-sharing sites have very poor tools for managing and queuing uploads for large batches of files.

  • Free!
  • Able to queue downloads, schedule them, and upload in batches.
  • Set titles, descriptions, tags, geo, and other metadata once, then have each platform use the data it needs/can use.
  • Support as many open platforms as possible, including specific features like Flickr groups, moderation/safety levels, and other advanced features.

Supported platforms:

  • Flickr (full feature support: titles, descriptions, tags, groups, albums, privacy, safety, location tagging)
  • Tumblr (with blog selection, post vs queue, content maturity labels, and privacy controls)
  • Bluesky (with threaded long-post support)
  • Mastodon (with instance selection and privacy-aware behavior)
  • PixelFed
  • Lemmy Communities (stability and instance-level support are a little shaky)

Summary of Key Features

  • Multi-platform posting with target selection
    • Upload to any combination of Flickr, Tumblr, Bluesky, Mastodon, and PixelFed
    • Choose different platforms for each queued photo
    • Capability-aware warnings: unsupported features on selected platforms are called out without blocking the upload
    • Partial success handling: if one platform fails, others still upload
    • See group/community size for Flickr & Lemmy (member/photo count) at a glance
  • Rich metadata and content composition
    • Add title, description, and tags (individually or in batches)
    • Save and reuse custom tag sets, Lemmy community sets, Flickr group sets, and Flickr album sets
    • Per-platform post-text composition modes (merge title/description/tags, title-only, etc.)
    • Optional description-as-alt-text for accessibility across platforms
    • Platform-specific safety/mature content labeling (maps to each platform’s conventions)
    • Automatic hashtag insertion option for all uploads
  • Advanced geotagging and location privacy
    • Search and set upload location using OpenStreetMap/Nominatim
    • Separate privacy controls for photo content and location data
    • Automatic Flickr geo accuracy mapping
    • Location-aware warnings when uploading to platforms without location support
  • Advanced scheduler with flexible batching
    • For Flickr: Auto-retry for adding photos to groups when user hits the group’s limit of photos per day/week/month
    • Set photo queue to upload every X number of hours (from 1 hour to 1 week)
    • Only upload on specific days of the week or times of day
    • Process in batches of X photos at a time (ex: upload 3 photos every 24 hours)
    • Manually schedule any photo for a specific upload time and date
    • Queue respects manual scheduling chronologically
    • Can be minimized to system tray (Windows) or Menu Bar (Mac) and run silently in the background
  • Queue management and reliability
    • Content-based duplicate detection warns when adding the same file (by SHA-256 hash, not filename)
    • Export full queue to JSON for backup; import later with merge or replace options
    • Duplicate detection runs after import to flag new collisions immediately
    • Automatic image caching for fast queue navigation with hundreds of photos
    • Thumbnail auto-regeneration after queue operations

I’m hoping to add more platforms as we go, but most other platforms (Instagram/Threads/Facebook, Pinterest, Reddit, etc) require fees and/or additional hoops for apps to post, which I’m not ready for yet.